import { ApolloClient, ApolloError, OperationVariables, SubscriptionOptions } from 'apollo-client'; import { DocumentNode } from 'graphql'; import { Omit } from './utils'; export declare type OnSubscriptionData = (options: OnSubscriptionDataOptions) => any; export interface OnSubscriptionDataOptions { client: ApolloClient; subscriptionData: SubscriptionHookResult; } export interface SubscriptionHookOptions extends Omit, 'query'> { skip?: boolean; onSubscriptionData?: OnSubscriptionData; client?: ApolloClient; } export interface SubscriptionHookResult { data?: TData; error?: ApolloError; loading: boolean; } export declare function useSubscription(query: DocumentNode, { onSubscriptionData, client: overrideClient, ...options }?: SubscriptionHookOptions): SubscriptionHookResult;