1 | import { DocumentNode } from 'graphql';
|
2 | import { TypedDocumentNode } from '@graphql-typed-document-node/core';
|
3 | import { MissingFieldError } from './common';
|
4 | export declare namespace DataProxy {
|
5 | interface Query<TVariables, TData> {
|
6 | query: DocumentNode | TypedDocumentNode<TData, TVariables>;
|
7 | variables?: TVariables;
|
8 | id?: string;
|
9 | }
|
10 | interface Fragment<TVariables, TData> {
|
11 | id?: string;
|
12 | fragment: DocumentNode | TypedDocumentNode<TData, TVariables>;
|
13 | fragmentName?: string;
|
14 | variables?: TVariables;
|
15 | }
|
16 | interface ReadQueryOptions<TData, TVariables> extends Query<TVariables, TData> {
|
17 | returnPartialData?: boolean;
|
18 | optimistic?: boolean;
|
19 | canonizeResults?: boolean;
|
20 | }
|
21 | interface ReadFragmentOptions<TData, TVariables> extends Fragment<TVariables, TData> {
|
22 | returnPartialData?: boolean;
|
23 | optimistic?: boolean;
|
24 | canonizeResults?: boolean;
|
25 | }
|
26 | interface WriteOptions<TData> {
|
27 | data: TData;
|
28 | broadcast?: boolean;
|
29 | overwrite?: boolean;
|
30 | }
|
31 | interface WriteQueryOptions<TData, TVariables> extends Query<TVariables, TData>, WriteOptions<TData> {
|
32 | }
|
33 | interface WriteFragmentOptions<TData, TVariables> extends Fragment<TVariables, TData>, WriteOptions<TData> {
|
34 | }
|
35 | interface UpdateQueryOptions<TData, TVariables> extends Omit<(ReadQueryOptions<TData, TVariables> & WriteQueryOptions<TData, TVariables>), 'data'> {
|
36 | }
|
37 | interface UpdateFragmentOptions<TData, TVariables> extends Omit<(ReadFragmentOptions<TData, TVariables> & WriteFragmentOptions<TData, TVariables>), 'data'> {
|
38 | }
|
39 | type DiffResult<T> = {
|
40 | result?: T;
|
41 | complete?: boolean;
|
42 | missing?: MissingFieldError[];
|
43 | fromOptimisticTransaction?: boolean;
|
44 | };
|
45 | }
|
46 | export interface DataProxy {
|
47 | readQuery<QueryType, TVariables = any>(options: DataProxy.ReadQueryOptions<QueryType, TVariables>, optimistic?: boolean): QueryType | null;
|
48 | readFragment<FragmentType, TVariables = any>(options: DataProxy.ReadFragmentOptions<FragmentType, TVariables>, optimistic?: boolean): FragmentType | null;
|
49 | writeQuery<TData = any, TVariables = any>(options: DataProxy.WriteQueryOptions<TData, TVariables>): void;
|
50 | writeFragment<TData = any, TVariables = any>(options: DataProxy.WriteFragmentOptions<TData, TVariables>): void;
|
51 | }
|
52 |
|
\ | No newline at end of file |