import { ASTNode, print } from 'graphql'; import { Operation } from '../core'; export interface Printer { (node: ASTNode, originalPrint: typeof print): string; } export interface UriFunction { (operation: Operation): string; } export interface Body { query?: string; operationName?: string; variables?: Record; extensions?: Record; } export interface HttpOptions { uri?: string | UriFunction; includeExtensions?: boolean; fetch?: WindowOrWorkerGlobalScope['fetch']; headers?: Record; preserveHeaderCase?: boolean; credentials?: string; fetchOptions?: any; useGETForQueries?: boolean; includeUnusedVariables?: boolean; print?: Printer; } export interface HttpQueryOptions { includeQuery?: boolean; includeExtensions?: boolean; preserveHeaderCase?: boolean; } export interface HttpConfig { http?: HttpQueryOptions; options?: any; headers?: Record; credentials?: any; } export declare const fallbackHttpConfig: { http: HttpQueryOptions; headers: { accept: string; 'content-type': string; }; options: { method: string; }; }; export declare const defaultPrinter: Printer; export declare function selectHttpOptionsAndBody(operation: Operation, fallbackConfig: HttpConfig, ...configs: Array): { options: HttpConfig & Record; body: Body; }; export declare function selectHttpOptionsAndBodyInternal(operation: Operation, printer: Printer, ...configs: HttpConfig[]): { options: HttpConfig & Record; body: Body; }; //# sourceMappingURL=selectHttpOptionsAndBody.d.ts.map