import { EventEmitter } from 'events'; import { FileHandler } from '../fs'; import { FileFormat } from './formats'; export declare abstract class StructuredFile extends EventEmitter { private _fileHandler; private _fileFormat; protected _fileContent: T | null; private _modified; private _readingPromise; private _writingPromise; private _nextWritingPromise; private _lastReadModifiedTime; private _lastReadSize; private _busyState; constructor(_fileHandler: FileHandler, _fileFormat: FileFormat); private _markBusy; private _markNonBusy; protected _markModified(): void; protected _afterRead(): void; private _doRead; protected _read(): Promise; private _doWrite; private _waitAndWriteAgain; protected _write(): Promise; get path(): string; }