import { QueryClient, QueryKey } from '@tanstack/react-query';
import type { IUserContext } from '../../../context';
export interface IHandlerContext {
    queryClient: QueryClient;
    queryKey: QueryKey;
}
export interface IMutationContext<TData, IError, TVars, TCache> extends IHandlerContext {
    mutationFn: (vars: TVars) => Promise<TData>;
    mutationHandlers: {
        mutate: (callback: (cache: TCache) => TCache) => Promise<TCache>;
        error: (err: IError, vars: TVars, cache?: TCache) => void;
    };
    user: IUserContext;
}
