import { UseMutationOptions, UseMutationResult, QueryKey } from "@tanstack/react-query"; import { Reactor, ReactorArgs, ReactorReturnOk, FunctionName, TransformKey, ReactorReturnErr, CanisterError, ErrResult, ActorMethodReturnType, TransformReturnRegistry } from "@ic-reactor/core"; import { CallConfig } from "@icp-sdk/core/agent"; export interface UseActorMutationParameters, T extends TransformKey = "candid"> extends Omit, ReactorReturnErr, ReactorArgs>, "mutationFn"> { reactor: Reactor; functionName: M; callConfig?: CallConfig; invalidateQueries?: QueryKey[]; /** * Callback for canister-level business logic errors. * Called when the canister returns a Result { Err: E } variant. * Separate from `onError`, which fires for all errors including network failures. */ onCanisterError?: (error: CanisterError>>[T]>, variables: ReactorArgs) => void; } export type UseActorMutationConfig, T extends TransformKey = "candid"> = Omit, "reactor">; export type UseActorMutationResult, T extends TransformKey = "candid"> = UseMutationResult, ReactorReturnErr, ReactorArgs>; /** * Hook for executing mutation calls on a canister. * * @example * const { mutate, isPending } = useActorMutation({ * reactor, * functionName: "transfer", * onSuccess: () => console.log("Success!"), * onCanisterError: (err) => console.error("Canister Err:", err.code), * }) */ export declare const useActorMutation: , T extends TransformKey = "candid">({ reactor, functionName, invalidateQueries, onSuccess, onError, onCanisterError, callConfig, ...options }: UseActorMutationParameters) => UseActorMutationResult; //# sourceMappingURL=useActorMutation.d.ts.map