import { FC } from 'react'; import { FormSchema } from './types'; /** * Narrow an arbitrary JSON value to a renderable schema. Returns null when the * value isn't a usable object schema, so callers can fall back rather than * rendering an empty form. */ export declare function parseFormSchema(raw: unknown): FormSchema | null; /** * Required fields that are visible and filled. Hidden fields are excluded on * purpose — a `showIf` field the user never saw must not block submission. */ export declare function isSchemaComplete(schema: FormSchema, values: Record): boolean; /** * Seed values for a schema's declared defaults. * * A rendered control shows `property.default` as selected, but nothing was * written to form state — so validation treated the visible default as missing * and submit dropped it unless the user touched the control. The common * "accept the default" path silently lost the value. */ export declare function initialValuesFromSchema(schema: FormSchema | null): Record; /** * Drop values whose field is currently hidden by `showIf`. * * Changing a controlling option hides a field but leaves whatever was typed in * it in state; submitting that would store a credential the user can no longer * see and did not intend to send. */ export declare function visibleValues(schema: FormSchema | null, values: Record): Record; interface SchemaFormProps { schema: FormSchema; values: Record; onChange: (values: Record) => void; disabled?: boolean; /** Prefix for generated element ids so several forms can coexist on a page. */ idPrefix?: string; } export declare const SchemaForm: FC; export {}; //# sourceMappingURL=SchemaForm.d.ts.map