import type { ObjectWithId } from '@naturalcycles/js-lib/types';
import type { DBSaveBatchOperation } from '../../db.model.js';
import type { FileDBPersistencePlugin } from './file.db.model.js';
export interface LocalFilePersistencePluginCfg {
    /**
     * @default ./tmp/localdb
     */
    storagePath: string;
    /**
     * @default true
     */
    zst: boolean;
}
/**
 * Persists in local filesystem as ndjson.
 */
export declare class LocalFilePersistencePlugin implements FileDBPersistencePlugin {
    constructor(cfg?: Partial<LocalFilePersistencePluginCfg>);
    cfg: LocalFilePersistencePluginCfg;
    ping(): Promise<void>;
    getTables(): Promise<string[]>;
    loadFile<ROW extends ObjectWithId>(table: string): Promise<ROW[]>;
    saveFiles(ops: DBSaveBatchOperation<any>[]): Promise<void>;
    saveFile<ROW extends ObjectWithId>(table: string, rows: ROW[]): Promise<void>;
}
