import type { GjcPluginRegistryEntry, GjcSubskillParentAgent, NormalizedAppendixSurface } from "./types"; export declare function sanitizePromptBody(text: string): string; export interface RenderPluginAppendixOptions { /** Test/coordination seam invoked immediately before each file-backed appendix read. */ beforeRead?: (entry: GjcPluginRegistryEntry, surface: NormalizedAppendixSurface) => Promise; } export interface RenderedPluginAppendices { /** Combined system-appendix block text (empty if none). */ system: string; /** Per-agent appendix block text. */ byAgent: Map; /** Stable digest of all rendered appendix content + identities (for cache/refresh). */ digest: string; } /** * Build appendix blocks from the active, enabled registry entries in their * deterministic order. Per-appendix and total size caps are enforced * fail-closed (oversize content is dropped with a marker, never silently * truncated into the prompt as authoritative text). */ export declare function renderPluginAppendices(entries: readonly GjcPluginRegistryEntry[], options?: RenderPluginAppendixOptions): Promise;