import FilenSDK, { type PauseSignal } from "@filen/sdk"; import { type SyncPair, type SyncMode } from "../types"; import { LocalFileSystem, LocalTree, type LocalTreeError } from "./filesystems/local"; import { RemoteFileSystem, RemoteTree } from "./filesystems/remote"; import Deltas from "./deltas"; import Tasks, { type TaskError } from "./tasks"; import State from "./state"; import Ignorer from "../ignorer"; import type SyncWorker from ".."; import Lock from "./lock"; /** * Sync * * @export * @class Sync * @typedef {Sync} */ export declare class Sync { readonly sdk: FilenSDK; readonly syncPair: SyncPair; private isInitialized; readonly localFileSystem: LocalFileSystem; readonly remoteFileSystem: RemoteFileSystem; readonly deltas: Deltas; previousLocalTree: LocalTree; previousRemoteTree: RemoteTree; localFileHashes: Record; readonly tasks: Tasks; readonly state: State; readonly dbPath: string; readonly abortControllers: Record; readonly pauseSignals: Record; readonly ignorer: Ignorer; paused: boolean; mode: SyncMode; excludeDotFiles: boolean; readonly worker: SyncWorker; removed: boolean; readonly lock: Lock; taskErrors: TaskError[]; localTrashDisabled: boolean; localTreeErrors: LocalTreeError[]; cleaningLocalTrash: boolean; isPreviousSavedTreeStateEmpty: boolean; requireConfirmationOnLargeDeletion: boolean; deletionConfirmationResult: "delete" | "restart" | "waiting"; /** * Creates an instance of Sync. * * @constructor * @public * @param {{ syncPair: SyncPair; worker: SyncWorker }} param0 * @param {SyncPair} param0.syncPair * @param {SyncWorker} param0.worker */ constructor({ syncPair, worker }: { syncPair: SyncPair; worker: SyncWorker; }); smokeTest(): Promise; cleanupLocalTrash(): void; initialize(): Promise; cleanup({ deleteLocalDbFiles }: { deleteLocalDbFiles?: boolean; }): Promise; deleteLocalSyncDbFiles(): Promise; private run; } export default Sync;