import { type ClusterContextMapping, type Deployments, type DeploymentStructure, type LocalConfigData } from './local_config_data.js';
import { SoloLogger } from '../logging.js';
import { ConfigManager } from '../config_manager.js';
import type { EmailAddress, Namespace } from './remote/types.js';
import { type K8 } from '../k8.js';
import type { SoloListrTask } from '../../types/index.js';
export declare class LocalConfig implements LocalConfigData {
    private readonly filePath?;
    private readonly logger?;
    private readonly configManager?;
    userEmailAddress: EmailAddress;
    deployments: Deployments;
    currentDeploymentName: string;
    clusterContextMapping: ClusterContextMapping;
    private readonly skipPromptTask;
    constructor(filePath?: string, logger?: SoloLogger, configManager?: ConfigManager);
    private validate;
    setUserEmailAddress(emailAddress: EmailAddress): this;
    setDeployments(deployments: Deployments): this;
    setCurrentDeployment(deploymentName: Namespace): this;
    setClusterContextMapping(clusterContextMapping: ClusterContextMapping): this;
    getCurrentDeployment(): DeploymentStructure;
    configFileExists(): boolean;
    write(): Promise<void>;
    promptLocalConfigTask(k8: K8): SoloListrTask<any>;
}
