export interface ArtFetchMiddlewares {
    onRequest?: (...ags: Parameters<typeof fetch>) => Promise<Parameters<typeof fetch>>;
    onResponse?: (response: Response) => Promise<Response>;
}
export interface ArtFetchOptions extends RequestInit {
    /**
     * @description A typeof fetch function
     * @default globalThis.fetch
     */
    fetch?: typeof fetch;
    /**
     * @description Middleware for request and response
     */
    middlewares?: ArtFetchMiddlewares;
}
export type ArtFetchType = (baseURL: Parameters<typeof fetch>[0], options?: ArtFetchOptions) => Promise<Response>;
declare const ArtFetch: ArtFetchType;
export default ArtFetch;
