import type { ApiResponse, PaginatedResponse, BehavioralEvent, DashboardData, ProductAffinity, CustomerJourneyStep, SearchQuery, CartAbandonment, ConversionFunnel, CustomerSegmentation, CampaignPerformance, DeviceAnalytics, LocationAnalytics, EventStats, EventQueryParams, DateRangeParams } from '../types'; declare class AnalyticsClient { private cache; private cacheTTL; /** * Get cached data or fetch from API */ private getCached; /** * Clear cache */ clearCache(key?: string): void; /** * Get comprehensive dashboard data */ getDashboard(params?: DateRangeParams): Promise>; /** * Get behavioral events with filtering and pagination */ getEvents(params?: EventQueryParams): Promise>>; /** * Get event statistics */ getEventStats(params?: DateRangeParams): Promise>; /** * Get products frequently viewed together */ getProductAffinity(productId: number, limit?: number): Promise>; /** * Get complete customer journey for a session */ getCustomerJourney(sessionId: string): Promise>; /** * Get most popular search queries */ getTopSearches(params?: DateRangeParams & { limit?: number; }): Promise>; /** * Get cart abandonment rate and statistics */ getCartAbandonment(params?: DateRangeParams): Promise>; /** * Get conversion funnel (views -> cart -> checkout -> order) */ getConversionFunnel(params?: DateRangeParams): Promise>; /** * Get customer segmentation by engagement level */ getCustomerSegmentation(params?: DateRangeParams): Promise>; /** * Get performance metrics for a specific marketing campaign */ getCampaignPerformance(campaign: string, params?: DateRangeParams): Promise>; /** * Get analytics by device type, browser, and platform */ getDeviceAnalytics(params?: DateRangeParams): Promise>; /** * Get analytics by country and city */ getLocationAnalytics(params?: DateRangeParams): Promise>; /** * Helper: Get today's date range */ getTodayRange(): DateRangeParams; /** * Helper: Get last N days date range */ getLastNDaysRange(days: number): DateRangeParams; /** * Helper: Get this month's date range */ getThisMonthRange(): DateRangeParams; /** * Helper: Get last month's date range */ getLastMonthRange(): DateRangeParams; /** * Batch fetch multiple analytics endpoints */ getBatchAnalytics(params?: DateRangeParams): Promise<{ dashboard: DashboardData | undefined; stats: EventStats | undefined; cartAbandonment: CartAbandonment | undefined; conversionFunnel: ConversionFunnel | undefined; segmentation: CustomerSegmentation | undefined; deviceAnalytics: DeviceAnalytics | undefined; locationAnalytics: LocationAnalytics | undefined; }>; } export declare const analyticsClient: AnalyticsClient; export {};