import IFile from "../../storage/IFile";
import { IEventHandler } from "ste-events";
import IFolder from "../../storage/IFolder";
import DocumentedCommand from "./DocumentedCommand";
import IDocCommandSet from "./IDocCommandSet";
import IDocCommandEnum from "./IDocCommandEnum";
export default class DocumentedCommandSet {
    private _file?;
    private _id?;
    private _name?;
    private _version?;
    private _isLoaded;
    private _docFolder;
    private _docCommands;
    commandSetDefinition?: IDocCommandSet;
    private _onLoaded;
    get isLoaded(): boolean;
    get docFolder(): IFolder;
    get commands(): {
        [name: string]: DocumentedCommand;
    };
    get file(): IFile | undefined;
    set file(newFile: IFile | undefined);
    get onLoaded(): import("ste-events").IEvent<DocumentedCommandSet, DocumentedCommandSet>;
    get name(): string;
    get id(): string | undefined;
    set id(newId: string | undefined);
    constructor(docFolder: IFolder);
    getEnum(name: string): IDocCommandEnum;
    static ensureOnFile(file: IFile, docFolder: IFolder, loadHandler?: IEventHandler<DocumentedCommandSet, DocumentedCommandSet>): Promise<DocumentedCommandSet>;
    ensureDocFolder(docsFolder: IFolder): IFolder;
    isEnumUsedInMultipleCommands(enumInstance: IDocCommandEnum): boolean;
    persist(): Promise<boolean>;
    load(): Promise<void>;
}
