import { OptionType } from "./type/index";
declare class SmlMonitor {
    config: any;
    private metrics;
    private browser;
    private perf;
    private queue;
    private isHidden;
    networkStore: any;
    private maxFindCount;
    private reportApi;
    private appRelaunchCount;
    private changeRouterCount;
    private appRelaunchReportFinish;
    private appRelaunchCalculateFinish;
    private changeRouterStartTime;
    private exitsChangeRouterMetricName;
    constructor(options: OptionType);
    setReportApi(options: {
        uin?: any;
        accountId?: any;
        token?: any;
        serviceType?: any;
        env?: any;
    }): void;
    private reportAppRelaunch;
    /**
     * 是否可见
     */
    private didVisibilityChange;
    /**
     *
     * @param cb 微任务队列
     */
    private pushTask;
    private reportChangeRouter;
    reportEvent(params: any): void;
    /**
     * 查找dom  最大查找次数 100
     * @param targetOption
     * @param cb
     */
    private searchDom;
    /**
     * app 初始化section布局（登陆后）  SECTION MAIN(页面内容)
     */
    private listenApprelaunchSectionDom;
    /**
     * 监听domcument变化 第一次出现body时
     * @param target target dom元素
     * @param cb 回调
     */
    listenAppRelaunchDomChange(targetOption: {
        domIdName?: string;
        domClassName?: string;
    }, cb?: (options: any) => void): void;
    /**
     * 监听domcument变化 计算fmp结束时刻  changeRouter
     * @param target target dom元素
     * @param cb 回调
     */
    listenChangeRouterDomChange(targetOption: {
        domIdName?: string;
        domClassName?: string;
    }, cb?: (options: any) => void): void;
    /**
     * 配置网络配置对象
     * @param key
     * @param value
     */
    setNetworkInfo(key: string, value: boolean): void;
    /**
     *删除网络配置对象
     * @param key
     */
    delNetworkCount(key: string): void;
    private getNetworkInfoKeys;
    /**
     * 查找页面请求结束时刻  app relaunch
     * @param netKeys 剩余网络请求
     * @param findCount 查找次数
     * @param cb 回调
     */
    private searchAppRelauchNetworkInfo;
    /**
     * 查找页面请求结束时刻  change router
     * @param netKeys 剩余网络请求
     * @param findCount 查找次数
     * @param cb 回调
     */
    private searchChangeRouterNetworkInfo;
    get networkInformation(): import("./performance/performance").NetworkInformation;
    /**
     * 标记 开始 时刻
     */
    start(metricName: string): void;
    /**
     * 检查是否存在开始标记
     * @param metricName
     * @returns
     */
    checkStartMarkName(metricName: string): boolean;
    /**
     * 标记结束时刻
     */
    end(metricName: string, type?: "appRelaunch" | "changeRouter" | "enPaint"): void | number;
    /**
     * 清空标记
     * @param markName
     */
    clear(markName: string): void;
    /**
     * End performance measurement after first paint from the beging of it
     */
    endPaint(metricName: string): Promise<void | number>;
    /**
     * 校验 名字
     * @param metricName
     * @returns
     */
    private checkMetricName;
    /**
     * The onbeforeunload property of the WindowEventHandlers mixin is the EventHandler for processing beforeunload events.
     * These events fire when a window is about to unload its resources. At this point,
     * the document is still visible and the event is still cancelable.
     */
    private onBeforeUnload;
    /**
     * Sends the User timing measure to Analytics System.
     */
    sendTiming(options: any): void;
}
export { SmlMonitor };
