import { AxiosRequestConfig, Method, AxiosResponse } from "axios";
import { ResponseData, ResponseJsonData, SpecialResponseData } from "./response.data";
import { SnailMethod } from "../core";
export interface MethodSendOptions {
    name?: string;
    adapter?: AxiosRequestConfig["adapter"];
}
export interface MethodOption extends MethodSendOptions {
    method: Method;
    path: string;
}
export interface MethodProxy<RD extends ResponseData = ResponseJsonData, ArgsType extends any[] = []> extends SnailMethod<RD> {
    send: (...args: ArgsType) => Promise<RD extends SpecialResponseData ? AxiosResponse<RD> : RD>;
}
