import { type ReactElement, type ReactNode } from 'react'; import { type UseFormReturn } from '../../hooks'; import { FIELD_NAME } from '../constants'; import type { FormValues, ValidationFn } from '../types'; export type EditingFormProps = { /** * Значение поля в форме редактирования. * Если в children строка или число, то это значение будет по умолчанию считаться initialValue */ initialValue?: TValue; /** * Отображаемое значение */ children: ReactNode; /** * Render-props для замены компонента поля формы */ componentField?: (fieldProps: { name: typeof FIELD_NAME; control: UseFormReturn['control']; fullWidth: boolean; }) => ReactElement; /** * Функция валидации для редактируемого поля. */ validate?: ValidationFn; /** * Функция, вызываемая при закрытии поповера */ onClose: () => void; /** * Функция, вызываемая при отправке формы. * @param fieldValue - Значение поля. */ onSubmit: (fieldValue?: TValue) => void | Promise; }; export declare const EditingForm: (props: EditingFormProps) => JSX.Element;