1 | import { AnyVariables, Client, OperationContext, OperationResult, TypedDocumentNode } from '@urql/core';
|
2 | import { Getter, WritableAtom } from 'jotai';
|
3 | type AtomWithSubscriptionAction = {
|
4 | type: 'refetch';
|
5 | };
|
6 | type OperationResultWithData<Data, Variables extends AnyVariables> = Pick<OperationResult<Data, Variables>, Exclude<keyof OperationResult<Data, Variables>, 'data'>> & {
|
7 | data: Data;
|
8 | };
|
9 | type SubscriptionArgs<Data, Variables extends AnyVariables> = {
|
10 | query: TypedDocumentNode<Data, Variables> | string;
|
11 | variables: Variables;
|
12 | context?: Partial<OperationContext>;
|
13 | };
|
14 | type SubscriptionArgsWithPause<Data, Variables extends AnyVariables> = SubscriptionArgs<Data, Variables> & {
|
15 | pause: boolean;
|
16 | };
|
17 | export declare function atomWithSubscription<Data, Variables extends AnyVariables>(createSubscriptionArgs: (get: Getter) => SubscriptionArgs<Data, Variables>, getClient?: (get: Getter) => Client): WritableAtom<OperationResultWithData<Data, Variables>, AtomWithSubscriptionAction>;
|
18 | export declare function atomWithSubscription<Data, Variables extends AnyVariables>(createSubscriptionArgs: (get: Getter) => SubscriptionArgsWithPause<Data, Variables>, getClient?: (get: Getter) => Client): WritableAtom<OperationResultWithData<Data, Variables> | null, AtomWithSubscriptionAction>;
|
19 | export {};
|
20 | declare type Awaited<T> = T extends Promise<infer V> ? V : T; |
\ | No newline at end of file |