/** * Command Registry * * Central registry for all commands. Provides a unified way to register, * discover, and execute commands across all platforms. */ import type { CommandDefinition, CommandCategory, CommandContext, CommandResult } from './types.js'; export declare class CommandRegistry { private commands; private aliases; private static instance; static getInstance(): CommandRegistry; /** * Register a command */ register(command: CommandDefinition): void; /** * Unregister a command */ unregister(commandId: string): void; /** * Get command by ID */ get(commandId: string): CommandDefinition | undefined; /** * Find command by name or alias */ findByName(name: string): CommandDefinition | undefined; /** * Check if a command exists (by name or alias) */ has(name: string): boolean; /** * Get all registered commands */ list(): CommandDefinition[]; /** * Get commands by category */ listByCategory(category: CommandCategory): CommandDefinition[]; /** * Get commands available in a specific scope */ listByScope(scope: 'private' | 'group'): CommandDefinition[]; /** * Execute a command */ execute(name: string, context: CommandContext, args?: string): Promise; /** * Parse command from message text * Returns { command: string, args: string } or null if not a command */ parseCommand(text: string): { command: string; args: string; } | null; /** * Clear all registered commands (mainly for testing) */ clear(): void; } export declare const commandRegistry: CommandRegistry;