///
import { ApolloLink, Observable, Operation, GraphQLRequest, NextLink } from "apollo-link";
import { ExecutionResult } from "graphql";
import { Store } from "redux";
import { OfflineCache } from "../cache/offline-cache";
import { MutationUpdaterFn, MutationQueryReducersMap } from "apollo-client";
import { RefetchQueryDescription, FetchPolicy } from "apollo-client/core/watchQueryOptions";
import { OfflineEffectConfig } from "../store";
export declare const isOptimistic: (obj: any) => any;
export declare class OfflineLink extends ApolloLink {
private store;
constructor(store: Store);
request(operation: Operation, forward: NextLink): Observable<{}>;
}
export declare const boundSaveSnapshot: (store: any, cache: any) => any;
export declare type EnqueuedMutationEffect = {
optimisticResponse: object;
operation: GraphQLRequest;
update: MutationUpdaterFn;
updateQueries: MutationQueryReducersMap;
refetchQueries: ((result: ExecutionResult) => RefetchQueryDescription) | RefetchQueryDescription;
observer: ZenObservable.SubscriptionObserver;
fetchPolicy?: FetchPolicy;
};
export declare const replaceUsingMap: (obj: any, map?: {}) => any;
export declare const getIds: (dataIdFromObject: any, obj: any, path?: string, acc?: {}) => any;
export declare const offlineEffectConfig: OfflineEffectConfig;