import type { JsonSchema, SchemaManifest, ViewManifest } from "../model/ManifestGrammar.js"; export interface SchemaListFilter { readonly field: string; readonly values: readonly string[]; } export interface SchemaListPresentation { readonly primaryField: string | null; readonly columns: readonly string[]; } /** Normalized Admin nav descriptor. Absent/`null` means fold-only. */ export interface SchemaNavPresentation { readonly standalone: true; readonly parentField: string; readonly parentCollection: string; } export interface SchemaAdminUiProblem { readonly pointer: string; readonly value?: unknown; readonly expected: string; readonly message: string; } export interface ViewListPresentation { readonly columns: readonly string[]; readonly searchFields: readonly string[]; readonly filterFields: readonly string[]; } /** Validate the deliberately small Admin list contract for staff Views. */ export declare function checkViewAdminUi(view: ViewManifest): { readonly list: ViewListPresentation; readonly problems: readonly SchemaAdminUiProblem[]; }; export declare function schemaSortableFields(schema: SchemaManifest): readonly string[]; export declare function checkSchemaAdminUi(schema: SchemaManifest): { readonly filter: SchemaListFilter | null; readonly list: SchemaListPresentation; readonly nav: SchemaNavPresentation | null; readonly problems: readonly SchemaAdminUiProblem[]; }; export declare function checkFormUiSchema(schema: JsonSchema, uiSchema: unknown, owner: "Schema" | "Procedure"): readonly SchemaAdminUiProblem[]; /** Required top-level properties that carry `x-mantle-ref`. Order follows * `properties` declaration — callers must not treat that order as a * standalone-filter default when more than one field is eligible. */ export declare function requiredMantleRefFields(schema: SchemaManifest): readonly { readonly field: string; readonly collection: string; }[]; export declare function isRequiredMantleRefField(schema: SchemaManifest, field: string): boolean; /** Graph-time: standalone parent collection must exist and not be a translates child. */ export declare function checkSchemaNavTargets(schema: SchemaManifest, schemasByName: ReadonlyMap): SchemaAdminUiProblem | null; //# sourceMappingURL=SchemaAdminUiChecker.d.ts.map