import type { Choice, ICommandResult, ILogger, IUserInterface, MessageType } from '../../interfaces';
import type { HostSwitchFacade } from '../HostSwitchFacade';
export declare class InteractiveUserInterface implements IUserInterface {
    private facade;
    private logger;
    constructor(facade: HostSwitchFacade, logger: ILogger);
    showMessage(message: string, type?: MessageType): void;
    promptConfirm(message: string): Promise<boolean>;
    promptSelect<T>(message: string, choices: Choice<T>[]): Promise<T>;
    promptInput(message: string, validator?: (input: string) => boolean | string): Promise<string>;
    handleCommandResult(result: ICommandResult): Promise<void>;
    run(): Promise<void>;
    private showMainMenu;
    private executeAction;
    private handleListProfiles;
    private handleSwitchProfile;
    private handleCreateProfile;
    private handleEditProfile;
    private handleShowProfile;
    private handleDeleteProfile;
    private handleSudoRequired;
}
//# sourceMappingURL=InteractiveUserInterface.d.ts.map