UNPKG

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