import ApolloClient, { MutationOptions, OperationVariables } from "apollo-client"; import { NormalizedCacheObject } from "apollo-cache-inmemory"; import { OffixScheduler } from "offix-scheduler"; import { CachePersistor } from "apollo-cache-persist"; import { MutationHelperOptions, CacheUpdates } from "offix-cache"; import { FetchResult } from "apollo-link"; import { ApolloOfflineQueue, ApolloOfflineStore, ApolloOfflineQueueListener, CompositeConflictListener } from "./apollo"; import { NetworkStatus } from "offix-offline"; import { ObjectState, ConflictListener } from "offix-conflicts-client"; import { ApolloOfflineClientOptions, InputMapper } from "./config/ApolloOfflineClientOptions"; export declare class ApolloOfflineClient extends ApolloClient { persistor: CachePersistor; scheduler: OffixScheduler; offlineStore?: ApolloOfflineStore; conflictProvider: ObjectState; conflictListener: CompositeConflictListener; networkStatus: NetworkStatus; queue: ApolloOfflineQueue; mutationCacheUpdates?: CacheUpdates; initialized: boolean; inputMapper?: InputMapper; constructor(options: ApolloOfflineClientOptions); init(): Promise; execute(options: MutationOptions): Promise, Record>>; offlineMutate(options: MutationHelperOptions): Promise>; /** * Add new listener for listening for queue changes * * @param listener */ registerOfflineEventListener(listener: ApolloOfflineQueueListener): void; /** * Add new listener for conflict related events * * @param listener */ addConflictListener(listener: ConflictListener): void; /** * remove a conflict listener * * @param listener */ removeConflictListener(listener: ConflictListener): void; protected createOfflineMutationOptions(options: MutationHelperOptions): MutationOptions; }