import { LinkGraph } from "../link-graph.js"; import type { CoverageTracker } from "../coverage.js"; export interface EnumValue { value: string; deflt: boolean; desc: string; } /** A field's presentation view child (e.g. view.currency / view.badge) + its * attrs, both HTML-escaped in the builder (this render lib does not escape). */ export interface ViewAttr { name: string; value: string; } export interface ViewRow { subType: string; attrs: ViewAttr[]; } export interface FieldRow { name: string; type: string; isArray: boolean; required: boolean; badgesHtml: string; desc: string; enumValues: EnumValue[]; views: ViewRow[]; refHref?: string | undefined; refName?: string | undefined; inheritedFrom?: { name: string; href: string; } | undefined; anchor: string; } /** Render an attr value for display: an object (e.g. view.badge @variantMap) as * ordered `k: v` pairs, an array as a comma list, else the scalar. */ export declare function fmtAttrValue(v: unknown): string; export interface IndexRow { name: string; kind: string; fields: string; extra: string; unique: boolean; } export interface ValidatorRow { scope: "field" | "object"; subject: string; rule: string; } export interface RelationRow { name: string; toName: string; toHref: string; cardinality: string; attrs: ViewAttr[]; } export interface OriginRow { field: string; from: string; via: string; attrs: ViewAttr[]; } export interface LayoutRow { kind: string; attrs: ViewAttr[]; } export interface HierRow { name: string; href: string; level: number; self: boolean; } export interface ObjectPageData { name: string; kindBadge: string; isAbstract: boolean; isView: boolean; generation: string; pkg: string; href: string; breadcrumbHtml: string; desc: string; tableName?: string | undefined; pkHtml?: string | undefined; objectAttrs: ViewAttr[]; storageAttrs: ViewAttr[]; layouts: LayoutRow[]; ownFields: FieldRow[]; inheritedFields: FieldRow[]; indexes: IndexRow[]; validators: ValidatorRow[]; relations: RelationRow[]; origins: OriginRow[]; hierarchy: HierRow[]; inheritanceMermaid?: string | undefined; neighborhoodMermaid?: string | undefined; neighborhoodLegend?: { pkg: string; fill: string; stroke: string; }[] | undefined; neighborhoodMore?: number | undefined; referencedBy: { name: string; href: string; via: string; }[]; references: { name: string; href: string; via: string; }[]; usedByTemplates: { name: string; href: string; }[]; sourceFile: string; } export declare function buildObjectPage(fqn: string, g: LinkGraph, cov: CoverageTracker): ObjectPageData; //# sourceMappingURL=object-data.d.ts.map