import type { BuiltinCommandEnvelopeName } from "./protocol"; import { type ParsedCommandEnvelope } from "./command-envelope"; export type TrustedInjectedPromptKind = "generic" | "reviewer-fanout"; export interface TrustedInjectedPromptMetadata { kind: TrustedInjectedPromptKind; nonce?: string; } export interface TrustedMessageState { registerBuiltinCommand(sessionId: string, command: BuiltinCommandEnvelopeName, argumentsText: string): void; registerInjectedPrompt(sessionId: string, text: string, metadata?: TrustedInjectedPromptMetadata): void; consumeInjectedPrompt(sessionId: string, promptText: string): TrustedInjectedPromptMetadata | null; clearSession(sessionId: string): void; clearPendingBuiltin(sessionId: string): void; consumeTrustedEnvelope(sessionId: string, promptText: string): ParsedCommandEnvelope | null; } export declare function createTrustedMessageState(): TrustedMessageState;