import { ReactNode, ComponentType, FunctionComponent, ReactElement } from 'react'; import { FormProps } from 'react-final-form'; import Schema from '../common-types/schema'; import ComponentMapper from '../common-types/component-mapper'; import { ValidatorMapper } from '../validator-mapper'; import { ActionMapper } from './action-mapper'; import SchemaValidatorMapper from '../common-types/schema-validator-mapper'; import { FormTemplateRenderProps } from '../common-types/form-template-render-props'; import { NoIndex } from '../common-types/no-index'; import { ConditionMapper } from './condition-mapper'; export interface FormRendererProps, InitialFormValues = Partial, FormTemplateProps extends FormTemplateRenderProps = FormTemplateRenderProps> extends Omit>, 'onSubmit' | 'children'> { initialValues?: InitialFormValues; onCancel?: (values: FormValues, ...args: any[]) => void; onReset?: () => void; onError?: (...args: any[]) => void; onSubmit?: FormProps['onSubmit']; schema: Schema | (Record & { fields: Array>; }); clearOnUnmount?: boolean; clearedValue?: any; componentMapper: ComponentMapper; FormTemplate?: ComponentType | FunctionComponent; validatorMapper?: ValidatorMapper; actionMapper?: ActionMapper; conditionMapper?: ConditionMapper; schemaValidatorMapper?: SchemaValidatorMapper; FormTemplateProps?: Partial; children?: ReactNode | ((props: FormTemplateRenderProps) => ReactNode); } declare function FormRenderer, InitialFormValues = Partial, FTP extends FormTemplateRenderProps = FormTemplateRenderProps>({ actionMapper, children, clearedValue, clearOnUnmount, componentMapper, conditionMapper, decorators, FormTemplate, FormTemplateProps, mutators, onCancel, onError, onReset, onSubmit, schema, schemaValidatorMapper, subscription, validatorMapper, initialValues, ...props }: FormRendererProps): ReactElement; export default FormRenderer;