import type { MetaObject, MetaRoot } from "@metaobjectsdev/metadata"; /** The effective package of an object — its own package OR the file-default * folded into `resolutionKey()`. `entity.package` alone is usually undefined * (object fqn() stays bare), so all package reads go through here. */ export declare function packageOf(entity: MetaObject): string; export interface FieldTemplateData { name: string; /** Neutral field subtype, e.g. "string" | "int" | "currency" | "enum". * Arrayness is carried by `isArray`, NOT appended here. */ type: string; required: boolean; isArray: boolean; maxLength?: number; enumValues?: string[]; } export interface IdentityTemplateData { kind: string; fields: string[]; } export interface RelationshipTemplateData { name: string; cardinality: string; targetRef: string; } export interface EntityTemplateData { name: string; package: string; fields: FieldTemplateData[]; identities: IdentityTemplateData[]; relationships: RelationshipTemplateData[]; } export interface PackageTemplateData { package: string; entities: EntityTemplateData[]; } export interface ModelTemplateData { packages: PackageTemplateData[]; } export declare function buildEntityTemplateData(entity: MetaObject): EntityTemplateData; export declare function buildPackageTemplateData(pkg: string, entities: MetaObject[]): PackageTemplateData; /** Groups concrete (non-abstract) objects by package — packages ascending, * entities in `root.objects()` order. Abstract objects never emit instance * artifacts, so they are excluded. */ export declare function buildModelTemplateData(root: MetaRoot): ModelTemplateData; //# sourceMappingURL=template-data.d.ts.map