import { Dispatch, SetStateAction } from 'react'; import { FormInstance, FormProps } from 'antd'; import { QueryObserverResult } from 'react-query'; import { UseUpdateReturnType } from '../../data/useUpdate'; import { MutationMode, BaseRecord, RedirectionTypes, GetOneResponse, UpdateResponse, IResourceItem, HttpError, SuccessErrorNotification, MetaDataQuery, LiveModeProps } from '../../../interfaces'; import { ActionParams } from '../useForm'; declare type SaveButtonProps = { disabled: boolean; onClick: () => void; loading?: boolean; }; export declare type TuseEditForm = { form: FormInstance; formProps: FormProps; editId?: string; setEditId?: Dispatch>; saveButtonProps: SaveButtonProps; queryResult: QueryObserverResult>; mutationResult: UseUpdateReturnType; formLoading: boolean; setCloneId?: Dispatch>; cloneId?: string; }; export declare type useEditFormProps = { onMutationSuccess?: (data: UpdateResponse, variables: TVariables, context: any) => void; onMutationError?: (error: TError, variables: TVariables, context: any) => void; mutationMode?: MutationMode; submitOnEnter?: boolean; warnWhenUnsavedChanges?: boolean; redirect?: RedirectionTypes; undoableTimeout?: number; resource: IResourceItem; metaData?: MetaDataQuery; } & SuccessErrorNotification & ActionParams & LiveModeProps; export declare const useEditForm: ({ onMutationSuccess, onMutationError, mutationMode: mutationModeProp, submitOnEnter, warnWhenUnsavedChanges: warnWhenUnsavedChangesProp, redirect, undoableTimeout, resource, successNotification, errorNotification, liveMode, onLiveEvent, liveParams, metaData, action: actionFromParams, }: useEditFormProps) => TuseEditForm; export {};