import { RaRecord, MutationMode, TransformData } from '../../types'; import { RedirectionSideEffect } from '../../routing'; import { UseGetOneHookValue, UseGetOneOptions, UseUpdateOptions } from '../../dataProvider'; import { SaveContextValue } from '../saveContext'; /** * Prepare data for the Edit view. * * useEditController does a few things: * - it grabs the id from the URL and the resource name from the ResourceContext, * - it fetches the record via useGetOne, * - it prepares the page title. * * @param {Object} props The props passed to the Edit component. * * @return {Object} controllerProps Fetched data and callbacks for the Edit view * * @example * * import { useEditController } from 'react-admin'; * import EditView from './EditView'; * * const MyEdit = () => { * const controllerProps = useEditController({ resource: 'posts', id: 123 }); * return ; * } */ export declare const useEditController: (props?: EditControllerProps) => EditControllerResult; export interface EditControllerProps { disableAuthentication?: boolean; id?: RecordType['id']; mutationMode?: MutationMode; mutationOptions?: UseUpdateOptions; queryOptions?: UseGetOneOptions; redirect?: RedirectionSideEffect; resource?: string; transform?: TransformData; [key: string]: any; } export interface EditControllerBaseResult extends SaveContextValue { defaultTitle?: string; isFetching: boolean; isLoading: boolean; refetch: UseGetOneHookValue['refetch']; redirect: RedirectionSideEffect; resource: string; saving: boolean; } export interface EditControllerLoadingResult extends EditControllerBaseResult { record: undefined; error: null; isPending: true; } export interface EditControllerLoadingErrorResult extends EditControllerBaseResult { record: undefined; error: TError; isPending: false; } export interface EditControllerRefetchErrorResult extends EditControllerBaseResult { record: RecordType; error: TError; isPending: false; } export interface EditControllerSuccessResult extends EditControllerBaseResult { record: RecordType; error: null; isPending: false; } export type EditControllerResult = EditControllerLoadingResult | EditControllerLoadingErrorResult | EditControllerRefetchErrorResult | EditControllerSuccessResult; //# sourceMappingURL=useEditController.d.ts.map