import type { SlashCommand, SlashContext, SlashResult } from './types.js'; import type { ImageAttachment } from '../input/attachments.js'; import type { SlashRegistryView } from '../input-highlight.js'; export declare function registryVersion(): number; export declare function register(cmd: SlashCommand): void; export declare function registerOrReplace(cmd: SlashCommand): void; export declare function registerIfAbsent(cmd: SlashCommand): void; export declare function has(nameOrAlias: string): boolean; export declare function createSlashRegistryView(): SlashRegistryView; export declare function resetRegistry(): void; export declare function list(): SlashCommand[]; export declare function aliasEntries(): { alias: string; canonical: string; summary: string; }[]; export declare function lookup(nameOrAlias: string): SlashCommand | undefined; export declare function suggest(input: string, maxDistance?: number): string | undefined; export declare function parse(input: string): { name: string; args: string; } | null; export declare function dispatch(input: string, ctx: SlashContext, attachments?: readonly ImageAttachment[]): Promise<{ handled: boolean; result?: SlashResult; }>;