import { BaseApiClient } from '../base/BaseApiClient'; import { RecordPageViewOutputDTO } from '../../types/generated/RecordPageViewOutputDTO'; import { RecordEngagementOutputDTO } from '../../types/generated/RecordEngagementOutputDTO'; import { GetDashboardDataOutputDTO } from '../../types/generated/GetDashboardDataOutputDTO'; import { GetAnalyticsMetricsOutputDTO } from '../../types/generated/GetAnalyticsMetricsOutputDTO'; import { RecordPageViewInputDTO } from '../../types/generated/RecordPageViewInputDTO'; import { RecordEngagementInputDTO } from '../../types/generated/RecordEngagementInputDTO'; /** * 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'); } }