import IFolder from "./IFolder";
import IFile from "./IFile";
import BrowserFile from "./BrowserFile";
import BrowserStorage from "./BrowserStorage";
import FolderBase from "./FolderBase";
export default class BrowserFolder extends FolderBase implements IFolder {
    private _name;
    private _parentPath;
    private _lastSavedContent;
    private _storage;
    private _parentFolder;
    private _lastLoadedPath?;
    get storage(): BrowserStorage;
    get parentFolder(): BrowserFolder | null;
    folders: {
        [id: string]: BrowserFolder | undefined;
    };
    files: {
        [id: string]: BrowserFile | undefined;
    };
    lastSavedFileCount: number;
    modifiedAtLoad?: Date;
    get name(): string;
    get fullPath(): string;
    constructor(storage: BrowserStorage, parentFolder: BrowserFolder | null, parentPath: string, folderName: string);
    ensureFile(name: string): BrowserFile;
    exists(): Promise<boolean>;
    ensureExists(): Promise<boolean>;
    deleteThisFolder(): Promise<boolean>;
    deleteAllFolderContents(): Promise<boolean>;
    ensureFolder(name: string): BrowserFolder;
    scanForChanges(): Promise<void>;
    _removeFile(file: IFile): void;
    _addExistingFile(file: BrowserFile): void;
    moveTo(newStorageRelativePath: string, ignoreParentSave?: boolean): Promise<boolean>;
    createFile(name: string): Promise<IFile>;
    load(force?: boolean): Promise<Date>;
    resaveAfterMove(newParentPath: string): Promise<void>;
    save(force?: boolean): Promise<Date>;
    saveAll(force?: boolean): Promise<boolean>;
}
