import Core, { Config, SendOption, SendSuccess, SendFail, SpeedLog, BridgeLog, HippyPagePerformanceLog } from "../../core/src";
export interface HippyConfig extends Config {
    reportApiSpeed?: boolean;
    reportImmediately?: boolean;
    reportBridgeSpeed?: boolean;
    hippyBridge?: Object;
    beforeReportSpeed?: Function;
    offlineLogLimit?: number;
    referrer?: string;
    offlineLog?: boolean;
    offlineLogExp?: number;
    reqCallback?: (data?: unknown, options?: unknown) => {};
    userAgent?: string;
    useSDKReportNetwork?: boolean;
    getNetworkType?: Function;
    getNetworkStatus?: Function;
    viewPort?: string;
}
export default class Aegis extends Core {
    static sessionID: string;
    hippy: any;
    originRequest: typeof fetch;
    isReportReady: boolean;
    reportRequestQueue: {
        options: SendOption;
        success?: SendSuccess;
        fail?: SendFail;
    }[];
    speedLogPipeline: import("../../core/src").Pipeline<any, any>;
    constructor(config: HippyConfig);
    getPlatform(): 1 | 2 | 100;
    getOsVersion(): any;
    initOfflineLog(): void;
    get getBean(): string;
    reportSpeed(logs: SpeedLog | SpeedLog[] | BridgeLog | BridgeLog[]): void;
    /**
     * @desc 上报页面性能数据
     * @param log 性能日志log
     */
    reportPerformanceData(log: HippyPagePerformanceLog): void;
    /**
     * @desc 上报测速
     * @param msg 测速日志log
     */
    retcode(msg: SpeedLog): void;
    ready(): void;
    request(_options: SendOption, _success?: SendSuccess, _fail?: SendFail): void;
    $request: (options: SendOption, success?: SendSuccess | undefined, fail?: SendFail | undefined) => void;
    uploadLogs(params?: any, conds?: any): void;
    /**
     * @description 读取离线日志，在offlineLogPlugin中会重写改方法
     */
    getOfflineLog(): void;
    /**
     * @description 上报离线日志，在offlineLogPlugin中会重写改方法
     * @param logs 日志
     */
    uploadOfflineLogs(_logs: any | any[]): void;
}
