/**
 * 性能指标单位常量
 */
export declare const PERFORMANCE_METRIC_UNITS: {
    /**
     * 毫秒单位
     */
    readonly ms: "ms";
    /**
     * 无单位（分数）
     */
    readonly none: "";
};
/**
 * 性能指标单位类型
 */
export type PerformanceMetricUnit = typeof PERFORMANCE_METRIC_UNITS[keyof typeof PERFORMANCE_METRIC_UNITS];
/**
 * 带单位的性能指标值
 */
export interface PerformanceMetricValue {
    /**
     * 指标值
     */
    value: number;
    /**
     * 单位
     */
    unit: PerformanceMetricUnit;
}
/**
 * 性能指标类型
 */
export interface PerformanceMetrics {
    /**
     * First Contentful Paint (首次内容绘制)
     * 单位：毫秒（ms）
     */
    fcp?: number;
    /**
     * Largest Contentful Paint (最大内容绘制)
     * 单位：毫秒（ms）
     */
    lcp?: number;
    /**
     * First Input Delay (首次输入延迟)
     * 单位：毫秒（ms）
     */
    fid?: number;
    /**
     * Cumulative Layout Shift (累积布局偏移)
     * 单位：无（分数）
     */
    cls?: number;
    /**
     * Time to Interactive (可交互时间)
     * 单位：毫秒（ms）
     */
    tti?: number;
    /**
     * Total Blocking Time (总阻塞时间)
     * 单位：毫秒（ms）
     */
    tbt?: number;
    /**
     * Speed Index (速度指数)
     * 单位：毫秒（ms）
     */
    si?: number;
}
/**
 * 性能监控配置
 */
export interface PerformanceMonitorConfig {
    /**
     * 是否自动收集 Web Vitals
     */
    collectWebVitals?: boolean;
    /**
     * 性能指标上报回调
     */
    onReport?: (metrics: PerformanceMetrics) => void;
    /**
     * 采样率 (0-1)
     */
    sampleRate?: number;
    /**
     * 是否启用性能指标聚合
     */
    enableAggregation?: boolean;
    /**
     * 性能指标聚合窗口大小（毫秒）
     */
    aggregationWindow?: number;
    /**
     * 是否自动上报性能指标
     */
    autoReport?: boolean;
    /**
     * 自动上报间隔（毫秒）
     */
    autoReportInterval?: number;
}
/**
 * 性能监控类
 */
export declare class PerformanceMonitor {
    private config;
    private metrics;
    private observers;
    private aggregatedMetrics;
    private aggregationTimer?;
    private autoReportTimer?;
    constructor(config?: PerformanceMonitorConfig);
    /**
     * 初始化 Web Vitals 收集
     */
    private initWebVitals;
    /**
     * 观察 Paint 指标
     */
    private observePaint;
    /**
     * 观察 LCP
     */
    private observeLCP;
    /**
     * 观察 FID
     */
    private observeFID;
    /**
     * 观察 CLS
     */
    private observeCLS;
    /**
     * 计算 TTI
     */
    private calculateTTI;
    /**
     * 内部上报性能指标（自动上报当前指标）
     */
    private reportInternal;
    /**
     * 获取当前性能指标
     */
    getMetrics(): PerformanceMetrics;
    /**
     * 手动记录自定义指标
     */
    recordMetric(name: string, value: number): void;
    /**
     * 清理观察者
     */
    disconnect(): void;
    /**
     * 启动性能指标聚合
     */
    private startAggregation;
    /**
     * 聚合性能指标
     */
    private aggregateMetrics;
    /**
     * 获取聚合后的性能指标
     */
    getAggregatedMetrics(): PerformanceMetrics;
    /**
     * 启动自动上报
     */
    private startAutoReport;
    /**
     * 手动上报性能指标
     */
    report(metrics?: PerformanceMetrics): void;
}
/**
 * 带单位的性能指标类型
 */
export interface PerformanceMetricsWithUnits {
    /**
     * First Contentful Paint (首次内容绘制)
     * 单位：毫秒（ms）
     */
    fcp?: PerformanceMetricValue;
    /**
     * Largest Contentful Paint (最大内容绘制)
     * 单位：毫秒（ms）
     */
    lcp?: PerformanceMetricValue;
    /**
     * First Input Delay (首次输入延迟)
     * 单位：毫秒（ms）
     */
    fid?: PerformanceMetricValue;
    /**
     * Cumulative Layout Shift (累积布局偏移)
     * 单位：无（分数）
     */
    cls?: PerformanceMetricValue;
    /**
     * Time to Interactive (可交互时间)
     * 单位：毫秒（ms）
     */
    tti?: PerformanceMetricValue;
    /**
     * Total Blocking Time (总阻塞时间)
     * 单位：毫秒（ms）
     */
    tbt?: PerformanceMetricValue;
    /**
     * Speed Index (速度指数)
     * 单位：毫秒（ms）
     */
    si?: PerformanceMetricValue;
    /**
     * 服务初始化耗时
     * 单位：毫秒（ms）
     */
    serviceInitDuration?: PerformanceMetricValue;
    /**
     * 初始化耗时
     * 单位：毫秒（ms）
     */
    initializationDuration?: PerformanceMetricValue;
    /**
     * 首次渲染耗时
     * 单位：毫秒（ms）
     */
    firstRenderDuration?: PerformanceMetricValue;
    /**
     * 总启动耗时
     * 单位：毫秒（ms）
     */
    totalStartupDuration?: PerformanceMetricValue;
}
/**
 * 性能指标单位映射（包含所有可能的指标键）
 */
export declare const PERFORMANCE_METRIC_UNIT_MAP: Record<string, PerformanceMetricUnit>;
/**
 * 将性能指标转换为带单位的格式
 *
 * @param metrics - 性能指标对象（可能包含 Web Vitals 和启动性能指标）
 * @returns 带单位的性能指标对象
 */
export declare function convertMetricsToWithUnits(metrics: PerformanceMetrics | Record<string, number>): PerformanceMetricsWithUnits;
//# sourceMappingURL=performance.d.ts.map