import { type AnyListrContext, type ArgvStruct, type ConfigBuilder } from '../../types/aliases.js';
import { type K8Factory } from '../../integration/kube/k8-factory.js';
import { type Context, type ReleaseNameData, type SoloListrTask } from '../../types/index.js';
import { type SoloLogger } from '../../core/logging/solo-logger.js';
import { type ChartManager } from '../../core/chart-manager.js';
import { type LockManager } from '../../core/lock/lock-manager.js';
import { type ClusterChecks } from '../../core/cluster-checks.js';
import { type ClusterReferenceConnectContext } from './config-interfaces/cluster-reference-connect-context.js';
import { type ClusterReferenceDefaultContext } from './config-interfaces/cluster-reference-default-context.js';
import { type ClusterReferenceSetupContext } from './config-interfaces/cluster-reference-setup-context.js';
import { type ClusterReferenceResetContext } from './config-interfaces/cluster-reference-reset-context.js';
import { LocalConfigRuntimeState } from '../../business/runtime-state/config/local/local-config-runtime-state.js';
import { RemoteConfigRuntimeState } from '../../business/runtime-state/config/remote/remote-config-runtime-state.js';
import { type OneShotState } from '../../core/one-shot-state.js';
export declare class ClusterCommandTasks {
    private readonly k8Factory;
    private readonly localConfig;
    private readonly logger;
    private readonly chartManager;
    private readonly leaseManager;
    private readonly clusterChecks;
    private readonly remoteConfig;
    private readonly oneShotState;
    constructor(k8Factory: K8Factory, localConfig: LocalConfigRuntimeState, logger: SoloLogger, chartManager: ChartManager, leaseManager: LockManager, clusterChecks: ClusterChecks, remoteConfig: RemoteConfigRuntimeState, oneShotState: OneShotState);
    findMinioOperator(context: Context): Promise<ReleaseNameData>;
    connectClusterRef(): SoloListrTask<ClusterReferenceConnectContext>;
    disconnectClusterRef(): SoloListrTask<ClusterReferenceDefaultContext>;
    testConnectionToCluster(): SoloListrTask<ClusterReferenceConnectContext>;
    validateClusterRefs(): SoloListrTask<ClusterReferenceConnectContext>;
    /** Show list of installed chart */
    private showInstalledChartList;
    initialize(argv: ArgvStruct, configInit: ConfigBuilder, loadRemoteConfig?: boolean): SoloListrTask<AnyListrContext>;
    showClusterList(): SoloListrTask<AnyListrContext>;
    getClusterInfo(): SoloListrTask<AnyListrContext>;
    installMinioOperator(): SoloListrTask<ClusterReferenceSetupContext>;
    installPrometheusStack(): SoloListrTask<ClusterReferenceSetupContext>;
    installMetricsServer(): SoloListrTask<ClusterReferenceSetupContext>;
    installPodMonitorRole(): SoloListrTask<ClusterReferenceSetupContext>;
    uninstallPodMonitorRole(): SoloListrTask<ClusterReferenceResetContext>;
    installClusterChart(argv: ArgvStruct): SoloListrTask<ClusterReferenceSetupContext>;
    acquireNewLease(): SoloListrTask<ClusterReferenceResetContext>;
    uninstallMinioOperator(): SoloListrTask<ClusterReferenceResetContext>;
    uninstallPrometheusStack(): SoloListrTask<ClusterReferenceResetContext>;
    uninstallMetricsServer(): SoloListrTask<ClusterReferenceResetContext>;
    uninstallClusterChart(argv: ArgvStruct): SoloListrTask<ClusterReferenceResetContext>;
}
