/**
 * 分析事件类型
 */
export type AnalyticsEventType = 'pageview' | 'click' | 'custom' | 'error' | 'performance';
/**
 * 分析事件
 */
export interface AnalyticsEvent {
    /**
     * 事件类型
     */
    type: AnalyticsEventType;
    /**
     * 事件名称
     */
    name: string;
    /**
     * 事件属性
     */
    properties?: Record<string, unknown>;
    /**
     * 时间戳
     */
    timestamp?: number;
}
/**
 * 分析配置
 */
export interface AnalyticsConfig {
    /**
     * 是否启用分析
     */
    enabled?: boolean;
    /**
     * 采样率 (0-1)
     */
    sampleRate?: number;
    /**
     * 是否匿名化数据
     */
    anonymize?: boolean;
    /**
     * 事件上报回调
     */
    onEvent?: (event: AnalyticsEvent) => void;
    /**
     * 批量上报回调
     */
    onBatch?: (events: AnalyticsEvent[]) => void;
    /**
     * 批量上报大小
     */
    batchSize?: number;
    /**
     * 批量上报间隔（毫秒）
     */
    batchInterval?: number;
}
/**
 * 分析服务类
 */
export declare class AnalyticsService {
    private config;
    private eventQueue;
    private batchTimer;
    constructor(config?: AnalyticsConfig);
    /**
     * 启动批量上报定时器
     */
    private startBatchTimer;
    /**
     * 停止批量上报定时器
     */
    private stopBatchTimer;
    /**
     * 记录事件
     */
    track(event: Omit<AnalyticsEvent, 'timestamp'>): void;
    /**
     * 记录页面浏览
     */
    trackPageView(page: string, properties?: Record<string, unknown>): void;
    /**
     * 记录点击事件
     */
    trackClick(element: string, properties?: Record<string, unknown>): void;
    /**
     * 记录自定义事件
     */
    trackCustom(name: string, properties?: Record<string, unknown>): void;
    /**
     * 记录错误事件
     */
    trackError(error: Error, properties?: Record<string, unknown>): void;
    /**
     * 记录性能事件
     */
    trackPerformance(metrics: Record<string, number>, properties?: Record<string, unknown>): void;
    /**
     * 匿名化属性（使用深度脱敏）
     */
    private anonymizeProperties;
    /**
     * 刷新队列（批量上报）
     */
    flush(): void;
    /**
     * 启用分析
     */
    enable(): void;
    /**
     * 禁用分析
     */
    disable(): void;
    /**
     * 销毁服务
     */
    destroy(): void;
}
/**
 * 初始化默认分析服务
 */
export declare function initAnalytics(config?: AnalyticsConfig): AnalyticsService;
/**
 * 获取默认分析服务
 */
export declare function getAnalytics(): AnalyticsService;
//# sourceMappingURL=analytics.d.ts.map