import { GlossaristModel } from './base.js'; import { ConceptRef } from './concept-ref.js'; import type { ConceptRefJson } from './concept-ref.js'; import type { LocalizedString } from './generic-member.js'; export declare const RELATIONSHIP_TYPES: ReadonlyArray; export type RelationshipType = string; export interface RelatedConceptJson { type?: RelationshipType; content?: LocalizedString | string | null; ref?: ConceptRefJson | ConceptRef | null; /** * Explicit cross-dataset link URL authored in the YAML data. * * MECE boundary: `ref` is the canonical, deployment-independent * reference ({source, id}). `target` is an author-provided URL for * cases where the dataset explicitly records a resolved link (e.g. * supersedes links to external standards). The resolver layer * computes runtime URIs from `ref`; `target` is not computed — * it is data. */ target?: string | null; } export declare class RelatedConcept extends GlossaristModel { readonly type: RelationshipType; readonly content: LocalizedString | null; readonly ref: ConceptRef | null; readonly target: string | null; constructor(data?: RelatedConceptJson); /** * Convenience reader: returns the first available string value from * the localized hash, or null if absent. */ get contentString(): string | null; toJSON(): RelatedConceptJson; static identityOf(value: { type?: string; ref?: { source?: string | null; id?: string | null; } | null; target?: string | null; } | null | undefined): string; identity(): string; static fromJSON(data: RelatedConceptJson): RelatedConcept; } //# sourceMappingURL=related-concept.d.ts.map