import IFolder from "../storage/IFolder";
import IFile from "../storage/IFile";
import GitHubFile from "./GitHubFile";
import GitHubStorage from "./GitHubStorage";
import FolderBase from "../storage/FolderBase";
export default class GitHubFolder extends FolderBase implements IFolder {
    private _name;
    private _parentPath;
    sha?: string;
    folders: {
        [name: string]: GitHubFolder | undefined;
    };
    files: {
        [name: string]: GitHubFile | undefined;
    };
    private _storage;
    private _parentFolder;
    get storage(): GitHubStorage;
    get parentFolder(): GitHubFolder | null;
    get name(): string;
    get fullPath(): string;
    constructor(storage: GitHubStorage, parentFolder: GitHubFolder | null, parentPath: string, folderName: string);
    exists(): Promise<boolean>;
    ensureExists(): Promise<boolean>;
    moveTo(newStorageRelativePath: string): Promise<boolean>;
    deleteThisFolder(): Promise<boolean>;
    deleteAllFolderContents(): Promise<boolean>;
    scanForChanges(): Promise<void>;
    ensureFile(name: string): GitHubFile;
    ensureFolder(name: string): GitHubFolder;
    deleteFile(name: string): Promise<boolean>;
    createFile(name: string): Promise<IFile>;
    load(force?: boolean): Promise<Date>;
}
