import { DocumentNode, GraphQLError } from 'graphql'; import { Cache } from '../cache'; import { WatchQueryOptions, ErrorPolicy } from './watchQueryOptions'; import { ObservableQuery } from './ObservableQuery'; import { QueryListener } from './types'; import { FetchResult } from '../link/core'; import { ObservableSubscription } from '../utilities'; import { NetworkStatus } from './networkStatus'; import { ApolloError } from '../errors'; import { QueryManager } from './QueryManager'; export type QueryStoreValue = Pick; export declare const enum CacheWriteBehavior { FORBID = 0, OVERWRITE = 1, MERGE = 2 } export declare class QueryInfo { readonly queryId: string; listeners: Set; document: DocumentNode | null; lastRequestId: number; subscriptions: Set; variables?: Record; networkStatus?: NetworkStatus; networkError?: Error | null; graphQLErrors?: ReadonlyArray; stopped: boolean; private cache; constructor(queryManager: QueryManager, queryId?: string); init(query: { document: DocumentNode; variables: Record | undefined; networkStatus?: NetworkStatus; observableQuery?: ObservableQuery; lastRequestId?: number; }): this; private dirty; private notifyTimeout?; reset(): void; getDiff(variables?: Record | undefined): Cache.DiffResult; private lastDiff?; private updateLastDiff; private getDiffOptions; setDiff(diff: Cache.DiffResult | null): void; readonly observableQuery: ObservableQuery | null; private oqListener?; setObservableQuery(oq: ObservableQuery | null): void; notify(): void; private shouldNotify; stop(): void; private cancel; private lastWatch?; private updateWatch; private lastWrite?; resetLastWrite(): void; private shouldWrite; markResult(result: FetchResult, document: DocumentNode, options: Pick, cacheWriteBehavior: CacheWriteBehavior): void; markReady(): NetworkStatus; markError(error: ApolloError): ApolloError; } export declare function shouldWriteResult(result: FetchResult, errorPolicy?: ErrorPolicy): boolean; //# sourceMappingURL=QueryInfo.d.ts.map