import type { JsonValue, ManifestAttribute, ManifestConstraints, ManifestDocument, ManifestTsKind } from './migration-types.js'; export type { JsonValue, ManifestAttribute, ManifestConstraints, ManifestDocument, ManifestTsMetadata, ManifestTsKind, ManifestTypiaMetadata, ManifestWpMetadata, } from './migration-types.js'; export declare function isManifestAttribute(value: unknown): value is ManifestAttribute; export declare function isManifestDocument(value: unknown): value is ManifestDocument; export declare function assertManifestDocument(value: unknown): TDocument; export declare function parseManifestDocument(value: unknown): TDocument; /** * Wrapper helper for generated `typia.manifest.json` modules. * * Wrapper files validate the raw JSON once at import time so editor and * migration consumers can rely on a typed manifest boundary without local * parse calls. */ export declare function defineManifestDocument>(manifest: TDocument): ManifestDocument & TDocument; export type EditorControlKind = 'toggle' | 'select' | 'range' | 'number' | 'text' | 'textarea' | 'unsupported'; export interface EditorFieldOption { label: string; value: string | number | boolean; } export interface EditorFieldDescriptor { constraints: ManifestConstraints; control: EditorControlKind; defaultValue: JsonValue | null; hasDefault: boolean; key: string; kind: ManifestTsKind; label: string; maximum: number | null; minimum: number | null; options: EditorFieldOption[]; path: string; reason?: string; required: boolean; step: number | null; supported: boolean; } export interface EditorModelOptions { hidden?: string[]; labels?: Record; manual?: string[]; preferTextarea?: string[]; } export declare function formatEditorFieldLabel(path: string): string; /** * Describe one manifest attribute as an editor field model. * * @param path - Dot-separated manifest attribute path. * @param attribute - Manifest attribute metadata for that path. * @param options - Label and control preferences for editor generation. * @returns A normalized field descriptor for editor rendering helpers. * @example * ```ts * const field = describeEditorField("content", attribute); * ``` * @category Scaffolding */ export declare function describeEditorField(path: string, attribute: ManifestAttribute, options?: EditorModelOptions): EditorFieldDescriptor; /** * Build the editor model for every visible manifest attribute. * * @param manifest - Parsed manifest document used to derive field metadata. * @param options - Label and visibility preferences for editor generation. * @returns A flat list of editor field descriptors. * @example * ```ts * const fields = createEditorModel(manifest); * ``` * @category Scaffolding */ export declare function createEditorModel(manifest: ManifestDocument, options?: EditorModelOptions): EditorFieldDescriptor[];