import { Fs, DirsMerger, OverlayFsOptions } from '../type';
export declare const defaultDirMerger: DirsMerger;
export declare class OverlayOptions implements OverlayFsOptions {
    readonly fss: Fs[];
    readonly firstWritable: boolean;
    readonly dirsMerger: DirsMerger;
    constructor(options: {
        fss: Fs[];
        firstWritable?: boolean;
        dirsMerger?: DirsMerger;
    });
    withFilesystems(...additionalFss: Fs[]): OverlayOptions;
    withFirstWritable(writable: boolean): OverlayOptions;
    withDirsMerger(merger: DirsMerger): OverlayOptions;
    getWritableFs(): Fs | null;
    isValid(): boolean;
    getFilesystemCount(): number;
    getFilesystem(index: number): Fs | null;
    hasFilesystem(fs: Fs): boolean;
    getFilesystems(): readonly Fs[];
}
export declare function newOverlayOptions(fss: Fs[], firstWritable?: boolean, dirsMerger?: DirsMerger): OverlayOptions;
export declare function createDefaultOverlayOptions(fss: Fs[]): OverlayOptions;
export declare function createWritableOverlayOptions(fss: Fs[], dirsMerger?: DirsMerger): OverlayOptions;
