import { ModelDeltaConfig } from "../api/ReplicationConfig"; import { DocumentNode } from "graphql"; import { Client } from "urql"; import { LocalStorage } from "../../storage"; import { Model } from "../../Model"; import { NetworkIndicator } from "../network/NetworkIndicator"; import { Filter } from "../.."; export interface DeltaReplicatorConfig { config: ModelDeltaConfig; client: Client; networkIndicator: NetworkIndicator; query: DocumentNode; storage: LocalStorage; model: Model; } /** * Replication engine for delta queris */ export declare class DeltaReplicator { private options; private filter; private activePullInterval?; private performLock; constructor(options: DeltaReplicatorConfig); stop(): void; start(): Promise; perform(): Promise; /** * Apply filter to the delta query replication * * @param filter */ applyFilter(filter: Filter): void; private processResult; private saveLastSync; private loadLastSync; }