type HeadersInit = Record<string, string>;
type Headers = HeadersInit | (() => HeadersInit) | (() => Promise<HeadersInit>);
interface GraphqlOperation {
    query: string;
    variables?: {
        [name: string]: any;
    };
    operationName?: string;
}
interface ExecutionResult<TData = {
    [key: string]: any;
}> {
    errors?: Array<Error>;
    data?: TData | null;
}
export interface GenqlUploadOptions {
    url: string;
    headers?: Headers;
}
export declare function createFetcher(opts: GenqlUploadOptions): (operation: GraphqlOperation | GraphqlOperation[]) => Promise<ExecutionResult | ExecutionResult[]>;
export {};
