/**
 * Core Command Registry
 *
 * Stores command definitions (name, help text, handler signature).
 * UI-agnostic - no TUI library imports.
 */
/**
 * UI actions that the UI layer interprets
 */
export var UiAction;
(function (UiAction) {
    UiAction["EXIT"] = "EXIT";
    UiAction["CLEAR_FEED"] = "CLEAR_FEED";
    UiAction["HOME"] = "HOME";
})(UiAction || (UiAction = {}));
/**
 * Command registry
 *
 * Stores all registered commands.
 * Commands are registered at module load time.
 */
class CommandRegistry {
    commands = new Map();
    /**
     * Register a command
     */
    register(def) {
        this.commands.set(def.name.toLowerCase(), def);
    }
    /**
     * Get a command by name
     */
    get(name) {
        return this.commands.get(name.toLowerCase());
    }
    /**
     * Get all registered commands
     */
    getAll() {
        return Array.from(this.commands.values());
    }
    /**
     * Check if a command exists
     */
    has(name) {
        return this.commands.has(name.toLowerCase());
    }
}
/**
 * Global command registry instance
 */
export const commandRegistry = new CommandRegistry();
//# sourceMappingURL=commandRegistry.js.map