import { type SoloLogger } from './logging/solo-logger.js';
import { type Lock } from './lock/lock.js';
import { type ConfigManager } from './config-manager.js';
import { type AccountManager } from './account-manager.js';
import { type TaskList } from './task-list/task-list.js';
import { ListrContext, ListrRendererValue } from 'listr2';
export declare class CommandHandler {
    readonly logger?: SoloLogger;
    private readonly configManager?;
    private readonly accountManager?;
    private readonly taskList?;
    protected readonly _configMaps: Map<string, any>;
    constructor(logger?: SoloLogger, configManager?: ConfigManager, accountManager?: AccountManager, taskList?: TaskList<ListrContext, ListrRendererValue, ListrRendererValue>);
    commandAction(argv: any, actionTasks: any, options: any, errorString: string, lease: Lock | null, commandName?: string): Promise<void>;
    /**
     * Setup home directories
     * @param dirs a list of directories that need to be created in sequence
     */
    setupHomeDirectory(directories?: string[]): string[];
    getUnusedConfigs(configName: string): string[];
}
