import { QueryResult, QueryDataOptions, QueryTuple } from '../types/types';
import { OperationData } from './OperationData';
export declare class QueryData<TData, TVariables> extends OperationData {
    onNewData: () => void;
    private previousData;
    private currentObservable?;
    private currentSubscription?;
    private runLazy;
    private lazyOptions?;
    constructor({ options, context, onNewData }: {
        options: QueryDataOptions<TData, TVariables>;
        context: any;
        onNewData: () => void;
    });
    execute(): QueryResult<TData, TVariables>;
    executeLazy(): QueryTuple<TData, TVariables>;
    fetchData(): Promise<void> | boolean;
    afterExecute({ lazy }?: {
        lazy?: boolean;
    }): any;
    cleanup(): void;
    getOptions(): any;
    ssrInitiated(): any;
    private runLazyQuery;
    private getExecuteResult;
    private getExecuteSsrResult;
    private prepareObservableQueryOptions;
    private initializeObservableQuery;
    private updateObservableQuery;
    private startQuerySubscription;
    private resubscribeToQuery;
    private getQueryResult;
    private handleErrorOrCompleted;
    private removeQuerySubscription;
    private obsRefetch;
    private obsFetchMore;
    private obsUpdateQuery;
    private obsStartPolling;
    private obsStopPolling;
    private obsSubscribeToMore;
    private observableQueryFields;
}
//# sourceMappingURL=QueryData.d.ts.map