import { AnalyticsConfig, UserProperties, ClickEvent } from '../types';
export declare class AnalyticsClient {
    private config;
    private httpClient;
    private sessionData;
    private eventQueue;
    private isOnline;
    private flushTimer;
    constructor(config: AnalyticsConfig);
    private initializeSession;
    private generateSessionId;
    private setupEventListeners;
    private setupAutoTracking;
    private startPeriodicFlush;
    track(eventName: string, properties?: Record<string, any>): Promise<void>;
    trackPageView(url?: string, title?: string): Promise<void>;
    trackClick(data: Omit<ClickEvent, 'type' | 'timestamp' | 'userId' | 'sessionId'>): Promise<void>;
    identify(userId: string, properties?: UserProperties): Promise<void>;
    private sendEvent;
    private queueEvent;
    private flushQueue;
    getSessionId(): string;
    getUserId(): string | undefined;
    destroy(): void;
}
