export type CommandCallback = (args: string[]) => void; export type AutocompleteProvider = () => string[]; export declare class Command { readonly name: string; readonly description?: string; readonly callback: CommandCallback; constructor(name: string, callback: CommandCallback, description?: string); execute(args: string[]): void; } export declare class CommandRegistry { private readonly commands; private readonly history; private readonly historyLimit; private readonly autocompleteProviders; onConsoleOutput?: (message: string) => void; register(name: string, callback: CommandCallback, description?: string): Command; registerCommand(name: string, callback: CommandCallback): void; registerAutocompleteProvider(provider: AutocompleteProvider): void; get(name: string): Command | undefined; execute(commandString: string): boolean; executeCommand(cmd: string): void; getHistory(): string[]; getSuggestions(prefix: string): string[]; private tokenize; list(): Command[]; } //# sourceMappingURL=commands.d.ts.map