import { DocumentNode, GraphQLError } from 'graphql'; import { ApolloCache } from '../cache'; import { FetchResult } from '../link/core'; import { ApolloError } from '../errors'; import { QueryInfo } from './QueryInfo'; import { NetworkStatus } from './networkStatus'; import { Resolver } from './LocalState'; import { ObservableQuery } from './ObservableQuery'; import { QueryOptions } from './watchQueryOptions'; import { Cache } from '../cache'; import { IsStrictlyAny } from '../utilities'; export { TypedDocumentNode } from '@graphql-typed-document-node/core'; export interface DefaultContext extends Record { } export type QueryListener = (queryInfo: QueryInfo) => void; export type OnQueryUpdated = (observableQuery: ObservableQuery, diff: Cache.DiffResult, lastDiff: Cache.DiffResult | undefined) => boolean | TResult; export type RefetchQueryDescriptor = string | DocumentNode; export type InternalRefetchQueryDescriptor = RefetchQueryDescriptor | QueryOptions; type RefetchQueriesIncludeShorthand = "all" | "active"; export type RefetchQueriesInclude = RefetchQueryDescriptor[] | RefetchQueriesIncludeShorthand; export type InternalRefetchQueriesInclude = InternalRefetchQueryDescriptor[] | RefetchQueriesIncludeShorthand; export interface RefetchQueriesOptions, TResult> { updateCache?: (cache: TCache) => void; include?: RefetchQueriesInclude; optimistic?: boolean; onQueryUpdated?: OnQueryUpdated | null; } export type RefetchQueriesPromiseResults = IsStrictlyAny extends true ? any[] : TResult extends boolean ? ApolloQueryResult[] : TResult extends PromiseLike ? U[] : TResult[]; export interface RefetchQueriesResult extends Promise> { queries: ObservableQuery[]; results: InternalRefetchQueriesResult[]; } export interface InternalRefetchQueriesOptions, TResult> extends Omit, "include"> { include?: InternalRefetchQueriesInclude; removeOptimistic?: string; } export type InternalRefetchQueriesResult = TResult extends boolean ? Promise> : TResult; export type InternalRefetchQueriesMap = Map, InternalRefetchQueriesResult>; export type { QueryOptions as PureQueryOptions }; export type OperationVariables = Record; export type ApolloQueryResult = { data: T; errors?: ReadonlyArray; error?: ApolloError; loading: boolean; networkStatus: NetworkStatus; partial?: boolean; }; export type MutationQueryReducer = (previousResult: Record, options: { mutationResult: FetchResult; queryName: string | undefined; queryVariables: Record; }) => Record; export type MutationQueryReducersMap = { [queryName: string]: MutationQueryReducer; }; export type MutationUpdaterFn = (cache: ApolloCache, mutationResult: FetchResult) => void; export type MutationUpdaterFunction> = (cache: TCache, result: Omit, 'context'>, options: { context?: TContext; variables?: TVariables; }) => void; export interface Resolvers { [key: string]: { [field: string]: Resolver; }; } //# sourceMappingURL=types.d.ts.map