import React from 'react'; import { UseFormProps, FieldValues } from 'react-hook-form'; import { DialogProps as MuiDialogProps, ButtonProps } from '@material-ui/core'; import { Fields, CustomComponents } from './types'; import { ISubmitErrorProps } from './SubmitError'; export interface IFormDialogProps { fields: Fields; values?: FieldValues; onSubmit: (values: FieldValues) => void; customComponents?: CustomComponents; UseFormProps?: UseFormProps; open: boolean; onClose: (reason: 'submit' | 'cancel') => void; title: React.ReactNode; formHeader?: React.ReactNode; formFooter?: React.ReactNode; customActions?: React.ReactNode; SubmitButtonProps?: Partial; CancelButtonProps?: Partial; hideCancelButton?: boolean; DialogProps?: Partial; hideSubmitError?: boolean; SubmitErrorProps?: Partial; CloseConfirmProps?: Partial<{ title: React.ReactNode; body: React.ReactNode; confirmButtonProps: Partial; cancelButtonProps: Partial; }>; } export default function FormDialog({ fields, values, onSubmit, customComponents, UseFormProps, open, onClose, title, formHeader, formFooter, customActions, SubmitButtonProps, CancelButtonProps, hideCancelButton, DialogProps, hideSubmitError, SubmitErrorProps, CloseConfirmProps, }: IFormDialogProps): JSX.Element;