import { DefinitionNode, DocumentNode } from "graphql"; export declare type GFetchQueryDefault = { errors?: Error[]; gQueryStatus: "LOADED"; }; declare type OptionalPropertyNames = { [K in keyof T]-?: {} extends { [P in K]: T[K]; } ? K : never; }[keyof T]; declare type SpreadProperties = { [P in K]: L[P] | Exclude; }; declare type Id = T extends infer U ? { [K in keyof U]: U[K]; } : never; declare type SpreadTwo = Id> & Pick>> & Pick, keyof L>> & SpreadProperties & keyof L>>; declare type Spread = A extends [infer L, ...infer R] ? SpreadTwo> : unknown; export declare type GFetchQueries = { query: DocumentNode; variables?: Record; }; export declare const stringifyDocument: (node: string | DefinitionNode | DocumentNode) => string; declare type gFetchProperties = { queries: GFetchQueries[]; fetch: typeof fetch; }; export declare type GClientOptions = { path?: string; }; export declare type GGetParameters = { variables?: Variables; fetch: typeof fetch; }; export declare type GFetchReturnWithErrors = Spread<[T, GFetchQueryDefault]>; export declare class GFetch extends Object { path: string; constructor(options: GClientOptions); fetch({ queries, fetch, }: gFetchProperties | undefined): Promise>; } export {};