docker-pilot
Version:
A powerful, scalable Docker CLI library for managing containerized applications of any size
108 lines • 2.49 kB
TypeScript
/**
* Interactive Menu System for Docker Pilot
* Provides a terminal-based menu interface similar to the legacy CLI
*/
import { DockerPilot } from '../core/DockerPilot';
export interface MenuOption {
key: string;
label: string;
description?: string;
action: () => Promise<void> | void;
category?: string;
}
export declare class InteractiveMenu {
private dockerPilot;
private logger;
private rl;
private isRunning;
private i18n;
constructor(dockerPilot: DockerPilot); /**
* Start the interactive menu
*/
start(): Promise<void>; /**
* Stop the interactive menu
*/
stop(): void;
/**
* Select initial language if not configured
*/
private selectInitialLanguage; /**
* Check if Docker is running
*/
private checkDockerStatus;
/**
* Handle Docker not running scenario
*/
private handleDockerNotRunning; /**
* Show welcome message
*/
private showWelcome; /**
* Show main menu
*/
private showMainMenu;
/**
* Build menu options dynamically
*/
private buildMenuOptions; /**
* Display menu with categories
*/
private displayMenu;
/**
* Display service status
*/
private displayServiceStatus; /**
* Ask if user wants to continue
*/
private askToContinue; /**
* Ask a question and wait for user input
*/
private askQuestion;
/**
* Clear screen properly
*/
private clearScreen;
/**
* Sleep utility
*/
private sleep; /**
* Create context for compose commands
*/
private createCommandContext;
/**
* Auto-detect docker-compose files recursively and suggest setup
*/
private autoDetectProject;
/**
* Show advanced settings menu
*/
private showAdvancedSettings;
/**
* Change language settings
*/
private changeLanguageSettings;
/**
* Change log level settings
*/
private changeLogLevelSettings;
/**
* Toggle interactive mode
*/
private toggleInteractiveMode;
/**
* Customize messages
*/
private customizeMessages;
/**
* Development settings
*/
private developmentSettings;
/**
* Update language based on config
*/
private updateLanguage;
/**
* Select and set primary compose file
*/
private selectAndSetPrimaryComposeFile;
}
//# sourceMappingURL=InteractiveMenu.d.ts.map