import { CanonId } from "./canonId"; type RuntimeConceptId = CanonId; export type JurisdictionCode = string; export interface ConceptDefinition { id: RuntimeConceptId; name: string; description?: string; version: string; } export interface JurisdictionalValueSet { conceptId: RuntimeConceptId; jurisdiction: JurisdictionCode; values: readonly string[]; metadata?: Record; } /** * Define a concept in the Kernel Registry. * Concepts are stable, rare-change, code-versioned definitions of what a thing IS. */ export declare function defineConcept(def: ConceptDefinition): ConceptDefinition; /** * Register a jurisdictional value set for a concept. * Value sets define WHERE a concept is valid (e.g., Malaysia Banks, Global Currencies). */ export declare function registerValueSet(valueSet: JurisdictionalValueSet): void; /** * Get a concept definition by ID. */ export declare function getConcept(conceptId: RuntimeConceptId): ConceptDefinition | undefined; /** * Get a value set for a concept and jurisdiction. */ export declare function getValueSet(conceptId: RuntimeConceptId, jurisdiction: JurisdictionCode): JurisdictionalValueSet | undefined; /** * List all registered concepts. */ export declare function listConcepts(): ConceptDefinition[]; /** * List all value sets for a concept. */ export declare function listValueSets(conceptId: RuntimeConceptId): JurisdictionalValueSet[]; export {}; //# sourceMappingURL=concept-registry.d.ts.map