interface PerformanceReport {
    type: 'performance';
    data: {
        dns: number;
        tcp: number;
        ttfb: number;
        domParse: number;
        resources: number;
        domReady: number;
        interactive: number;
        load: number;
        fp?: number;
        fcp?: number;
        lcp?: number;
        fid?: number;
        cls?: number;
    };
}
interface ErrorReport {
    type: 'error';
    data: {
        message: string;
        filename: string;
        lineno: number;
        colno: number;
        stack?: string;
        type: 'js' | 'resource' | 'promise';
        timestamp: number;
    };
}
type ReportData = PerformanceReport | ErrorReport;
/**
 * FrontendMonitor class for monitoring web performance and errors.
 */
export declare class FrontendMonitor {
    private reportUrl;
    private performanceTiming;
    private isMonitoring;
    private clsValue;
    constructor(reportUrl: string);
    init(): void;
    private setupPerformanceObserver;
    private getBasicTiming;
    private captureErrors;
    private reportPerformance;
    report(data: ReportData): void;
}
export {};
