import * as React from 'react'; import { MutableRefObject } from 'react'; import { RedirectionSideEffect } from '../../sideEffect'; import { Record, OnFailure, OnSuccess } from '../../types'; import { SideEffectContextValue, TransformData } from '../saveModifiers'; interface SaveContextValue extends SideEffectContextValue { onFailureRef?: MutableRefObject; onSuccessRef?: MutableRefObject; transformRef?: MutableRefObject; save?: (record: Partial, redirect: RedirectionSideEffect, callbacks?: { onSuccess?: OnSuccess; onFailure?: OnFailure; transform?: TransformData; }) => void; saving?: boolean; } export declare const SaveContext: React.Context; export declare const SaveContextProvider: ({ children, value }: { children: any; value: any; }) => JSX.Element; /** * Get the save() function and its status * * Used in forms. * * @example * * const { * save, * saving * } = useSaveContext(); */ export declare const useSaveContext: (props?: PropsType) => SaveContextValue; export declare const usePickSaveContext: (context: ContextType) => SaveContextValue; export {};