import { JsonRelationshipDefinition } from "../types/json-schema.interface"; import { DescriptorRelationship } from "../types/template-data.interface"; /** * Map JSON relationship definition to descriptor relationship * * Key mappings: * - toNode: true → direction: "out" (relationship FROM this entity TO related) * - toNode: false → direction: "in" (relationship FROM related TO this entity) * - single: true → cardinality: "one" * - single: false → cardinality: "many" * - variant: "Author" → contextKey: "userId" * - variant: other → dtoKey: singular/plural based on cardinality * * @param rel - JSON relationship definition * @returns Descriptor relationship configuration */ export declare function mapRelationship(rel: JsonRelationshipDefinition): DescriptorRelationship; /** * Map multiple relationships and handle deduplication * * @param relationships - Array of JSON relationship definitions * @returns Array of descriptor relationships */ export declare function mapRelationships(relationships: JsonRelationshipDefinition[]): DescriptorRelationship[]; /** * Get unique meta imports from relationships * Handles cases where multiple relationships reference the same entity * * @param relationships - Array of descriptor relationships * @returns Deduplicated list of meta import names */ export declare function getUniqueMetaImports(relationships: DescriptorRelationship[]): string[]; /** * Get unique entity imports from relationships * * @param relationships - Array of descriptor relationships * @returns Deduplicated list of entity names */ export declare function getUniqueEntityImports(relationships: DescriptorRelationship[]): string[]; //# sourceMappingURL=relationship-mapper.d.ts.map