import { BaseApiClient } from '../base/BaseApiClient'; import type { RecordPageViewInputDto, RecordPageViewOutputDto, RecordEngagementInputDto, RecordEngagementOutputDto, AnalyticsDashboardDto, AnalyticsMetricsDto, } from '../../dtos'; /** * Analytics API Client * * Handles all analytics-related API operations. */ export class AnalyticsApiClient extends BaseApiClient { /** Record a page view */ recordPageView(input: RecordPageViewInputDto): Promise { return this.post('/analytics/page-view', input); } /** Record an engagement event */ recordEngagement(input: RecordEngagementInputDto): Promise { return this.post('/analytics/engagement', input); } /** Get analytics dashboard data */ getDashboardData(): Promise { return this.get('/analytics/dashboard'); } /** Get analytics metrics */ getAnalyticsMetrics(): Promise { return this.get('/analytics/metrics'); } }