import IFolder from "./IFolder";
import IFile from "./IFile";
import ZipFile from "./ZipFile";
import ZipStorage from "./ZipStorage";
import JSZip from "jszip";
import FolderBase from "./FolderBase";
export default class ZipFolder extends FolderBase implements IFolder {
    private _name;
    private _parentPath;
    folders: {
        [id: string]: ZipFolder | undefined;
    };
    files: {
        [id: string]: ZipFile | undefined;
    };
    private _storage;
    private _parentFolder;
    private _jsz;
    get ensuredName(): string;
    get zip(): JSZip;
    set zip(newZip: JSZip);
    get storage(): ZipStorage;
    get parentFolder(): ZipFolder | null;
    get name(): string;
    get fullPath(): string;
    constructor(storage: ZipStorage, jszipThisFolder: JSZip, parentFolder: ZipFolder | null, parentPath: string, folderName: string);
    scanForChanges(): Promise<void>;
    exists(): Promise<boolean>;
    ensureExists(): Promise<boolean>;
    ensureFile(name: string): ZipFile;
    moveTo(newStorageRelativePath: string): Promise<boolean>;
    ensureFolder(name: string): ZipFolder;
    deleteFile(name: string): Promise<boolean>;
    deleteThisFolder(): Promise<boolean>;
    deleteAllFolderContents(): Promise<boolean>;
    createFile(name: string): Promise<IFile>;
    load(force?: boolean): Promise<Date>;
}
