import { DevTool } from '../type';

/**
 * 拦截器
 *
 * @export
 * @class DevIntercept
 */
export declare class DevIntercept {
    private event;
    private enableCaptureScreen;
    private enableInterceptPromiseReject;
    initPinia: boolean;
    cache$on: Map<any, any>;
    cache$once: Map<any, any>;
    cache$emit: Map<any, any>;
    cache$off: Map<any, any>;
    constructor(options: DevTool.DevInterceptOptions);
    init({ enableCaptureScreen, enableInterceptPromiseReject, }: {
        enableCaptureScreen?: boolean;
        enableInterceptPromiseReject?: boolean;
    }): void;
    reset(): void;
    /**
     * app 中拦截 console
     * app
     * @memberof DevIntercept
     */
    interceptAppConsole(): void;
    /**
     * 重置console
     *
     * @memberof DevEvent
     */
    resetInterceptAppConsole(): void;
    /**
     * 拦截 vue3 信息
     *
     * @memberof DevIntercept
     */
    interceptVue(vueInstance: any): void;
    /**
     * app 中捕获全局错误
     *
     * @memberof DevIntercept
     */
    interceptAppError(): void;
    /**
     * 重置劫持 app 错误
     *
     * @memberof DevEvent
     */
    resetInterceptErrorApp(): void;
    /**
     * 拦截 app 错误
     *
     * @param {*} error
     * @memberof DevIntercept
     */
    interceptErrorVue(error: Error): void;
    preWarn: any;
    /**
     * 拦截 app 警告
     *
     * @param {*} warn
     * @return {*}
     * @memberof DevIntercept
     */
    interceptWarnVue(warn: string): void;
    /**
     * 拦截 promise reject
     *
     * @memberof DevIntercept
     */
    interceptPromiseReject(): void;
    /**
     * 拦截 switch 跳转
     *
     * @memberof DevIntercept
     */
    interceptSwitchTab(): void;
    /**
     * 重置 nav 跳转
     *
     * @memberof DevEvent
     */
    resetInterceptSwitchTab(): void;
    /**
     * 拦截 redirect to
     *
     * @memberof DevIntercept
     */
    interceptRedirectTo(): void;
    /**
     * 重置页面重定向
     *
     * @memberof DevIntercept
     */
    resetInterceptRedirectTo(): void;
    /**
     * 拦截 relaunch
     *
     * @memberof DevIntercept
     */
    interceptReLaunch(): void;
    /**
     * 重置页面重定向
     *
     * @memberof DevIntercept
     */
    resetInterceptReLaunch(): void;
    /**
     * 拦截 navigate back
     *
     * @memberof DevIntercept
     */
    interceptNavigateBack(): void;
    /**
     * 重置页面返回
     *
     * @memberof DevIntercept
     */
    resetInterceptNavigateBack(): void;
    /**
     * 拦截页面跳转
     *
     * @memberof DevIntercept
     */
    interceptNavigateTo(): void;
    /**
     * 重置页面跳转
     *
     * @memberof DevEvent
     */
    resetInterceptNavigateTo(): void;
    /**
     * 拦截网络请求
     *
     * @memberof DevIntercept
     */
    interceptRequest(): void;
    /**
     * 重置网络监听
     *
     * @memberof DevEvent
     */
    resetInterceptRequest(): void;
    /**
     * 拦截 websocket
     *
     * @memberof DevIntercept
     */
    interceptSocket(): void;
    resetInterceptSocket(): void;
    /**
     * 拦截 uni.setStorageSync 和 uni.setStorage
     *
     * @memberof DevIntercept
     */
    interceptSetStorage(): void;
    /**
     * 重置 storage 函数
     *
     * @memberof DevEvent
     */
    resetInterceptStorage(): void;
    /**
     * 拦截 uni.clearStorageSync 和 uni.clearStorage
     *
     * @memberof DevIntercept
     */
    interceptClearStorage(): void;
    /**
     * 重置 clearStorage 函数
     *
     * @memberof DevIntercept
     */
    resetInterceptClearStorage(): void;
    /**
     * 拦截 uni.removeStorageSync 和 uni.removeStorage
     *
     * @memberof DevIntercept
     */
    interceptRemoveStorage(): void;
    /**
     * 重置 removeStorage 函数
     *
     * @memberof DevIntercept
     */
    resetInterceptRemoveStorage(): void;
    /** 拦截vuex */
    interceptVuexStorage(store: any): void;
    /** 拦截pinia */
    interceptPiniaStore(context: any): any;
    /**
     * 拦截 uni.uploadFile
     *
     * 为什么不用uni.addInterceptor?
     *
     * uni.addInterceptor 无法获取上传进度，只能重写 uni.uploadFile
     *
     * @memberof DevIntercept
     */
    interceptUploadFile(): void;
    /**
     * 重置 uni.uploadFile 函数
     *
     * @memberof DevIntercept
     */
    resetInterceptUploadFile(): void;
    /**
     * uni事件工厂
     *
     * @param {DevTool.EventCountKey} type
     * @param {boolean} [define=true]
     * @memberof DevIntercept
     */
    uniEventFactory(type: DevTool.EventCountKey, define?: boolean): void;
    /**
     * 拦截 uni.on/off/emit/once
     *
     * @memberof DevIntercept
     */
    interceptUniEvent(): void;
    /**
     * 重置拦截 uni 事件
     *
     * @memberof DevIntercept
     */
    resetUniEvent(): void;
    /**
     * 监听截屏
     *
     * @memberof DevIntercept
     */
    interceptCaptureScreen(): void;
    /**
     * 重置截屏
     *
     * @memberof DevIntercept
     */
    resetInterceptCaptureScreen(): void;
    /**
     * 监听记录屏幕
     *
     * @param {string} state
     * @memberof DevIntercept
     */
    listenerScreenRecording(state: string): void;
    /**
     * 监听屏幕录制
     *
     * @memberof DevIntercept
     */
    interceptScreenRecording(): void;
    /**
     * 重置屏幕录制
     *
     * @memberof DevEvent
     */
    resetInterceptScreenRecording(): void;
    /**
     * 重置拦截 promise reject
     *
     * @memberof DevEvent
     */
    resetInterceptPromiseReject(): void;
    /**
     * 拦截扫码
     *
     * @memberof DevIntercept
     */
    interceptScanCode(): void;
    /**
     * 重置拦截扫码
     *
     * @memberof DevIntercept
     */
    resetInterceptScanCode(): void;
}
//# sourceMappingURL=index.d.ts.map