import IFolder from "../../storage/IFolder";
import IFile from "../../storage/IFile";
import DocumentedCommandSet from "./DocumentedCommandSet";
import IDocCommand from "./IDocCommand";
import IDocCommandOverloadParam from "./IDocCommandOverloadParam";
export default class DocumentedCommand {
    private _id?;
    private _isLoaded;
    commandSet: DocumentedCommandSet;
    infoJsonFiles: {
        [memberName: string]: IFile;
    } | undefined;
    commandDefinition: IDocCommand;
    get isLoaded(): boolean;
    get id(): string | undefined;
    set id(newId: string | undefined);
    get docCommand(): IDocCommand;
    constructor(commandSet: DocumentedCommandSet, docCommand: IDocCommand);
    load(): Promise<void>;
    getOverloads(): import("./IDocCommandOverload").default[];
    getArguments(): {
        [paramName: string]: IDocCommandOverloadParam;
    };
    getOverload(index: number): import("./IDocCommandOverload").default;
    getParam(name: string): IDocCommandOverloadParam;
    getAlias(name: string): import("./IDocCommandAlias").default;
    persist(): Promise<boolean>;
    ensureInfoJson(docsFolder: IFolder): Promise<void>;
}
