import * as axios from "axios";
import type { Api, ResponseCode, MethodByPath, Path, PathByMethod, ResponseBody, DefaultResponseBody } from "../core/index.js";
import type { ConfigParam } from "../core/client.js";
export { axios };
export declare class ExZodusClient<A extends Api> {
    readonly axios: axios.AxiosInstance;
    constructor(_apiDef: A, baseURL: string);
    get<P extends PathByMethod<A, "get">>(path: P, ...[config]: ConfigParam<A, "get", P>): Promise<axios.AxiosResponse<DefaultResponseBody<A, "get", P>, any>>;
    post<P extends PathByMethod<A, "post">>(path: P, ...[config]: ConfigParam<A, "post", P>): Promise<axios.AxiosResponse<DefaultResponseBody<A, "post", P>, any>>;
    put<P extends PathByMethod<A, "put">>(path: P, ...[config]: ConfigParam<A, "put", P>): Promise<axios.AxiosResponse<DefaultResponseBody<A, "put", P>, any>>;
    patch<P extends PathByMethod<A, "patch">>(path: P, ...[config]: ConfigParam<A, "patch", P>): Promise<axios.AxiosResponse<DefaultResponseBody<A, "patch", P>, any>>;
    delete<P extends PathByMethod<A, "delete">>(path: P, ...[config]: ConfigParam<A, "delete", P>): Promise<axios.AxiosResponse<DefaultResponseBody<A, "delete", P>, any>>;
    isErrorOf<M extends MethodByPath<A, P>, P extends Path<A>, C extends ResponseCode<A, M, P>>(err: unknown, method: M, path: P, code: C): err is axios.AxiosError<ResponseBody<A, M, P, C>> & {
        response: {
            data: ResponseBody<A, M, P, C>;
        };
    };
    private static replacePathParams;
    private static buildAxiosConfig;
}
//# sourceMappingURL=index.d.ts.map