UNPKG

1.04 kBTypeScriptView Raw
1import { ApolloClient, ApolloError, OperationVariables, SubscriptionOptions } from 'apollo-client';
2import { DocumentNode } from 'graphql';
3import { Omit } from './utils';
4export declare type OnSubscriptionData<TData> = (options: OnSubscriptionDataOptions<TData>) => any;
5export interface OnSubscriptionDataOptions<TData> {
6 client: ApolloClient<any>;
7 subscriptionData: SubscriptionHookResult<TData>;
8}
9export interface SubscriptionHookOptions<TData, TVariables, TCache = object> extends Omit<SubscriptionOptions<TVariables>, 'query'> {
10 skip?: boolean;
11 onSubscriptionData?: OnSubscriptionData<TData>;
12 client?: ApolloClient<TCache>;
13}
14export interface SubscriptionHookResult<TData> {
15 data?: TData;
16 error?: ApolloError;
17 loading: boolean;
18}
19export declare function useSubscription<TData = any, TVariables = OperationVariables, TCache = object>(query: DocumentNode, { onSubscriptionData, client: overrideClient, ...options }?: SubscriptionHookOptions<TData, TVariables, TCache>): SubscriptionHookResult<TData>;