import type { ArgsOrVoid, ArgsOrVoidOrSkip, ICommand, IPlugin, IPluginContext, IResource, PluginHKT, TCommandAgentState, TCommandOptions, TInfiniteResourceState, TProjectionResourceOptions, TResourceAgentState, TResourceOptions, TSuspenseResourceState, TTriggerPromise } from "../../query/types/index.js"; /** Resource augmentation shape produced by ReactHooksPlugin. */ type ReactHooksResourceShape = { useResource: (args: ArgsOrVoidOrSkip) => TResourceAgentState; useSuspenseResource: (args: ArgsOrVoid) => TSuspenseResourceState; }; /** Additional augmentation for projection resources (on top of the resource shape). */ type ReactHooksProjectionResourceShape = { useInfiniteResource: (initialArgs: ArgsOrVoidOrSkip) => TInfiniteResourceState; }; /** Command augmentation shape produced by ReactHooksPlugin. */ type ReactHooksCommandShape = { useCommand: (key?: string) => [trigger: (args: TArgs) => TTriggerPromise, state: TCommandAgentState]; }; /** * HKT declaration for ReactHooksPlugin. * Uses `this['_TArgs']`, `this['_TData']`, and `this['_TError']` which become * concrete when applied through `ApplyPluginResourceHKT` / `ApplyPluginCommandHKT`. */ export interface ReactHooksPluginHKT extends PluginHKT { readonly resourceType: ReactHooksResourceShape; readonly commandType: ReactHooksCommandShape; readonly projectionResourceType: ReactHooksProjectionResourceShape; } export declare class ReactHooksPlugin implements IPlugin { readonly name = "ReactHooksPlugin"; readonly _hkt: ReactHooksPluginHKT; install(_context: IPluginContext): void; augmentResource(resource: IResource, _options: TResourceOptions): ReactHooksResourceShape; augmentCommand(command: ICommand, _options: TCommandOptions): ReactHooksCommandShape; augmentProjectionResource(resource: IResource, _options: TProjectionResourceOptions): ReactHooksProjectionResourceShape; } export declare function reactHooksPlugin(): ReactHooksPlugin; export {};