import "reflect-metadata";
import { Asset } from '../../apis/codiac-api/contracts';
import { CabinetAssetList } from "../../apis/codiac-relay/contracts";
import { RootMap } from "../../apis/codiac-api/contracts";
import { CommandBaseExec, IEnterpriseEntity } from "../../command-base-exec";
import { AtLeast } from "@codiac.io/codiac-common/contracts";
import { InteractionModes } from "../../uilogic/config-ui-utils";
/** The value provided as input that indicates
 * a user's desire to be prompted with a list from which choose the value(s),
 * instead of entering them manually or taking a default. */
export declare const PROMPT_ME_DESIGNATOR = "?";
/** Includes enterprise */
export type CabinetAssetListNew = Omit<CabinetAssetList, "enterpriseCode"> & IEnterpriseEntity;
export default class AssetRecycle extends CommandBaseExec<CabinetAssetListNew> {
    static description: string;
    static dependsOn: string[];
    static flags: {
        enterpriseCode: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        cabinetName: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        asset: 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>;
        "take-defaults": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
    };
    static args: {};
    captureArgs(): Promise<[Partial<CabinetAssetListNew>, InteractionModes | undefined, boolean]>;
    buildCandidate_silently(partial: AtLeast<CabinetAssetListNew, "enterprise">, rootMap: RootMap): Promise<CabinetAssetListNew | undefined>;
    buildCandidate_interactively(partial: AtLeast<CabinetAssetListNew, "enterprise">, rootMap: RootMap, takeDefaults: boolean): Promise<CabinetAssetListNew | undefined>;
    buildCommandString(candidate: CabinetAssetListNew, cmd: string[]): string[];
    executeTask(candidate: CabinetAssetListNew): Promise<void>;
    promptForAsset(enterprise: string, assetSearch?: string): Promise<Asset>;
}
