/// import EventEmitter from 'events'; import type { Client as GraphQLWsClient } from 'graphql-ws'; import type { SubscriptionClient } from 'subscriptions-transport-ws'; import Middleware from './Middleware'; import type { UseClientRequestOptions, Cache, ClientOptions, FetchFunction, GenerateResultOptions, OnErrorFunction, Operation, RequestOptions, Result, CacheKeyObject } from './types/common-types'; declare class GraphQLClient { url: string; ssrPromises: Promise[]; FormData?: any; fetch?: FetchFunction; fetchOptions: RequestInit; logErrors: boolean; useGETForQueries: boolean; middleware: Middleware; mutationsEmitter: EventEmitter; cache?: Cache; headers: Headers | { [key: string]: string; }; ssrMode?: boolean; subscriptionClient?: SubscriptionClient | GraphQLWsClient; fullWsTransport?: boolean; onError?: OnErrorFunction; constructor(config: ClientOptions); /** Checks that the given config has the correct required options */ verifyConfig(config: any): void; setHeader(key: any, value: any): this; setHeaders(headers: any): this; removeHeader(key: any): this; logErrorResult({ result, operation }: { result: any; operation: any; }): void; generateResult({ fetchError, httpError, graphQLErrors, data, headers }: GenerateResultOptions): Result; getCacheKey(operation: Operation, options?: UseClientRequestOptions): CacheKeyObject; getCache(cacheKey: any): object | undefined; saveCache(cacheKey: any, value: any): void; removeCache(cacheKey: any): void; getFetchOptions(operation: any, fetchOptionsOverrides?: {}): { body?: BodyInit | null | undefined; cache?: RequestCache | undefined; credentials?: RequestCredentials | undefined; headers: HeadersInit; integrity?: string | undefined; keepalive?: boolean | undefined; method: string; mode?: RequestMode | undefined; redirect?: RequestRedirect | undefined; referrer?: string | undefined; referrerPolicy?: ReferrerPolicy | undefined; signal?: AbortSignal | null | undefined; window?: null | undefined; }; request(operation: Operation, options?: RequestOptions): Promise>; requestViaHttp(operation: Operation, options?: RequestOptions): Promise>; requestViaWS(operationPayload: any): Promise; createSubscription(operationPayload: any): import("subscriptions-transport-ws").Observable, import("graphql/jsutils/ObjMap").ObjMap>>; invalidateQuery(query: Operation | string): void; setQueryData(query: Operation | string, updater: (oldState?: any) => any): void; } export declare function applyResponseReducer(responseReducer: RequestOptions['responseReducer'], data: any, response: Response): any; export default GraphQLClient;