export declare type BufferEncoding = "buffer" | "utf8"; export declare abstract class MemoryFile { protected _content: ContentType; constructor(fileContent?: string); replaceContent(content: ContentType): void; readonly content: ContentType; toString(): string; protected abstract create_default(): ContentType; protected abstract parse_file(content: string): ContentType; protected abstract stringify_file(): string; } export declare abstract class BaseFile extends MemoryFile { protected _fileName: string; protected _create: boolean; protected _exists: boolean; protected _charset: string; private _old_content; logger: { (message?: any, ...optionalParams: any[]): void; (message?: any, ...optionalParams: any[]): void; }; constructor(fileName: string); constructor(fileName: string, charset: BufferEncoding, create: boolean); constructor(fileName: string, charset: BufferEncoding); constructor(fileName: string, create: boolean); reload(): void; exists(): boolean; write(): boolean; writeTo(otherFilePath: string): void; readonly fileName: string; }