import Core, { Config, CoreApiConfig, SendOption, SendSuccess, SendFail } from "../../core/src";
declare type WebApiConfig = {
    injectTraceHeader?: 'traceparent' | 'sw8' | 'b3' | 'sentry-trace';
    injectTraceUrls?: Array<string | RegExp>;
    injectTraceIgnoreUrls?: Array<string | RegExp>;
    usePerformanceTiming?: boolean;
} & CoreApiConfig;
export interface WebConfig extends Config {
    asyncPlugin?: boolean;
    reportApiSpeed?: boolean | {
        urlHandler: (url: string, payload: object) => string;
    };
    reportImmediately?: boolean;
    offlineLog?: boolean;
    dbConfig?: any;
    offlineLogExp?: number;
    getNetworkType?: Function;
    getNetworkStatus?: Function;
    reportBridgeSpeed?: boolean;
    h5Bridge?: Object;
    h5BridgeFunc?: string[];
    /** 当前页面是否是单页应用 */
    spa?: boolean;
    api?: WebApiConfig;
}
interface AsyncPluginOption {
    exportsConstructor?: string;
    onAegisInit?: (aegis: Core) => void;
    onAegisInitAndPluginLoaded?: (aegis: Aegis, exportsConstructor?: Function) => void;
}
export default class Aegis extends Core {
    static sessionID: string;
    sendNow: boolean;
    isReportReady: boolean;
    reportRequestQueue: {
        options: SendOption;
        success?: SendSuccess;
        fail?: SendFail;
    }[];
    firstScreenInfo: {
        element: any;
        timing: number;
        [key: string]: any;
    };
    constructor(config: WebConfig);
    getBean(filter?: string[]): string;
    private getCurrentPageUrl;
    ready(): void;
    request(_options: SendOption, _success?: SendSuccess, _fail?: SendFail): void;
    private $request;
    speedLogPipeline: import("../../core/src").Pipeline<any, any>;
    private static asyncPlugin;
    static useAsyncPlugin(url: string, options?: AsyncPluginOption): void;
    publishPluginsLogs(): void;
    uploadLogs(params?: any, conds?: any): void;
    static urls: {
        [key: string]: string;
    };
}
export {};
