/// import { Persistence, PersistenceEvent } from "../core/persistence"; import * as fs from "fs"; import { appendFile, exists, readFile, rename, unlink, writeFile } from "fs"; declare const _storage: { lock: (filename: string) => Promise; unlock: (filename: string) => Promise; appendFile: typeof appendFile.__promisify__; exists: typeof exists.__promisify__; readFile: typeof readFile.__promisify__; rename: typeof rename.__promisify__; unlink: typeof unlink.__promisify__; writeFile: typeof writeFile.__promisify__; mkdirp: (targetDir: string) => Promise; ensureFileDoesntExist: (file: string) => Promise; /** * Flush data in OS buffer to storage if corresponding option is set * If options is a string, it is assumed that the flush of the file (not dir) called options was requested */ flushToStorage: (options: string | { filename: string; isDir: boolean; }) => Promise; createWriteableStream: (filename: string) => Promise; writeSingleLine: (stream: fs.WriteStream, line: string) => Promise; endStream: (stream: fs.WriteStream) => Promise; readByLine: (filename: string, onLine: (line: string) => void, onClose: () => void) => void; beforeWriteFile: (filename: string) => Promise; afterWritingFile: (filename: string) => Promise; /** * Ensure the data file contains all the data, even if there was a crash during a full file write */ ensureDataFileIntegrity: (filename: string) => Promise; }; declare const storage: typeof _storage; export { storage }; export declare class FS_Persistence_Adapter extends Persistence { indexesFilenameExtension: string; readFileByLine(event: PersistenceEvent, filename: string): Promise; writeFileByLine(event: PersistenceEvent, filename: string): Promise; init(): Promise; readIndexes(event: PersistenceEvent): Promise; readData(event: PersistenceEvent): Promise; rewriteIndexes(event: PersistenceEvent): Promise; rewriteData(event: PersistenceEvent): Promise; appendIndex(data: string): Promise; appendData(data: string): Promise; forcefulUnlock(): Promise; }