/**
 * @file Longtask
 * @author kaivean
 */
import { Module, FSPLongtaskCB, LCPLongtaskCB, LoadLongtaskCB, PageLongtaskCB } from '../lib/interface';
export interface LongtaskData {
    longtaskTime?: number;
    longtaskRate?: number;
    longtaskNum?: number;
    totalTime?: number;
    longtaskIframeTime?: number;
    longtaskIframeNum?: number;
    longtaskIframeRate?: number;
    iframeLongtasks?: {
        [propName: string]: number[] | undefined;
    };
}
export default class Longtask implements Module {
    private lts;
    private observer;
    private fspCB;
    private lcpCB;
    private loadCB;
    private pageCB;
    private onceLeave;
    constructor();
    check(): any;
    listenFSPLongTask(cb: FSPLongtaskCB): void;
    listenLCPLongTask(cb: LCPLongtaskCB): void;
    listenLoadLongTask(cb: LoadLongtaskCB): void;
    listenPageLongTask(cb: PageLongtaskCB): void;
    load(): void;
    leave(): void;
    destroy(): void;
    getStatData(finalTime: number): {
        num: number;
        time: number;
        tbt: number;
        totalTime: number;
        rate: number;
        iframeTime: number;
        iframeNum: number;
        iframeRate: number;
        iframeLongtasks: any;
    };
}
