export declare type Context = Record; export interface AnalyticsClientOptions { collectorUrl: string; clientId?: string; baseContext?: Context; maxBatchSize?: number; idleTimeout?: number; } export declare class AnalyticsClient { readonly options: AnalyticsClientOptions; private eventBatch; private idleCallbackId; private waitTimerId; constructor(options: AnalyticsClientOptions); get collectorUrl(): string; get clientId(): string; private get maxBatchSize(); private get idleTimeout(); private createEvent; sendPageView(context?: Context): void; sendEvent(type: string, context: Context): void; sendBatchedEvent(type: string, context: Context): void; flushBatch(): void; destroy(): void; private scheduleFlush; private cancelScheduledFlush; private onVisibilityChange; private boundFlush; private send; }