import { QueryKey, UseInfiniteQueryResult, UseInfiniteQueryOptions, InfiniteData } from "@tanstack/react-query"; import { FunctionName, Reactor, TransformKey, ReactorArgs, ReactorReturnOk, ReactorReturnErr } from "@ic-reactor/core"; import { CallConfig } from "@icp-sdk/core/agent"; /** * Parameters for useActorInfiniteQuery hook. * Extends react-query's UseInfiniteQueryOptions with custom reactor params. */ export interface UseActorInfiniteQueryParameters, T extends TransformKey = "candid", TPageParam = unknown, TSelected = InfiniteData, TPageParam>> extends Omit, ReactorReturnErr, TSelected, QueryKey, TPageParam>, "queryKey" | "queryFn" | "getNextPageParam" | "initialPageParam"> { /** The reactor instance to use for method calls */ reactor: Reactor; /** The method name to call on the canister */ functionName: M; /** Function to get args from page parameter */ getArgs: (pageParam: TPageParam) => ReactorArgs; /** Agent call configuration (effectiveCanisterId, etc.) */ callConfig?: CallConfig; /** Custom query key (auto-generated if not provided) */ queryKey?: QueryKey; /** Initial page parameter */ initialPageParam: TPageParam; /** Function to determine next page parameter */ getNextPageParam: (lastPage: ReactorReturnOk, allPages: ReactorReturnOk[], lastPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined | null; } export type UseActorInfiniteQueryConfig, T extends TransformKey = "candid", TPageParam = unknown> = Omit, "reactor">; export type UseActorInfiniteQueryResult, T extends TransformKey = "candid", TPageParam = unknown> = UseInfiniteQueryResult, TPageParam>, ReactorReturnErr>; /** * Hook for executing infinite/paginated query calls on a canister. * * @example * const { data, fetchNextPage, hasNextPage } = useActorInfiniteQuery({ * reactor, * functionName: "getItems", * getArgs: (pageParam) => [{ offset: pageParam, limit: 10 }], * initialPageParam: 0, * getNextPageParam: (lastPage) => lastPage.nextOffset, * }) */ export declare const useActorInfiniteQuery: , T extends TransformKey = "candid", TPageParam = unknown>({ reactor, functionName, getArgs, callConfig, queryKey, ...options }: UseActorInfiniteQueryParameters) => UseActorInfiniteQueryResult; //# sourceMappingURL=useActorInfiniteQuery.d.ts.map