import { AtLeast } from '@codiac.io/codiac-common/contracts';
import { KvpStoreDefCriteria, RootMap } from '../../apis/codiac-api/contracts';
import { CommandBaseExec } from '../../command-base-exec';
import { InteractionModes } from "../../uilogic/config-ui-utils";
import { OutputFormatEnum } from '../../cli-entities/output-format-enum';
import { IOutputStyler } from '../../ops';
import { KvpStoreTypesEnum, SecretStoreDef } from '../../relay/contracts';
export type ISecretStoreQuery = Pick<KvpStoreDefCriteria, "all" | "provider" | "type"> & {
    enterprise: string;
    outputFormat: OutputFormatEnum;
};
export declare class SecretStoreUiLogic {
    /** COnverts to the name of the kvp store technology WITHOUT the cloud provider prefix.
     * eg: `azKeyVault` converts to `"Key Vault"`
     */
    static friendlyNameFor(type: KvpStoreTypesEnum): string;
    static locationNameFor(entity: SecretStoreDef): string | undefined;
    static displayNameFor(entity: SecretStoreDef, styler: IOutputStyler): string;
}
export default class SecretStoreList extends CommandBaseExec<ISecretStoreQuery> {
    static description: string;
    static examples: string[];
    /** The values that this command supports for the "type" flag.  */
    private static readonly STORE_TYPE_OPTIONS;
    static flags: {
        enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        type: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        output: import("@oclif/core/lib/interfaces").OptionFlag<string, 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: {};
    private toStoreType;
    private toTypeFlag;
    captureArgs(): Promise<[Partial<ISecretStoreQuery>, (InteractionModes | undefined), boolean]>;
    buildCandidate_silently(partial: AtLeast<ISecretStoreQuery, "enterprise">, rootMap: RootMap): Promise<ISecretStoreQuery | undefined>;
    buildCandidate_interactively(partial: AtLeast<ISecretStoreQuery, "enterprise">, rootMap: RootMap, takeDefaults: boolean): Promise<ISecretStoreQuery | undefined>;
    buildCommandString(candidate: ISecretStoreQuery, cmd: string[]): string[];
    executeTask(candidate: ISecretStoreQuery): Promise<void>;
    /** TODO: This method is generic.  Promote it to a shared utility lib. */
    private renderAs;
}
