import { GlossaristModel } from './base.js'; import { Section } from './section.js'; import type { SectionJson } from './section.js'; import type { DatasetColor } from './dataset-color.js'; import type { LocalizedString } from './generic-member.js'; export declare const REGISTER_STATUSES: ReadonlyArray; export interface RegisterJson { schema_version?: string; schemaVersion?: string; id?: string | null; name?: string | LocalizedString | null; ref?: string | null; refAliases?: ReadonlyArray; ref_aliases?: ReadonlyArray; year?: number | string | null; urn?: string | null; urnAliases?: ReadonlyArray; urn_aliases?: ReadonlyArray; status?: string | null; supersedes?: string | null; owner?: string | null; sourceRepo?: string | null; source_repo?: string | null; tags?: ReadonlyArray; languages?: ReadonlyArray; languageOrder?: ReadonlyArray; language_order?: ReadonlyArray; ordering?: string | null; logo?: Record | null; color?: DatasetColor | null; description?: LocalizedString; about?: LocalizedString; provenance?: ReadonlyArray>; contributors?: ReadonlyArray>; sections?: ReadonlyArray; [key: string]: unknown; } export declare class Register extends GlossaristModel { readonly schemaVersion: string; readonly id: string | null; readonly name: string | LocalizedString | null; readonly ref: string | null; readonly refAliases: ReadonlyArray; readonly year: number | string | null; readonly urn: string | null; readonly urnAliases: ReadonlyArray; readonly status: string | null; readonly supersedes: string | null; readonly owner: string | null; readonly sourceRepo: string | null; readonly tags: ReadonlyArray; readonly languages: ReadonlyArray; readonly languageOrder: ReadonlyArray; readonly ordering: string | null; readonly logo: Record | null; readonly color: DatasetColor | null; readonly description: LocalizedString; readonly about: LocalizedString; readonly provenance: ReadonlyArray>; readonly contributors: ReadonlyArray>; readonly sections: ReadonlyArray
; private readonly _raw; constructor(data?: RegisterJson); private _extractRaw; sectionById(id: string): Section | null; /** * Walks the section tree upward from `sectionId`, returning the * ancestor chain in immediate-parent-first order. The returned array * does NOT include sectionId itself. Returns [] when sectionId is * unknown or is a top-level section. */ sectionAncestorIds(sectionId: string | null | undefined): string[]; /** * Returns the closure of `sectionId`: the section plus all of its * ancestors. Concept-section membership tests should intersect the * concept's section list with this closure. */ sectionClosure(sectionId: string | null | undefined): string[]; /** * Walks the section tree DOWNWARD from `sectionId`, returning all * descendant section IDs in pre-order. */ sectionDescendantIds(sectionId: string | null | undefined): string[]; sectionDescendantClosure(sectionId: string | null | undefined): string[]; /** * Returns all section IDs the concept belongs to: the concept's own * sections plus every ancestor of each. */ conceptSectionIds(concept: { sections?: unknown; groups?: unknown; }): string[]; sectionName(sectionId: string, lang: string): string | null; /** * Localized display name. Returns the best-matching name string for * the requested language, falling back to English, then to the first * available language, then to null. */ displayName(lang: string): string | null; resolvedColor(mode: 'light' | 'dark'): string | null; toJSON(): RegisterJson; static fromJSON(data: RegisterJson): Register; } //# sourceMappingURL=register.d.ts.map