import { type ClientOptions, ClientRequestConfig } from './client/createClient';
import { type GraphqlOperation } from './client/generateGraphqlOperation';
import { type AxiosInstance } from 'axios';
export interface Fetcher {
    fetcherMethod: (gql: GraphqlOperation, config?: ClientRequestConfig) => Promise<any>;
    fetcherInstance: AxiosInstance | unknown | undefined;
}
export type BatchOptions = {
    batchInterval?: number;
    maxBatchSize?: number;
};
export interface GraphQLErrorResult {
    data: null;
    errors: Array<{
        message: string;
        code?: string | number;
        path?: string[];
        locations?: Array<{
            line: number;
            column: number;
        }>;
    }>;
}
export declare function createFetcher(params: ClientOptions): Fetcher;
//# sourceMappingURL=fetcher.d.ts.map