import { ErrorInterceptor } from "./errorInterceptor";
import { RequestInterceptor } from "./requestInterceptor";
import { TResponse, ResponseHandleArgs, ResponseInterceptor } from "./responseInterceptor";
export interface BaseConfig {
    prefix?: string;
    fetchOption?: object;
    responseHandle?: (params: ResponseHandleArgs) => Promise<TResponse>;
}
export interface FetchConfig extends BaseConfig {
    interceptor?: {
        requestInterceptor?: Array<Interceptor["requestInterceptor"]>;
        responseInterceptor?: Array<Interceptor["responseInterceptor"]>;
        errorInterceptor?: Array<Interceptor["errorInterceptor"]>;
    };
}
export interface GlobalConfig extends BaseConfig {
    interceptor?: {
        requestInterceptor?: Interceptor["requestInterceptor"];
        responseInterceptor?: Interceptor["responseInterceptor"];
        errorInterceptor?: Interceptor["errorInterceptor"];
    };
}
export interface Interceptor {
    requestInterceptor: RequestInterceptor;
    responseInterceptor: ResponseInterceptor;
    errorInterceptor: ErrorInterceptor;
}
export interface FastOptions {
    method: string;
    headersType?: string;
}
export * from "./responseInterceptor";
export * from "./requestInterceptor";
export * from "./errorInterceptor";
