import Core, { Config, SendOption, SendSuccess, SendFail } from "../../core/src";
import { RequestSchedule } from './util/request-schedule';
import { SetDataConfig } from './interface';
export interface MpConfig extends Config {
    reportApiSpeed?: boolean;
    reportLoadPackageSpeed?: boolean;
    setDataReportUrl?: string;
    beforeReportSpeed?: Function;
    onBeforeRequest?: Function;
    offlineLog?: boolean;
    offlineLogExp?: number;
    offlineLogLimit?: number;
    enableHttp2?: boolean;
    setDataReportConfig?: SetDataConfig;
}
export default class Aegis extends Core {
    static sessionID: string;
    static asyncPluginIndex: number;
    requestSchedule: RequestSchedule;
    originRequest: <T extends string | Record<string, any> | ArrayBuffer = string | Record<string, any> | ArrayBuffer>(option: WechatMiniprogram.RequestOption<T>) => WechatMiniprogram.RequestTask;
    speedLogPipeline: import("../../core/src").Pipeline<any, any>;
    constructor(config: MpConfig);
    get getBean(): string;
    initOfflineLog(): void;
    initRequestSchedule(): void;
    request: (options: SendOption, success?: SendSuccess | undefined, fail?: SendFail | undefined) => void;
    private sendRequest;
    uploadLogs(params?: any, conds?: any): void;
    reportPv(id: number): void;
}
