import { QueryKey, QueryObserverOptions, UseQueryResult } from "@tanstack/react-query";
import { FunctionName, Reactor, TransformKey, ReactorArgs, ReactorReturnOk, ReactorReturnErr } from "@ic-reactor/core";
import { CallConfig } from "@icp-sdk/core/agent";
export interface UseActorQueryParameters, T extends TransformKey = "candid", TSelected = ReactorReturnOk> extends Omit, ReactorReturnErr, TSelected, ReactorReturnOk, QueryKey>, "queryKey" | "queryFn"> {
reactor: Reactor;
functionName: M;
args?: ReactorArgs;
callConfig?: CallConfig;
queryKey?: QueryKey;
}
export type UseActorQueryConfig, T extends TransformKey = "candid", TSelected = ReactorReturnOk> = Omit, "reactor">;
export type UseActorQueryResult, T extends TransformKey = "candid", TSelected = ReactorReturnOk> = UseQueryResult>;
/**
* Hook for executing query calls on a canister.
*
* @example
* const { data, isLoading } = useActorQuery({
* reactor,
* functionName: "getUser",
* args: ["user-123"],
* })
*
* // With select transformation
* const { data } = useActorQuery({
* reactor,
* functionName: "getUser",
* args: ["user-123"],
* select: (user) => user.name,
* })
*/
export declare const useActorQuery: , T extends TransformKey = "candid", TSelected = ReactorReturnOk>({ reactor, functionName, args, callConfig, queryKey: defaultQueryKey, ...options }: UseActorQueryParameters) => UseActorQueryResult;
//# sourceMappingURL=useActorQuery.d.ts.map