import type { ClientError } from '../error'; import type { RequestOptions } from '../request'; import type { Response } from '../response'; import { HookName } from './constants'; import type { HookFn } from './type'; export declare class HookManager { protected items: Record; constructor(); addListener(name: `${HookName}`, fn: HookFn): number; removeListener(name: `${HookName}`, fn: HookFn | number): void; removeListeners(name: `${HookName}`): void; triggerReqHook(input: RequestOptions): Promise; triggerResHook(input: Response): Promise; triggerErrorHook(name: `${HookName.RESPONSE_ERROR}` | `${HookName.REQUEST_ERROR}`, input: ClientError): Promise; }