import React__default from 'react';
import * as Yup from 'yup';
import { DynamicFormFieldSchema, ValidationRule } from '../types/dynamic-form-schema-generated.js';

interface DynamicFormProps {
    fields: DynamicFormFieldSchema[];
    initialValues?: Record<string, unknown>;
    onSubmit: (values: Record<string, unknown>) => void | Promise<void>;
    children: React__default.ReactNode;
}
declare function DynamicFormRoot({ fields, initialValues, onSubmit, children, }: DynamicFormProps): React__default.ReactElement;
interface DynamicFormFieldListProps {
    fields?: DynamicFormFieldSchema[];
    labelVariant?: 'title' | 'body' | 'caption';
}
declare function DynamicFormFieldList({ fields: fieldsProp, labelVariant, }: DynamicFormFieldListProps): React__default.ReactElement;
declare const DynamicForm: {
    Root: typeof DynamicFormRoot;
    FieldList: typeof DynamicFormFieldList;
};
declare function createYupValidation(field: DynamicFormFieldSchema, validation?: ValidationRule): Yup.Schema<unknown> | undefined;

export { DynamicForm, type DynamicFormProps, createYupValidation };
