import { ExecutionResult } from './genql/runtime/_types.cjs'; import { GraphqlOperation } from './genql/runtime/_generate-graphql-operation.cjs'; import { replaceSystemAliases } from './genql/runtime/_aliasing.cjs'; import { FieldsSelection } from './genql/runtime/_type-selection.cjs'; import { GraphQLExact, StripAllArgs } from './type-helpers.cjs'; interface Fetcher { (gql: GraphqlOperation, extraFetchOptions?: Partial): Promise; } type BatchOptions = { batchInterval?: number; maxBatchSize?: number; }; declare const createFetcher: ({ url, headers, fetcher, fetch: _fetch, batch, ...rest }: ClientOptions) => Fetcher; type Headers = HeadersInit | (() => HeadersInit) | (() => Promise); type BaseFetcher = (operation: GraphqlOperation | GraphqlOperation[], extraFetchOptions?: Partial) => Promise; type ClientOptions = Omit & { url?: string; batch?: BatchOptions | boolean; fetcher?: BaseFetcher; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise; headers?: Headers; getExtraFetchOptions?: (op: "query" | "mutation", body: GraphqlOperation, originalRequest: any) => Partial | Promise>; }; type GetClient = Record, QSel extends Record = Record, M extends Record = Record, MSel extends Record = Record> = { query(request: R & GraphQLExact, R>): Promise>; mutation(request: R & GraphQLExact, R>): Promise>; }; declare const createClient: { = Record, QSel extends Record = Record, M extends Record = Record, MSel extends Record = Record>({ getExtraFetchOptions, ...options }: ClientOptions): GetClient; replaceSystemAliases: typeof replaceSystemAliases; }; export { type BatchOptions as B, type ClientOptions as C, type Fetcher as F, type GetClient as G, type Headers as H, type BaseFetcher as a, createClient as b, createFetcher as c };