import { type MetaData } from "@metaobjectsdev/metadata"; /** Emit the payload `interface` (+ nested element interfaces) for a payload shape — an * object.value or sourceless object.projection (#210; the loader owns the target-set * constraint, this emitter is subtype-blind). * `referrerPkg` (ADR-0042) is the package a bare `voName` resolves in; pass an FQN and it is ignored. * ADR-0044: a short-name collision within `voName`'s reference closure emits EVERY colliding * member under its package-qualified derived name; a non-colliding closure emits byte-identical * bare names (unchanged from pre-ADR-0044 output). */ export declare function generatePayloadInterfaces(root: MetaData, voName: string, referrerPkg?: string): string; /** * Emit interfaces for several payloads at once, using a SINGLE shared reference * closure (ADR-0044: the closure of ALL the given roots together is the collision * domain for this call) so nested types (e.g. lens projections referenced by * multiple payloads) appear exactly once, and a short-name collision anywhere * across the whole batch is caught and qualified consistently. * * Returns the empty string when `voNames` is empty. */ export declare function generatePayloadInterfacesBatch(root: MetaData, voNames: readonly string[], referrerPkg?: string): string; /** Emit a typed render handle binding a template's @textRef + @format and typing its payload. */ export declare function generateRenderHandle(root: MetaData, templateName: string): string; //# sourceMappingURL=payload-codegen.d.ts.map