UNPKG

1.13 kBTypeScriptView Raw
1import { AnyVariables, Client, OperationContext, OperationResult, TypedDocumentNode } from '@urql/core';
2import { Atom, Getter } from 'jotai';
3declare type OperationResultWithData<Data, Variables> = OperationResult<Data, Variables> & {
4 data: Data;
5};
6declare type SubscriptionArgs<Data, Variables extends AnyVariables> = {
7 query: TypedDocumentNode<Data, Variables> | string;
8 variables: Variables;
9 context?: Partial<OperationContext>;
10};
11declare type SubscriptionArgsWithPause<Data, Variables extends AnyVariables> = SubscriptionArgs<Data, Variables> & {
12 pause: boolean;
13};
14export declare function atomWithSubscription<Data, Variables extends AnyVariables>(createSubscriptionArgs: (get: Getter) => SubscriptionArgs<Data, Variables>, getClient?: (get: Getter) => Client): Atom<OperationResultWithData<Data, Variables>>;
15export declare function atomWithSubscription<Data, Variables extends AnyVariables>(createSubscriptionArgs: (get: Getter) => SubscriptionArgsWithPause<Data, Variables>, getClient?: (get: Getter) => Client): Atom<OperationResultWithData<Data, Variables> | null>;
16export {};