/** * The module-private brand key. NEVER exported. Because the symbol is not in * scope anywhere outside this file, no external module can write an object * literal whose key is `[renderedBrand]`, so `RenderedReply` is opaque at the * type level (compile-time leg of defense-in-depth, layer (a)). */ declare const renderedBrand: unique symbol; /** * An opaque, runtime-non-forgeable customer-facing reply. * * The only way to obtain one is a minter in this module; the only way to read * the underlying string is {@link unwrapRendered}, which asserts the value was * genuinely minted here. Treat instances as immutable. */ export interface RenderedReply { readonly text: string; readonly [renderedBrand]: true; } /** * Mint a reply rendered from validated claims (the claims→prose surface: * renderer-from-claims.ts / ibatexas-responder.ts). This is the primary, * non-templated egress path. */ export declare function mintRenderedReply(text: string): RenderedReply; /** Scheduled / proactive cron-driven message (e.g. reservation reminders). */ export declare function mintCronReply(text: string): RenderedReply; /** Transactional receipt / confirmation (e.g. order or payment receipt). */ export declare function mintReceiptReply(text: string): RenderedReply; /** One-time-passcode / verification message. */ export declare function mintOtpReply(text: string): RenderedReply; /** Operator broadcast / nudge (e.g. cart-intelligence, escalation pings). */ export declare function mintBroadcastReply(text: string): RenderedReply; /** Deterministic fallback used when an upstream producer yields nothing. */ export declare function mintFallbackReply(text: string): RenderedReply; /** * Wrap raw text emitted by the legacy prose responder so egress still * type-checks during the W4→W5 wiring gap. It is a real minter (adds to the * WeakSet), so unwrapping succeeds — but its single call-site is the seam that * W5 deletes once value-binding lands. * * @deprecated W4→W5 transitional. Do not introduce new call sites. The legacy * prose responder is the ONLY permitted caller; W5 removes it. */ export declare function wrapLegacyResponderText(text: string): RenderedReply; /** * Extract the underlying string at an egress sink, AFTER proving the value was * minted by this module. A forged object literal that structurally satisfies * `RenderedReply` (only constructible via `as`, which the lint layer (c) bans) * is rejected here at runtime (defense-in-depth, layer (b)). * * @throws {Error} if `reply` was not produced by a minter in this module. */ export declare function unwrapRendered(reply: RenderedReply): string; export {}; //# sourceMappingURL=rendered-reply.d.ts.map