/// import { Store } from "redux"; import { SubscribeWithSyncOptions, QuerySyncOptions } from "./client"; import { OfflineEffectConfig } from "./store"; import { OperationVariables } from "apollo-client"; import { DocumentNode } from "graphql"; import { QueryWithVariables } from "./helpers/offline"; declare type SubscribeWithSyncEffectOptions = SubscribeWithSyncOptions & { lastSyncTimestamp?: number; baseLastSyncTimestamp?: number; }; export declare type DeltaSyncEffect = { options: SubscribeWithSyncEffectOptions; observer: ZenObservable.SubscriptionObserver; callback: (Subscription: any) => void; }; export declare const DELTASYNC_KEY = "deltaSync"; export declare type DeltaSyncState = { metadata: { [key: string]: DeltaSyncStateMetadata; }; }; export declare type DeltaSyncStateMetadata = { baseLastSyncTimestamp: number; lastSyncTimestamp: number; }; export declare const hashForOptions: (options: SubscribeWithSyncOptions) => string; export declare const boundEnqueueDeltaSync: (store: Store, options: SubscribeWithSyncEffectOptions, observer: ZenObservable.SubscriptionObserver, callback: (Subscription: any) => void) => void; export declare const buildSync: (typename: string, options: { baseQuery?: BuildBaseQuerySyncOptions; subscriptionQuery?: BuildQuerySyncOptions; deltaQuery?: BuildQuerySyncOptions; cacheUpdates?: (item: T) => QueryWithVariables[]; }, idField?: string) => SubscribeWithSyncOptions; export declare type BuildQuerySyncOptions = { query: DocumentNode; variables: TVariables; }; export declare type BuildBaseQuerySyncOptions = QuerySyncOptions & { baseRefreshIntervalInSeconds?: number; }; export declare const offlineEffectConfig: OfflineEffectConfig; export {};