import { ShellRunner } from './shell-runner.js';
import { BrewPackageManager } from './package-managers/brew-package-manager.js';
import { OsPackageManager } from './package-managers/os-package-manager.js';
import { SoloListrTask, type SoloListrTaskWrapper } from '../types/index.js';
import { InitContext } from '../commands/init/init-context.js';
import { type DefaultKindClientBuilder } from '../integration/kind/impl/default-kind-client-builder.js';
import { type DependencyManager, KindDependencyManager, PodmanDependencyManager } from './dependency-managers/index.js';
import { type K8Factory } from '../integration/kube/k8-factory.js';
import { type GitClient } from '../integration/git/git-client.js';
import { type ContainerEngineClient } from '../integration/container-engine/container-engine-client.js';
export declare class ClusterTaskManager extends ShellRunner {
    protected readonly brewPackageManager: BrewPackageManager;
    protected readonly osPackageManager: OsPackageManager;
    protected readonly kindBuilder: DefaultKindClientBuilder;
    protected readonly podmanDependencyManager: PodmanDependencyManager;
    protected readonly kindDependencyManager: KindDependencyManager;
    protected readonly podmanInstallationDirectory: string;
    protected readonly k8Factory: K8Factory;
    protected readonly depManager: DependencyManager;
    protected readonly kindInstallationDirectory: string;
    protected readonly gitClient: GitClient;
    protected readonly containerEngineClient: ContainerEngineClient;
    constructor(brewPackageManager: BrewPackageManager, osPackageManager: OsPackageManager, kindBuilder: DefaultKindClientBuilder, podmanDependencyManager: PodmanDependencyManager, kindDependencyManager: KindDependencyManager, podmanInstallationDirectory: string, k8Factory: K8Factory, depManager: DependencyManager, kindInstallationDirectory: string, gitClient: GitClient, containerEngineClient: ContainerEngineClient);
    private sudoCallbacks;
    rootfullInstallTasks(parentTask: SoloListrTaskWrapper<InitContext>): SoloListrTask<InitContext>[];
    installationTasks(parentTask: SoloListrTaskWrapper<InitContext>): Promise<SoloListrTask<InitContext>[]>;
    private defaultCreateClusterTask;
    setupLocalClusterTasks(): SoloListrTask<InitContext>[];
    private skipKindSetup;
}
