import { GraphQLError } from 'graphql'; import { NetworkStatus } from './networkStatus'; import { Observable } from '../util/Observable'; import { ApolloError } from '../errors/ApolloError'; import { QueryManager } from './QueryManager'; import { ApolloQueryResult, OperationVariables } from './types'; import { WatchQueryOptions, FetchMoreQueryOptions, SubscribeToMoreOptions, ErrorPolicy } from './watchQueryOptions'; import { QueryStoreValue } from '../data/queries'; export declare type ApolloCurrentResult = { data: T | {}; errors?: ReadonlyArray; loading: boolean; networkStatus: NetworkStatus; error?: ApolloError; partial?: boolean; }; export declare type ApolloCurrentQueryResult = { data: T | undefined; errors?: ReadonlyArray; loading: boolean; networkStatus: NetworkStatus; error?: ApolloError; partial?: boolean; stale?: boolean; }; export interface FetchMoreOptions { updateQuery: (previousQueryResult: TData, options: { fetchMoreResult?: TData; variables?: TVariables; }) => TData; } export interface UpdateQueryOptions { variables?: TVariables; } export declare const hasError: (storeValue: QueryStoreValue, policy?: ErrorPolicy) => boolean | Error; export declare class ObservableQuery extends Observable> { options: WatchQueryOptions; readonly queryId: string; readonly queryName?: string; variables: TVariables; private shouldSubscribe; private isTornDown; private queryManager; private observers; private subscriptions; private lastResult; private lastResultSnapshot; private lastError; constructor({ queryManager, options, shouldSubscribe, }: { queryManager: QueryManager; options: WatchQueryOptions; shouldSubscribe?: boolean; }); result(): Promise>; currentResult(): ApolloCurrentResult; getCurrentResult(): ApolloCurrentQueryResult; isDifferentFromLastResult(newResult: ApolloQueryResult): boolean; getLastResult(): ApolloQueryResult; getLastError(): ApolloError; resetLastResults(): void; resetQueryStoreErrors(): void; refetch(variables?: TVariables): Promise>; fetchMore(fetchMoreOptions: FetchMoreQueryOptions & FetchMoreOptions): Promise>; subscribeToMore(options: SubscribeToMoreOptions): () => void; setOptions(opts: WatchQueryOptions): Promise | void>; setVariables(variables: TVariables, tryFetch?: boolean, fetchResults?: boolean): Promise | void>; updateQuery(mapFn: (previousQueryResult: TData, options: UpdateQueryOptions) => TData): void; stopPolling(): void; startPolling(pollInterval: number): void; private updateLastResult; private onSubscribe; private setUpQuery; private tearDownQuery; } //# sourceMappingURL=ObservableQuery.d.ts.map