import { type ComposerSubmissionOptions } from "../modes/types"; import type { BuiltinSlashCommand, ParsedSlashCommand, SlashCommandResult, SlashCommandRuntime, SlashCommandSpec, TuiSlashCommandRuntime } from "./types"; export type { BuiltinSlashCommand, SubcommandDef } from "./types"; /** TUI-specific runtime accepted by `executeBuiltinSlashCommand`. */ export type BuiltinSlashCommandRuntime = TuiSlashCommandRuntime & { composer?: ComposerSubmissionOptions; }; /** * Resolve a `/model ` argument against the merged model-profile * registry. Returns the canonical profile name when `selector` is either a * bare preset name (`codex-medium`) or a namespaced one * (`gajae-code/codex-medium`); returns `undefined` otherwise so the caller * falls through to ordinary model resolution. * * Only selectors that do NOT look like `provider/model` references are * considered, so `/model anthropic/claude-...` is never hijacked by a preset. */ export declare function resolvePresetSelector(selector: string, modelRegistry: { getModelProfile?: (name: string) => unknown; getError?: () => unknown; }): string | undefined; export declare function formatUnknownBuiltinSlashCommandDiagnostic(commandName: string): string | undefined; /** Builtin command metadata used for slash-command autocomplete and help text. */ export declare const BUILTIN_SLASH_COMMAND_DEFS: ReadonlyArray; /** * Unified registry exposed for cross-mode tooling. Each spec carries at least * one of `handle` / `handleTui`. The TUI dispatcher prefers `handleTui`; the * ACP dispatcher requires `handle` and skips TUI-only entries. */ export declare const BUILTIN_SLASH_COMMANDS_INTERNAL: ReadonlyArray; /** * Execute a builtin slash command in the interactive TUI. * * Returns `false` when no builtin matched. Returns `true` when a command * consumed the input entirely. Returns a `string` when the command was handled * but remaining text should be sent as a prompt. */ export declare function executeBuiltinSlashCommand(text: string, runtime: BuiltinSlashCommandRuntime): Promise; /** Dispatch a command explicitly authorized for trusted local non-interactive mode. */ export declare function executeLocalHeadlessBuiltinSlashCommand(text: string, runtime: SlashCommandRuntime): Promise>; /** Look up a unified spec by name or alias. Used by the ACP dispatcher. */ export declare function lookupBuiltinSlashCommand(name: string): SlashCommandSpec | undefined; export type { ParsedSlashCommand, SlashCommandResult, SlashCommandRuntime, SlashCommandSpec, TuiSlashCommandRuntime };