export interface SlashCommandContext { switchModel: (provider: string, model: string) => Promise; compact: () => Promise; newSession: () => Promise; listSessions: () => Promise; getSettings: () => Record; setSetting: (key: string, value: unknown) => Promise; getModelList: () => string; quit: () => void; /** Create a branch (rewind N messages and fork). */ branch: (stepsBack?: number) => Promise; /** List all branches in the current session. */ listBranches: () => Promise; /** Add another workspace root (tools + write guard + system prompt). */ addDirectory: (dir: string) => Promise<{ ok: true; root: string; } | { ok: false; error: string; }>; /** Remove an exact workspace root previously added this session. */ removeDirectory: (dir: string) => Promise<{ ok: true; root: string; } | { ok: false; error: string; }>; /** Extra workspace roots added this session. */ getAdditionalRoots: () => string[]; } export interface SlashCommand { name: string; aliases: string[]; description: string; usage: string; execute: (args: string, context: SlashCommandContext) => Promise | string; } export declare class SlashCommandRegistry { private commands; register(command: SlashCommand): void; unregister(name: string): void; get(name: string): SlashCommand | undefined; getAll(): SlashCommand[]; parse(input: string): { name: string; args: string; } | null; execute(input: string, context: SlashCommandContext): Promise; } export declare function createBuiltinCommands(): SlashCommand[]; //# sourceMappingURL=slash-commands.d.ts.map