import type { AxiosRequestConfig, AxiosResponse } from 'axios';
import { AxiosClient } from './protocol.js';
export type FecterResponse<T = any, D = any> = AxiosResponse<T, D>;
export declare class Fetcher {
    axios: AxiosClient;
    get: <T>(basePath: string, params?: Record<string, any>, config?: AxiosRequestConfig<any>) => Promise<FecterResponse<T, any>>;
    post: <T>(url: string, data: any, config?: AxiosRequestConfig<any>) => Promise<FecterResponse<T, any>>;
    put: <T>(url: string, data: any, config?: AxiosRequestConfig<any>) => Promise<FecterResponse<T, any>>;
    delete: <T>(url: string, config?: AxiosRequestConfig<any>) => Promise<FecterResponse<T, any>>;
}
//# sourceMappingURL=fetcher.d.ts.map