import type { QueryKey, QueryOptions, QueryStatus, QueryMeta, CancelOptions, SetDataOptions, FetchStatus } from './types'; import type { QueryCache } from './queryCache'; import type { QueryObserver } from './queryObserver'; import type { Logger } from './logger'; import { Removable } from './removable'; interface QueryConfig { cache: QueryCache; queryKey: TQueryKey; queryHash: string; logger?: Logger; options?: QueryOptions; defaultOptions?: QueryOptions; state?: QueryState; } export interface QueryState { data: TData | undefined; dataUpdateCount: number; dataUpdatedAt: number; error: TError | null; errorUpdateCount: number; errorUpdatedAt: number; fetchFailureCount: number; fetchFailureReason: TError | null; fetchMeta: any; isInvalidated: boolean; status: QueryStatus; fetchStatus: FetchStatus; } export interface FetchContext { fetchFn: () => unknown | Promise; fetchOptions?: FetchOptions; signal?: AbortSignal; options: QueryOptions; queryKey: TQueryKey; state: QueryState; } export interface QueryBehavior { onFetch: (context: FetchContext) => void; } export interface FetchOptions { cancelRefetch?: boolean; meta?: any; } interface FailedAction { type: 'failed'; failureCount: number; error: TError; } interface FetchAction { type: 'fetch'; meta?: any; } interface SuccessAction { data: TData | undefined; type: 'success'; dataUpdatedAt?: number; manual?: boolean; } interface ErrorAction { type: 'error'; error: TError; } interface InvalidateAction { type: 'invalidate'; } interface PauseAction { type: 'pause'; } interface ContinueAction { type: 'continue'; } interface SetStateAction { type: 'setState'; state: Partial>; setStateOptions?: SetStateOptions; } export declare type Action = ContinueAction | ErrorAction | FailedAction | FetchAction | InvalidateAction | PauseAction | SetStateAction | SuccessAction; export interface SetStateOptions { meta?: any; } export declare class Query extends Removable { queryKey: TQueryKey; queryHash: string; options: QueryOptions; initialState: QueryState; revertState?: QueryState; state: QueryState; isFetchingOptimistic?: boolean; private cache; private logger; private promise?; private retryer?; private observers; private defaultOptions?; private abortSignalConsumed; constructor(config: QueryConfig); get meta(): QueryMeta | undefined; private setOptions; protected optionalRemove(): void; setData(newData: TData, options?: SetDataOptions & { manual: boolean; }): TData; setState(state: Partial>, setStateOptions?: SetStateOptions): void; cancel(options?: CancelOptions): Promise; destroy(): void; reset(): void; isActive(): boolean; isDisabled(): boolean; isStale(): boolean; isStaleByTime(staleTime?: number): boolean; onFocus(): void; onOnline(): void; addObserver(observer: QueryObserver): void; removeObserver(observer: QueryObserver): void; getObserversCount(): number; invalidate(): void; fetch(options?: QueryOptions, fetchOptions?: FetchOptions): Promise; private dispatch; } export {}; //# sourceMappingURL=query.d.ts.map