import "reflect-metadata";
import { EnterpriseVersionConfig, RootMap, Tag } from '../../apis/codiac-api/contracts';
import { CommandBaseExec, IEnterpriseEntity } from '../../command-base-exec';
import { AtLeast } from '@codiac.io/codiac-common/contracts';
interface ISnapshotUntagRequest extends IEnterpriseEntity {
    enterprise: string;
    snapshot: EnterpriseVersionConfig;
    tag: Tag;
    /** Raw flag value; resolved to snapshot during candidate building. */
    version?: string;
    /** Raw flag value; resolved to tag during candidate building. */
    tagName?: string;
}
export default class SnapshotUntag extends CommandBaseExec<ISnapshotUntagRequest> {
    static aliases: string[];
    protected infrxAliases: string[] | undefined;
    static description: string;
    static examples: {
        description: string;
        command: string;
    }[];
    static flags: {
        help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
        enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        version: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        tag: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        echo: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        "to-script": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
    };
    static args: {};
    captureArgs(): Promise<[Partial<ISnapshotUntagRequest>, boolean, Partial<ISnapshotUntagRequest>?]>;
    buildCandidate_silently(partial: AtLeast<ISnapshotUntagRequest, "enterprise">, _rootMap: RootMap, _explicit?: Partial<ISnapshotUntagRequest>): Promise<ISnapshotUntagRequest | undefined>;
    buildCandidate_interactively(partial: AtLeast<ISnapshotUntagRequest, "enterprise">, _rootMap: RootMap, _takeDefaults: boolean, explicit?: Partial<ISnapshotUntagRequest>): Promise<ISnapshotUntagRequest | undefined>;
    buildCommandString(candidate: ISnapshotUntagRequest, cmd: string[]): string[];
    executeTask(candidate: ISnapshotUntagRequest): Promise<void>;
    private snapshotFetchByVersion;
    private tagsFetchForSnapshot;
    private snapshotPromptFor;
    private tagPromptFor;
    private snapshotFormatChoice;
}
export {};
