import type { EdgeRef } from "#types/link.types"; export interface ReferenceRelation { readonly edges: readonly EdgeRef[]; readonly relation: string; } export interface ReferenceRecord { readonly code: string | null; readonly kind: string; readonly layer: EdgeRef | null; readonly name: string; readonly relations: readonly ReferenceRelation[]; readonly summary: string | null; } export type ReferenceIndex = Readonly>; export interface ChapterReference { readonly intro: string | null; readonly principle: string | null; readonly relations: readonly ReferenceRelation[]; readonly title: string; } export interface ReferenceTarget { readonly face: string; readonly ref: string; } export type ReferenceContent = | { readonly chapter: ChapterReference; readonly kind: "chapter" } | { readonly kind: "record"; readonly record: ReferenceRecord };