/**
 * SPDX-License-Identifier: Apache-2.0
 */
import { Task } from '../../core/task.js';
import { type ListrTaskWrapper } from 'listr2';
import { type ConfigBuilder } from '../../types/aliases.js';
import { type RemoteConfigDataWrapper } from '../../core/config/remote/remote_config_data_wrapper.js';
import { type K8Factory } from '../../core/kube/k8_factory.js';
import { type SoloListrTask } from '../../types/index.js';
import { type SelectClusterContextContext } from './configs.js';
import { type LocalConfig } from '../../core/config/local_config.js';
export declare class ClusterCommandTasks {
    private readonly k8Factory;
    private readonly parent;
    private readonly clusterChecks;
    constructor(parent: any, k8Factory: K8Factory);
    testConnectionToCluster(cluster: string, localConfig: LocalConfig, parentTask: ListrTaskWrapper<any, any, any>): {
        title: string;
        task: (_: any, subTask: ListrTaskWrapper<any, any, any>) => Promise<void>;
    };
    validateRemoteConfigForCluster(cluster: string, currentClusterName: string, localConfig: LocalConfig, currentRemoteConfig: RemoteConfigDataWrapper): {
        title: string;
        task: (_: any, subTask: ListrTaskWrapper<any, any, any>) => Promise<void>;
    };
    readClustersFromRemoteConfig(argv: any): {
        title: string;
        task: (ctx: any, task: any) => Promise<any>;
    };
    updateLocalConfig(): SoloListrTask<SelectClusterContextContext>;
    private getSelectedContext;
    private promptForContext;
    private selectContextForFirstCluster;
    /**
     * Prepare values arg for cluster setup command
     *
     * @param [chartDir] - local charts directory (default is empty)
     * @param [prometheusStackEnabled] - a bool to denote whether to install prometheus stack
     * @param [minioEnabled] - a bool to denote whether to install minio
     * @param [certManagerEnabled] - a bool to denote whether to install cert manager
     * @param [certManagerCrdsEnabled] - a bool to denote whether to install cert manager CRDs
     */
    private prepareValuesArg;
    /** Show list of installed chart */
    private showInstalledChartList;
    selectContext(): SoloListrTask<SelectClusterContextContext>;
    initialize(argv: any, configInit: ConfigBuilder): Task;
    showClusterList(): Task;
    getClusterInfo(): Task;
    prepareChartValues(argv: any): Task;
    installClusterChart(argv: any): Task;
    acquireNewLease(argv: any): Task;
    uninstallClusterChart(argv: any): Task;
}
