import type { MossAgent } from '../../core/index.js'; import { type CliRuntimeStatus } from '../onboarding.js'; import type { ContextUsageSnapshot } from '../usage-display.js'; import { type CliInteractionMode } from '../approval.js'; export type CommandSurface = 'repl' | 'tui'; export interface CommandContext { agent: MossAgent; runtime: CliRuntimeStatus | undefined; sessionKey: string; workspace: string; locale?: string; surface: CommandSurface; say(kind: 'system' | 'error', text: string): void; prefillInput(text: string): void; submitPrompt?(text: string): void; openSoulPicker?(): void; onSoulChanged?(soul: import('@rdk-moss/core').MossSoul): void; getContextUsage?(): ContextUsageSnapshot | undefined; /** Optional: keep React TUI interactionMode state in sync with setCliInteractionMode. */ setInteractionMode?(mode: CliInteractionMode): void; } export interface CommandSpec { name: `/${string}`; aliases?: readonly `/${string}`[]; summary: string; run(ctx: CommandContext, args: string): Promise | void; } export interface RegistryMatch { spec: CommandSpec; args: string; } export declare function registryCommandNames(): string[]; export declare function findRegistryCommand(input: string, customCommands?: readonly CommandSpec[]): RegistryMatch | null; export declare function runRegistryCommand(input: string, ctx: CommandContext, customCommands?: readonly CommandSpec[]): Promise; export declare function unknownSlashCommandLines(input: string, options?: { suggestion?: string | null; locale?: string; }): string[]; //# sourceMappingURL=registry.d.ts.map