/**
 * 性能指标接口定义
 */
export interface PerformanceMetrics {
    /** First Contentful Paint - 首次内容绘制 */
    fcp?: number;
    /** Largest Contentful Paint - 最大内容绘制 */
    lcp?: number;
    /** Total Blocking Time - 总阻塞时间 */
    tbt?: number;
    /** Time to Interactive - 可交互时间 */
    tti?: number;
    /** 内存使用情况 */
    memory?: MemoryInfo;
    /** 页面加载时间 */
    loadTime?: number;
    /** DOM内容加载时间 */
    domContentLoaded?: number;
    /** 时间戳 */
    timestamp?: number;
    /** 页面URL */
    url?: string;
    /** 用户代理 */
    userAgent?: string;
    /** 能耗监控数据 */
    powerConsumption?: PowerConsumptionInfo;
}
/**
 * 内存信息接口
 */
export interface MemoryInfo {
    /** 已使用的JS堆大小 */
    usedJSHeapSize: number;
    /** JS堆大小限制 */
    jsHeapSizeLimit: number;
    /** 总JS堆大小 */
    totalJSHeapSize: number;
}
/**
 * 能耗信息接口
 */
export interface PowerConsumptionInfo {
    /** 电池电量百分比 */
    batteryLevel?: number;
    /** 是否正在充电 */
    charging?: boolean;
    /** 电池剩余时间（分钟） */
    timeToEmpty?: number;
    /** 电池充满时间（分钟） */
    timeToFull?: number;
    /** CPU使用率估算 */
    cpuUsage?: number;
    /** 设备温度（如果可用） */
    temperature?: number;
    /** 能耗等级（低/中/高） */
    powerLevel: 'low' | 'medium' | 'high';
    /** 能耗评分（0-100） */
    powerScore: number;
}
/**
 * SDK配置选项
 */
export interface PerformanceSDKOptions {
    /** 是否自动开始监控 */
    autoStart?: boolean;
    /** 数据上报URL */
    reportUrl?: string;
    /** 上报间隔时间(ms) */
    reportInterval?: number;
    /** 是否启用内存监控 */
    enableMemoryMonitoring?: boolean;
    /** 是否启用Web Vitals监控 */
    enableWebVitals?: boolean;
    /** 是否启用能耗监控 */
    enablePowerMonitoring?: boolean;
    /** 自定义数据处理器 */
    onData?: (data: PerformanceMetrics) => void;
}
/**
 * Web Vitals指标
 */
export interface WebVitals {
    /** First Contentful Paint */
    fcp: number;
    /** Largest Contentful Paint */
    lcp: number;
    /** First Input Delay */
    fid: number;
    /** Cumulative Layout Shift */
    cls: number;
    /** Total Blocking Time */
    tbt: number;
    /** Time to Interactive */
    tti: number;
}
