/// import EventEmitter from "events"; import { ChunkId } from "../interface"; import { Row } from "../row"; import { Chunk } from "../chunk/chunk"; export interface LoadContract { loadedRows: Row[]; } export interface SaveContract { chunkRef: Chunk; insertRows: Row[]; } export interface DataWatcherOptions { chunkSize: number; } export declare abstract class DataWatcher { #private; readonly $emitter: EventEmitter; readonly $options: OP; constructor(options: OP); $setWriteable(state: boolean): void; $isWriteable(): boolean; $toBeUnblocked(): Promise; abstract save(storeContract: SC): Promise; abstract load(chunkId: ChunkId): Promise; abstract backupRuntimeCache(): void; abstract restore(): Promise; abstract cleanup(chunkId: ChunkId): Promise; abstract countRows(chunkId: ChunkId): number; }