import { type Deployments, type LocalConfigData } from './local_config_data.js';
import { type SoloLogger } from '../logging.js';
import { type ConfigManager } from '../config_manager.js';
import { type EmailAddress, type Version, type ClusterRefs } from './remote/types.js';
import { type K8Factory } from '../kube/k8_factory.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;
    soloVersion: Version;
    deployments: Deployments;
    clusterRefs: ClusterRefs;
    private readonly skipPromptTask;
    constructor(filePath?: string, logger?: SoloLogger, configManager?: ConfigManager);
    private validate;
    setUserEmailAddress(emailAddress: EmailAddress): this;
    setDeployments(deployments: Deployments): this;
    setClusterRefs(clusterRefs: ClusterRefs): this;
    setSoloVersion(version: Version): this;
    configFileExists(): boolean;
    write(): Promise<void>;
    promptLocalConfigTask(k8Factory: K8Factory): SoloListrTask<any>;
}
