import { DocumentNode } from "graphql"; import { HttpClientOptions } from "./createHttpClient"; import { StoreType } from "./MSTGQLStore"; export declare type CaseHandlers = { loading(): R; error(error: any): R; data(data: T): R; }; export declare type FetchPolicy = | "cache-first" | "cache-only" | "cache-and-network" | "network-only" | "no-cache"; export declare type QueryHttpClientOptions = Pick< NonNullable, "signal" >; export declare type QueryOptions = { fetchPolicy?: FetchPolicy; noSsr?: boolean; httpClientOptions?: QueryHttpClientOptions; }; export declare class Query implements PromiseLike { store: StoreType; variables: any; options: QueryOptions; loading: boolean; data: T | undefined; error: any; query: string; promise: Promise; private fetchPolicy; private queryKey; constructor( store: StoreType, query: string | DocumentNode, variables: any, options?: QueryOptions ); clearData: () => void; refetch: () => Promise; private fetchResults; private useCachedResults; case(handlers: CaseHandlers): R; currentPromise(): Promise; then( onfulfilled?: | ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: | ((reason: any) => TResult2 | PromiseLike) | undefined | null ): PromiseLike; }