/** Serializable metadata for an extension command whose handler deterministically * turns its raw argument string into the user prompt sent to the engine. Commands * that open UI, inspect live state, or perform side effects must omit it. */ export interface DeterministicCommandExpansion { kind: 'memory-slash'; commandName: string; body: string; } /** Accept only the inert, JSON-safe discriminated shape that may cross the * broker boundary. Extension registrations are arbitrary runtime objects, so * never serialize getters, prototypes, or extra metadata into a viewer. */ export declare function isDeterministicCommandExpansion(value: unknown): value is DeterministicCommandExpansion; /** Remove HTML comments from Markdown before it becomes model context. Markdown * command files use comments for author metadata; fenced and inline code remain * literal so examples of HTML are never altered. */ export declare function stripMarkdownComments(markdown: string): string; /** The single expansion path used by deterministic command handlers and by * pre-submit disclosure. `rawArgs` is the unparsed text after the slash name. */ export declare function expandDeterministicCommand(expansion: DeterministicCommandExpansion, rawArgs: string): string;