import { Logger } from '../Logger.js'; /** * Base interface for CLI commands */ export interface ICommand { name: string; description: string; usage: string; category?: string; aliases?: string[]; execute(args: string, logger: Logger): void | Promise; } /** * Plugin interface for extending CLI functionality */ export interface ICLIPlugin { name: string; version: string; description: string; commands: ICommand[]; initialize?(processor: CommandProcessor, logger: Logger): void; cleanup?(): void; } /** * Command history entry */ interface HistoryEntry { command: string; timestamp: Date; success: boolean; } /** * CLI command processor */ export declare class CommandProcessor { private commands; private aliases; private plugins; private history; private maxHistorySize; private isInteractiveMode; /** * Register a command */ registerCommand(command: ICommand): void; /** * Register a plugin */ registerPlugin(plugin: ICLIPlugin, logger?: Logger): void; /** * Unregister a plugin */ unregisterPlugin(pluginName: string): void; /** * Get all registered commands */ getCommands(): ICommand[]; /** * Get a specific command */ getCommand(name: string): ICommand | undefined; /** * Get command history */ getHistory(): HistoryEntry[]; /** * Clear command history */ clearHistory(): void; /** * Get registered plugins */ getPlugins(): ICLIPlugin[]; /** * Enter interactive mode */ enterInteractiveMode(logger: Logger): void; /** * Exit interactive mode */ exitInteractiveMode(): void; /** * Setup browser interactive mode */ private setupBrowserInteractiveMode; /** * Process a CLI command */ processCommand(commandString: string, logger: Logger): Promise; /** * Add command to history */ private addToHistory; /** * Get command suggestions for partial matches */ getSuggestions(partial: string): string[]; } export {}; //# sourceMappingURL=CommandProcessor.d.ts.map