import type { DocumentNode, FormattedExecutionResult } from "graphql"; import type { ApolloCache } from "@apollo/client/cache"; import type { ApolloLink } from "@apollo/client/link"; import type { Unmasked } from "@apollo/client/masking"; import type { ExtensionsWithStreamInfo } from "@apollo/client/utilities/internal"; import type { ApolloClient } from "./ApolloClient.js"; import type { ObservableQuery } from "./ObservableQuery.js"; import type { QueryManager } from "./QueryManager.js"; import type { DataValue, DefaultContext, InternalRefetchQueriesInclude, MutationUpdaterFunction, NormalizedExecutionResult, OnQueryUpdated, OperationVariables, TypedDocumentNode } from "./types.js"; import type { ErrorPolicy } from "./watchQueryOptions.js"; type UpdateQueries = ApolloClient.MutateOptions["updateQueries"]; export declare const enum CacheWriteBehavior { FORBID = 0, OVERWRITE = 1, MERGE = 2 } interface LastWrite { result: FormattedExecutionResult; variables: ApolloClient.WatchQueryOptions["variables"]; dmCount: number | undefined; } interface OperationInfo { document: DocumentNode | TypedDocumentNode; variables: TVariables; errorPolicy: ErrorPolicy; cacheWriteBehavior: AllowedCacheWriteBehavior; } export declare class QueryInfo { lastRequestId: number; private cache; private queryManager; readonly id: string; private readonly observableQuery?; private incremental?; constructor(queryManager: QueryManager, observableQuery?: ObservableQuery); /** * @internal * For feud-preventing behaviour, `lastWrite` should be shared by all `QueryInfo` instances of an `ObservableQuery`. * In the case of a standalone `QueryInfo`, we will keep a local version. * * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time. */ _lastWrite?: LastWrite; private get lastWrite(); private set lastWrite(value); resetLastWrite(): void; private shouldWrite; get hasNext(): boolean; private maybeHandleIncrementalResult; markQueryResult(incoming: ApolloLink.Result, { document: query, variables, errorPolicy, cacheWriteBehavior, }: OperationInfo): FormattedExecutionResult | DataValue.Streaming, ExtensionsWithStreamInfo>; markMutationResult(incoming: ApolloLink.Result, mutation: OperationInfo & { context?: DefaultContext; updateQueries: UpdateQueries; update?: MutationUpdaterFunction; awaitRefetchQueries?: boolean; refetchQueries?: ((result: NormalizedExecutionResult>) => InternalRefetchQueriesInclude) | InternalRefetchQueriesInclude; removeOptimistic?: string; onQueryUpdated?: OnQueryUpdated; keepRootFields?: boolean; }, cache?: TCache): Promise | DataValue.Streaming, ExtensionsWithStreamInfo>>; markMutationOptimistic(optimisticResponse: any, mutation: OperationInfo & { context?: DefaultContext; updateQueries: UpdateQueries; update?: MutationUpdaterFunction; keepRootFields?: boolean; }): boolean; markSubscriptionResult(result: FormattedExecutionResult, { document, variables, errorPolicy, cacheWriteBehavior, }: OperationInfo): void; } export {}; //# sourceMappingURL=QueryInfo.d.ts.map