import { type MetaObject, type MetaField, type MetaRoot } from "@metaobjectsdev/metadata"; import type { Dialect } from "../column-mapper.js"; import type { ColumnNamingStrategy } from "../metaobjects-config.js"; import type { OutputLayout } from "../import-path.js"; import type { EntityDocData } from "./docs-data.js"; export interface BuildDocDataOpts { dialect: Dialect; columnNamingStrategy?: ColumnNamingStrategy; loadedRoot: MetaRoot; /** Page-placement layout. Defaults to "flat" (back-compat: same-dir links). */ layout?: OutputLayout; /** Cross-links to this entity's GENERATED-SDK api pages, one per api surface * (per language). Computed by the caller (docsFile) via the shared * `apiSurfaceHref` so each resolves in BOTH layouts. ABSENT for model-only * runs → default output byte-identical. */ apiRefs?: Array<{ label: string; href: string; }>; } /** Whether a field is required — `@required` true OR a `validator.required` * child. The SINGLE source of truth for required-ness across the Constraints * table, the Storage nullable rule, and (via the api-docs field-shape builder) * the documented model-field optionality. Exported so the field-shape builder * reuses the EXACT same rule rather than re-deriving it. */ export declare function isFieldRequired(field: MetaField): boolean; /** The NEUTRAL logical type string (no backticks): the field's logical * subtype (e.g. `string`, `enum`, `decimal`), suffixed `[]` for arrays, and * the referenced object name for `field.object`. Language-agnostic — built * from declared metadata, never re-derived into ANSI/ORM SQL. Shared by the * Constraints table (`neutralTypeCell`) and the Storage table's physical-type * fallback (`storageTypeCell`). */ export declare function neutralTypeStr(field: MetaField): string; /** Build the EntityDocData payload for one entity. The single public-API * entry point exported by this module; the markdown template applies * against this shape. */ export declare function buildEntityDocData(entity: MetaObject, opts: BuildDocDataOpts): EntityDocData; //# sourceMappingURL=docs-data-builder.d.ts.map