/// <reference types="node" />
import { FileHandle } from "fs/promises";
export declare class LockableFile {
    readonly filename: string;
    readonly exclusive: boolean;
    protected fileHandle: FileHandle;
    protected fileLocked: boolean;
    private lockableFileReady;
    constructor(filename: string, exclusive?: boolean);
    get ready(): Promise<void>;
    private initializeLockableFile;
    protected lockFile(block: boolean): Promise<boolean>;
    protected unlockFile(): Promise<boolean>;
    protected getFileLength(): Promise<number>;
}
