/**
 * CommandBus — slash command dispatch for the CLI pipeline.
 *
 * Architecture Doc §4: User Input → CommandBus → IntentClassifier
 * Handles slash commands (/model, /status, /theme, /help, etc.)
 * and routes them to appropriate handlers.
 */
import type { CommandEnvelope, CommandKind } from "./types.js";
export type SlashCommandHandler = (args: string[], envelope: CommandEnvelope) => Promise<SlashCommandResult> | SlashCommandResult;
export interface SlashCommandResult {
    readonly handled: boolean;
    readonly output?: string;
    readonly exitCode?: 0 | 1;
    readonly newKind?: CommandKind;
}
interface RegisteredCommand {
    readonly name: string;
    readonly aliases: readonly string[];
    readonly description: string;
    readonly handler: SlashCommandHandler;
}
/**
 * Register a slash command handler.
 */
export declare function registerSlashCommand(cmd: RegisteredCommand): void;
/**
 * Check if input is a slash command.
 */
export declare function isSlashCommand(input: string): boolean;
/**
 * Parse slash command from input.
 */
export declare function parseSlashCommand(input: string): {
    name: string;
    args: string[];
} | null;
/**
 * Dispatch a slash command.
 */
export declare function dispatchSlashCommand(input: string, envelope: CommandEnvelope): Promise<SlashCommandResult>;
/**
 * List all registered slash commands.
 */
export declare function listSlashCommands(): readonly RegisteredCommand[];
export {};
