/** The `@deepseek-ai/dsh-llm` surface the facades forward to. */ export interface LlmModule { createUserMessage?: (input: unknown) => unknown; deepFreeze?: (value: T) => T; /** Streaming content-block assembler; surfaced through `dshLoader.dsh.llm`. */ BlockAssembler?: unknown; } /** The `llm` facade exposed on the host API. */ export interface LlmAPI { /** * Build one identified, frozen user-role message. * * @param input - complete content and source for a new user message. * @returns the immutable message. * @throws when `@deepseek-ai/dsh-llm` is unavailable — callers building a * message have no meaningful fallback, so this fails loudly rather than * handing back something the agent loop would reject. */ createUserMessage(input: unknown): unknown; /** * Deep-freeze a value with dsh's own helper (so frozen-ness matches what the * runtime expects). Falls back to `Object.freeze` on the top level when the * module is unavailable. */ deepFreeze(value: T): T; } /** Build the `ctx.dshLoader.llm` facade. */ export declare function createLlmAPI(opts: { module?: LlmModule; }): LlmAPI;