import { type MetaData } from "@metaobjectsdev/metadata"; export declare const ERR_PAYLOAD_NAME_COLLISION = "ERR_PAYLOAD_NAME_COLLISION"; /** ADR-0044 — package-qualified derived name for a collision member: PascalCase * each `::`-segment of the node's effective package, concatenated, then the * bare short name (`acme::alpha::Note` -> `AcmeAlphaNote`). A root-level * (no-package) node has nothing to qualify with and keeps its bare name — two * root-level VOs can never share a name (the loader's own-package uniqueness * already rejects that), so this can't silently under-qualify. */ export declare function packageQualifiedName(pkg: string, shortName: string): string; /** * ADR-0044 pass 2 — assign the emitted TS name for every VO in the closure. A * PURE function of the closure's (fqn, bareName, package) triples — never of * traversal order: bare short name unique in the closure -> bare name; a * collision -> EVERY member gets its package-qualified derived name. If two * DISTINCT fqns still derive the same name after qualification, throws * (ERR_PAYLOAD_NAME_COLLISION) — never silently wrong. */ export declare function assignEmittedNames(closure: ReadonlyMap): Map; //# sourceMappingURL=collision-names.d.ts.map