/**
 * @file SpyClient
 * @author kaivean
 */
import SpyClientBasic from './spy-client-basic';
import { Module, SpyClientOption, FIDCB, LCPCB, LayoutShiftCB, PageLongtaskCB, LoadLongtaskCB, LCPLongtaskCB, FSPLongtaskCB, MemoryCB, NavigatorInfoMetric, ResourceCB, ResourceErrorCB, TimingCB, TTICB, TTIOption, ResOption, BigImgOption, HttpResOption, SlowOption } from './lib/interface';
export default class SpyClient extends SpyClientBasic {
    private readonly modules;
    constructor(option: SpyClientOption);
    handleHead(): void;
    listenFID(cb: FIDCB): void;
    listenLayoutShift(cb: LayoutShiftCB): void;
    listenLCP(cb: LCPCB): void;
    listenFSPLongTask(cb: FSPLongtaskCB): void;
    listenLCPLongTask(cb: LCPLongtaskCB): void;
    listenLoadLongTask(cb: LoadLongtaskCB): void;
    listenPageLongTask(cb: PageLongtaskCB): void;
    listenMemory(cb: MemoryCB): void;
    getNavigatorInfo(): NavigatorInfoMetric;
    listenResource(cb: ResourceCB, option?: ResOption): void;
    listenBigImg(cb: ResourceErrorCB, option?: BigImgOption): void;
    listenHttpResource(cb: ResourceErrorCB, option?: HttpResOption): void;
    listenSlowResource(cb: ResourceErrorCB, option?: SlowOption): void;
    listenTiming(cb: TimingCB): void;
    listenTTI(cb: TTICB, option?: TTIOption): void;
    invoke(name: string, cb?: any, option?: any): any;
    register(mod: Module): void;
    load(): void;
    leave(): void;
    destroy(): void;
    private visibilitychangeCB;
}
