import { Logger } from '@sudoplatform/sudo-common'; import { GraphQLError } from 'graphql'; import Observable from 'zen-observable'; import { CreateSudoInput, DeleteSudoInput, GetOwnershipProofInput, OnCreateSudoSubscription, OnDeleteSudoSubscription, OnUpdateSudoSubscription, OwnershipProof, Sudo, UpdateSudoInput } from '../gen/graphql-types'; import { SubscriptionResult } from '../sudo/SubscriptionManager'; import { FetchOption } from '../sudo/sudo'; import { GraphQLClient } from '@sudoplatform/sudo-user'; /** * AppSync wrapper to use to invoke Sudo Profiles Service APIs. */ export declare class ApiClient { private readonly _client; private readonly _logger; private _cache; private _cachePromise; constructor(client: GraphQLClient, logger: Logger); createSudo(input: CreateSudoInput): Promise; updateSudo(input: UpdateSudoInput): Promise; getOwnershipProof(input: GetOwnershipProofInput): Promise; listSudos(fetchPolicy?: FetchOption): Promise; deleteSudo(input: DeleteSudoInput): Promise; reset(): Promise; subscribeToOnCreateSudo(owner: string): Promise>>; subscribeToOnUpdateSudo(owner: string): Promise>>; subscribeToOnDeleteSudo(owner: string): Promise>>; getCachedQueryItems(): Promise; replaceCachedQueryItems(items: Sudo[]): Promise; checkGraphQLResponseErrors: (errors: GraphQLError[] | undefined) => void; mapGraphQLCallError: (err: Error) => Error; returnOrThrow: (data: T | undefined, message: string) => T; private withCacheLock; private mergeSudoArrays; private fetchPolicyRequiresCacheRead; private fetchPolicyRequiresNetworkFetch; }