import { MutationObserver } from '../core/mutationObserver'; import { UseMutateFunction, UseMutationOptions, UseMutationResult } from './types'; import { MutationFunction, MutationKey } from '../core/types'; export declare function useMutation(options: UseMutationOptions): UseMutationResult; export declare function useMutation(mutationFn: MutationFunction, options?: UseMutationOptions): UseMutationResult; export declare function useMutation(mutationKey: MutationKey, options?: UseMutationOptions): UseMutationResult; export declare function useMutation(mutationKey: MutationKey, mutationFn?: MutationFunction, options?: UseMutationOptions): UseMutationResult; export declare function useBaseMutation(options: UseMutationOptions, Observer: typeof MutationObserver): { mutate: UseMutateFunction; mutateAsync: import("../core/types").MutateFunction; isError: boolean; isIdle: boolean; isLoading: boolean; isSuccess: boolean; reset: () => void; context: TContext | undefined; data: TData | undefined; error: TError | null; failureCount: number; isPaused: boolean; status: import("../core/types").QueryStatus; variables: TVariables | undefined; };