import { DocumentNode } from 'graphql'; import { TypedDocumentNode } from '@graphql-typed-document-node/core'; import { FetchResult } from '../link/core'; import { DefaultContext, MutationQueryReducersMap, OperationVariables, MutationUpdaterFunction, OnQueryUpdated, InternalRefetchQueriesInclude } from './types'; import { ApolloCache } from '../cache'; import { ObservableQuery } from './ObservableQuery'; export type FetchPolicy = 'cache-first' | 'network-only' | 'cache-only' | 'no-cache' | 'standby'; export type WatchQueryFetchPolicy = FetchPolicy | 'cache-and-network'; export type MutationFetchPolicy = Extract; export type RefetchWritePolicy = "merge" | "overwrite"; export type ErrorPolicy = 'none' | 'ignore' | 'all'; export interface QueryOptions { query: DocumentNode | TypedDocumentNode; variables?: TVariables; errorPolicy?: ErrorPolicy; context?: DefaultContext; fetchPolicy?: FetchPolicy; pollInterval?: number; notifyOnNetworkStatusChange?: boolean; returnPartialData?: boolean; partialRefetch?: boolean; canonizeResults?: boolean; } export interface WatchQueryOptions extends Omit, 'fetchPolicy'> { fetchPolicy?: WatchQueryFetchPolicy; nextFetchPolicy?: WatchQueryFetchPolicy | ((this: WatchQueryOptions, currentFetchPolicy: WatchQueryFetchPolicy, context: NextFetchPolicyContext) => WatchQueryFetchPolicy); initialFetchPolicy?: WatchQueryFetchPolicy; refetchWritePolicy?: RefetchWritePolicy; } export interface NextFetchPolicyContext { reason: "after-fetch" | "variables-changed"; observable: ObservableQuery; options: WatchQueryOptions; initialFetchPolicy: WatchQueryFetchPolicy; } export interface FetchMoreQueryOptions { query?: DocumentNode | TypedDocumentNode; variables?: Partial; context?: DefaultContext; } export type UpdateQueryFn = (previousQueryResult: TData, options: { subscriptionData: { data: TSubscriptionData; }; variables?: TSubscriptionVariables; }) => TData; export type SubscribeToMoreOptions = { document: DocumentNode | TypedDocumentNode; variables?: TSubscriptionVariables; updateQuery?: UpdateQueryFn; onError?: (error: Error) => void; context?: DefaultContext; }; export interface SubscriptionOptions { query: DocumentNode | TypedDocumentNode; variables?: TVariables; fetchPolicy?: FetchPolicy; errorPolicy?: ErrorPolicy; context?: DefaultContext; } export interface MutationBaseOptions = ApolloCache> { optimisticResponse?: TData | ((vars: TVariables) => TData); updateQueries?: MutationQueryReducersMap; refetchQueries?: ((result: FetchResult) => InternalRefetchQueriesInclude) | InternalRefetchQueriesInclude; awaitRefetchQueries?: boolean; update?: MutationUpdaterFunction; onQueryUpdated?: OnQueryUpdated; errorPolicy?: ErrorPolicy; variables?: TVariables; context?: TContext; } export interface MutationOptions = ApolloCache> extends MutationBaseOptions { mutation: DocumentNode | TypedDocumentNode; fetchPolicy?: MutationFetchPolicy; keepRootFields?: boolean; } //# sourceMappingURL=watchQueryOptions.d.ts.map