import { Config } from "../types"; import { KyofuucObject } from "../helper"; export declare enum HandlerType { CUSTOM = "CUSTOM", WS_OPEN = "WS_OPEN", WS_CLOSE = "WS_CLOSE", WS_ERROR = "WS_ERROR", WS_MESSAGE = "WS_MESSAGE", WS_STATE_CHANGE = "WS_STATE_CHANGE", HTTP_PRE_REQUEST = "HTTP_PRE_REQUEST", HTTP_POST_REQUEST = "HTTP_POST_REQUEST", HTTP_PRE_RESPONSE = "HTTP_PRE_RESPONSE", HTTP_POST_RESPONSE = "HTTP_POST_RESPONSE", HTTP_REQUEST_MAXIMUM_REDIRECTS_REACHED = "HTTP_REQUEST_MAXIMUM_REDIRECTS_REACHED" } export type HandlerCallback = (config?: Config, options?: KyofuucObject, response?: any) => (Promise | void> | KyofuucObject | void); export interface Handler { type: HandlerType; cb: HandlerCallback; options?: KyofuucObject; when?: (config?: Config) => boolean; } export declare class Interceptor { private _count; private _handlers; private _reverse_handler_type_map; constructor(interceptors?: Interceptor[]); count(): number; register(handler: Handler): string; unregister(key: string): void; purge(): void; registers(interceptors: Interceptor[]): string[]; handler(key: string): Handler | undefined; handlers(type: HandlerType): Handler[]; invoke(type: HandlerType, config?: Config, response?: any): Promise[]>; registerPreRequest(cb: HandlerCallback, options?: KyofuucObject): string; registerPostRequest(cb: HandlerCallback, options?: KyofuucObject): string; registerPreResponse(cb: HandlerCallback, options?: KyofuucObject): string; registerPostResponse(cb: HandlerCallback, options?: KyofuucObject): string; registerOnWsOpen(cb: HandlerCallback, options?: KyofuucObject): string; registerOnWsClose(cb: HandlerCallback, options?: KyofuucObject): string; registerOnWsError(cb: HandlerCallback, options?: KyofuucObject): string; registerOnWsMessage(cb: HandlerCallback, options?: KyofuucObject): string; registerOnWsStateChange(cb: HandlerCallback, options?: KyofuucObject): string; }