declare class Analytics { private config; private storage; private transport; private userId; private anonymousId; private traits; private readyCallbacks; private isReady; private queue; private flushTimer; constructor(options?: AnalyticsOptions); load(writeKey?: string, options?: AnalyticsOptions): void; ready(callback: () => void): void; private processReadyCallbacks; track(event: string, properties?: Record, options?: Record): void; identify(userId?: string, traits?: Record, options?: Record): void; page(category?: string, name?: string, properties?: Record, options?: Record): void; group(groupId: string, traits?: Record, options?: Record): void; alias(userId: string, previousId?: string, options?: Record): void; user(): User; reset(): void; flush(): void; private buildBasePayload; private enqueue; } declare const analytics: Analytics; export default analytics; declare interface AnalyticsOptions { writeKey?: string; host?: string; flushAt?: number; flushInterval?: number; debug?: boolean; storagePrefix?: string; userIdKey?: string; anonymousIdKey?: string; traitsKey?: string; useBeacon?: boolean; timeout?: number; retries?: number; retryDelay?: number; } declare interface User { id(): string | null; anonymousId(): string; traits(): Record; } export { }