import { EnvironmentRoot, RootMap } from '../../../apis/codiac-api/contracts';
import { CommandBaseExec } from '../../../command-base-exec';
import { AtLeast } from '@codiac.io/codiac-common/contracts';
export type FlatEnviro = {
    name: string;
    sequence?: number | undefined;
    enterprise: string;
    clusters: {
        name: string;
        provider: string;
        locationName: string;
    }[];
};
export type IEnviroClusterPair = {
    enterprise: string;
    environmentName: string;
    environment: EnvironmentRoot;
    cluster: string;
};
export default class EnvironmentClusterAttach extends CommandBaseExec<IEnviroClusterPair> {
    static description: string;
    static aliases: string[];
    protected infrxAliases: string[] | undefined;
    static flags: {
        enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        environment: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        cluster: 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<IEnviroClusterPair>, boolean]>;
    buildCandidate_silently(partial: AtLeast<IEnviroClusterPair, 'enterprise'>, rootMap: RootMap): Promise<IEnviroClusterPair | undefined>;
    buildCandidate_interactively(partial: AtLeast<IEnviroClusterPair, 'enterprise'>, rootMap: RootMap, takeDefaults: boolean): Promise<IEnviroClusterPair | undefined>;
    buildCommandString(candidate: IEnviroClusterPair, cmd: string[]): string[];
    executeTask(candidate: IEnviroClusterPair): Promise<void>;
    private buildEnviroListForText;
    private buildEnviroClusterDesc;
    private buildEnviroTree;
    private FlattenEnviros;
}
