/** * Ontology Registry — Manages loaded ontology schemas. * * Provides registration, lookup, inheritance resolution, and * entity-type-to-schema mapping. * * @module trellis/core/ontology */ import type { OntologySchema, EntityDef, RelationDef, AttributeDef } from './types.js'; export declare class OntologyRegistry { private schemas; /** Resolved entity defs (with inherited attributes merged). */ private resolvedEntities; /** Resolved relation defs. */ private resolvedRelations; /** * Register an ontology schema. * Throws if an ontology with the same ID is already registered at the same version. */ register(schema: OntologySchema): void; /** * Unregister an ontology by ID. */ unregister(id: string): void; /** * Get a registered ontology schema by ID. */ get(id: string): OntologySchema | undefined; /** * List all registered ontology schemas. */ list(): OntologySchema[]; /** * Get the resolved entity definition for an entity type name. * Returns the entity def with inherited attributes merged in. */ getEntityDef(typeName: string): EntityDef | undefined; /** * Get the ontology ID that defines a given entity type. */ getEntityOntology(typeName: string): string | undefined; /** * List all known entity type names. */ listEntityTypes(): string[]; /** * Get all relation definitions involving a given entity type * (either as source or target). */ getRelationsForType(typeName: string): RelationDef[]; /** * Get a specific relation definition by name. */ getRelationDef(name: string): RelationDef | undefined; /** * List all known relation names. */ listRelationNames(): string[]; /** * Check if an entity type is known to any registered ontology. */ hasEntityType(typeName: string): boolean; /** * Get the required attributes for an entity type. */ getRequiredAttributes(typeName: string): AttributeDef[]; private _resolve; private _resolveEntity; } //# sourceMappingURL=registry.d.ts.map