import React__default from 'react';
import { FormikProps } from 'formik';
import { DynamicFormFieldSchema } from '../types/dynamic-form-schema-generated.js';

interface DynamicFormContextValue {
    formik: FormikProps<Record<string, unknown>>;
    fields: DynamicFormFieldSchema[];
    getFieldValue: (name: string) => unknown;
    getFieldError: (name: string) => string | undefined;
    getFieldTouched: (name: string) => boolean;
    setFieldValue: (field: string, value: unknown) => Promise<void>;
    handleChange: (e: React__default.ChangeEvent<unknown>) => void;
    handleBlur: (e: React__default.FocusEvent<unknown>) => void;
}
interface DynamicFormProviderProps {
    children: React__default.ReactNode;
    fields: DynamicFormFieldSchema[];
    formik: FormikProps<Record<string, unknown>>;
}
declare function DynamicFormProvider({ children, fields, formik, }: DynamicFormProviderProps): React__default.ReactElement;
declare function useDynamicForm(): DynamicFormContextValue;

export { type DynamicFormContextValue, DynamicFormProvider, useDynamicForm };
