import { EchoClient } from './client'; import type { EchoConfig, EchoCreateConfig, EchoResponse } from './types'; export type EchoInstance = ReturnType; export declare class Echo extends EchoClient { create: (createConfig?: EchoCreateConfig) => { interceptors: { request: { use: (key: string, onFulfilled?: ((value: EchoConfig) => EchoConfig | Promise) | null, onRejected?: null | ((error: any) => any)) => void; eject: (key: string) => boolean; clear: () => void; }; response: { use: (key: string, onFulfilled?: null | ((value: EchoResponse) => EchoResponse | Promise), onRejected?: null | ((error: any) => any)) => void; eject: (key: string) => boolean; clear: () => void; }; }; request: (config: EchoConfig) => Promise>; get: (url: string, options?: import("./types").EchoRequestOptions) => Promise>; post: (url: string, body?: any, options?: import("./types").EchoRequestOptions) => Promise>; put: (url: string, body?: any, options?: import("./types").EchoRequestOptions) => Promise>; patch: (url: string, body?: any, options?: import("./types").EchoRequestOptions) => Promise>; delete: (url: string, options?: import("./types").EchoRequestOptions) => Promise>; }; }