1 | import ApolloClient, { ApolloCurrentQueryResult, ApolloQueryResult, FetchMoreOptions, FetchMoreQueryOptions, NetworkStatus, ObservableQuery, OperationVariables, WatchQueryOptions } from 'apollo-client';
|
2 | import { DocumentNode } from 'graphql';
|
3 | import { Omit } from './utils';
|
4 | export interface QueryHookState<TData> extends Pick<ApolloCurrentQueryResult<undefined | TData>, 'error' | 'errors' | 'loading' | 'partial' | 'stale'> {
|
5 | data?: TData;
|
6 | networkStatus: NetworkStatus | undefined;
|
7 | }
|
8 | export interface QueryHookOptions<TVariables, TCache = object> extends Omit<WatchQueryOptions<TVariables>, 'query'> {
|
9 | notifyOnNetworkStatusChange?: boolean;
|
10 | pollInterval?: number;
|
11 | client?: ApolloClient<TCache>;
|
12 | ssr?: boolean;
|
13 | skip?: boolean;
|
14 | suspend?: boolean;
|
15 | }
|
16 | export interface QueryHookResult<TData, TVariables> extends QueryHookState<TData>, Pick<ObservableQuery<TData, TVariables>, 'refetch' | 'startPolling' | 'stopPolling' | 'updateQuery'> {
|
17 | fetchMore<K extends keyof TVariables>(fetchMoreOptions: FetchMoreQueryOptions<TVariables, K> & FetchMoreOptions<TData, TVariables>): Promise<ApolloQueryResult<TData>>;
|
18 | }
|
19 | export declare function useQuery<TData = any, TVariables = OperationVariables, TCache = object>(query: DocumentNode, { ssr, skip, suspend, pollInterval, notifyOnNetworkStatusChange, client: overrideClient, context, metadata, variables, fetchPolicy: actualCachePolicy, errorPolicy, fetchResults, }?: QueryHookOptions<TVariables, TCache>): QueryHookResult<TData, TVariables>;
|