import { UseUpdateOptions } from "../../dataProvider/useUpdate.cjs";
import { RedirectionSideEffect } from "../../routing/useRedirect.cjs";
import { RaRecord, MutationMode } from "../../types.cjs";
/**
* Prepare a set of callbacks for an update button
*
* @example
* const UpdateButton = ({
* resource,
* record,
* redirect,
* ...rest
* }) => {
* const {
* isPending,
* handleUpdate,
* } = useUpdateController({
* mutationMode: 'pessimistic',
* resource,
* record,
* redirect,
* });
*
* const [open, setOpen] = useState(false);
*
* return (
*
*
* handleUpdate()}
* onClose={() => setOpen(false)}
* />
*
* );
* };
*/
export declare const useUpdateController: (props: UseUpdateControllerParams) => UseUpdateControllerReturn;
export interface UseUpdateControllerParams {
mutationMode?: MutationMode;
mutationOptions?: UseUpdateOptions;
record?: RecordType;
redirect?: RedirectionSideEffect;
resource?: string;
successMessage?: string;
}
export interface UseUpdateControllerReturn {
isLoading: boolean;
isPending: boolean;
handleUpdate: (data: Partial) => void;
}
//# sourceMappingURL=useUpdateController.d.ts.map