import { AtLeast } from "@codiac.io/codiac-common/contracts";
import { FileStoreDef } from "../../apis/codiac-api/contracts";
import { CommandBaseExec } from '../../command-base-exec';
import { InteractionModes } from '../../uilogic/config-ui-utils';
import { RootMap } from '../../apis/codiac-api/contracts';
import { FileStoreConfiguratorFactory } from '../../uilogic';
import { AzureFileStoreDef } from '../../sdk-adapters/azure/entities/azure-filestore-def';
export declare class PromptDefForString {
    promptText: string;
    promptId: string;
    isValid: (val: string) => boolean;
    getFromUser: (defaultVal: string | undefined) => Promise<string>;
    constructor(promptText: string, promptId: string, isValid: (val: string) => boolean, getFromUser: (defaultVal: string | undefined) => Promise<string>);
}
type FileStoreDefCaptureRequest = (FileStoreDef | AzureFileStoreDef) & {
    enterprise: string;
};
export default class FilestoreCapture extends CommandBaseExec<FileStoreDefCaptureRequest> {
    static description: string;
    static aliases: string[];
    static dependsOn: 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>;
        name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        provider: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        providerSubscriptionId: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        storageAccount: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        shareName: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        resourceGroup: 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>;
    };
    protected bootstrap(): void;
    private __filestoreUiFactory;
    protected get filestoreUiFactory(): FileStoreConfiguratorFactory;
    private __fileStoreCspMap;
    private get fileStoreCspMap();
    captureArgs(): Promise<[Partial<FileStoreDefCaptureRequest>, (InteractionModes | undefined), boolean]>;
    buildCandidate_silently(partial: AtLeast<FileStoreDefCaptureRequest, "enterprise">, rootMap: RootMap): Promise<FileStoreDefCaptureRequest | undefined>;
    buildCandidate_interactively(partial: AtLeast<FileStoreDefCaptureRequest, "enterprise">, rootMap: RootMap, takeDefaults: boolean): Promise<FileStoreDefCaptureRequest | undefined>;
    buildCommandString(candidate: FileStoreDefCaptureRequest, cmd: string[]): string[];
    executeTask(candidate: FileStoreDefCaptureRequest): Promise<void>;
    /** Implements the confirm default or prompt for value pattern. */
    private confirmOrPrompt;
    private localCache;
    private promptForSubscription;
}
export {};
