import { FileSystem, Directory, File, ShallowDirectory } from "./api";
import { InternalEventsEmitter } from "./utils";
export declare class MemoryFileSystem implements FileSystem {
    baseUrl: string;
    readonly events: InternalEventsEmitter;
    private readonly root;
    private isIgnored;
    constructor(baseUrl?: string, ignore?: Array<string>);
    private getPathTarget(pathArr);
    saveFile(fullPath: string, newContent: string): Promise<void>;
    deleteFile(fullPath: string): Promise<void>;
    deleteDirectory(fullPath: string, recursive?: boolean): Promise<void>;
    ensureDirectory(fullPath: string): Promise<void>;
    loadTextFile(fullPath: string): Promise<string>;
    loadDirectoryTree(fullPath?: string): Promise<Directory>;
    loadDirectoryChildren(fullPath: string): Promise<(File | ShallowDirectory)[]>;
    saveFileSync(fullPath: string, newContent: string): void;
    deleteFileSync(fullPath: string): void;
    deleteDirectorySync(fullPath: string, recursive?: boolean): void;
    ensureDirectorySync(fullPath: string): void;
    loadTextFileSync(fullPath: string): string;
    loadDirectoryTreeSync(fullPath?: string): Directory;
    loadDirectoryChildrenSync(fullPath: string): (File | ShallowDirectory)[];
    private parseTree(node);
    private recursiveEmitDeletion(node);
}
