import { GraphQLField, GraphQLSchema } from 'graphql';
import { IStringifyOptions } from 'qs';
import { Logger, MeshFetch } from '@graphql-mesh/types';
import { HTTPMethod } from './types.cjs';
export interface HTTPRootFieldResolverOpts {
    sourceName: string;
    endpoint: string;
    path: string;
    httpMethod: HTTPMethod;
    operationSpecificHeaders: Record<string, string>;
    isBinary: boolean;
    requestBaseBody: any;
    queryParamArgMap: Record<string, string>;
    queryStringOptionsByParam: Record<string, IStringifyOptions & {
        destructObject?: boolean;
    }>;
}
export interface GlobalOptions {
    sourceName: string;
    endpoint: string;
    timeout: number;
    operationHeaders: Record<string, string>;
    queryStringOptions: IStringifyOptions;
    queryParams: Record<string, string | number | boolean>;
}
export declare function addHTTPRootFieldResolver(schema: GraphQLSchema, field: GraphQLField<any, any>, logger: Logger, globalFetch: MeshFetch, { path, operationSpecificHeaders, httpMethod, isBinary, requestBaseBody, queryParamArgMap, queryStringOptionsByParam, }: HTTPRootFieldResolverOpts, { sourceName, endpoint, timeout, operationHeaders: globalOperationHeaders, queryStringOptions: globalQueryStringOptions, queryParams: globalQueryParams, }: GlobalOptions): void;
