declare module 'redux-query-react' { import React from 'react'; import { ActionPromiseValue, Entities, QueriesState, QueryConfig, QueryState, QueriesSelector, } from 'redux-query'; export type QueryConfigFactory = ( ...args: TArgs ) => QueryConfig; export type QueryConfigsFactory = ( ...args: TArgs ) => QueryConfig | QueryConfig[]; export interface ConnectRequestOptions { forwardRef?: boolean; pure?: boolean; } export type ForceRequestCallback = () => Promise< ActionPromiseValue > | void; export type ForceRequestsCallback = () => void; export interface WithForceRequest { forceRequest: ForceRequestCallback; } export type ConnectRequestWrapper = ( WrappedComponent: React.ComponentType, ) => React.ComponentType>; export type RequestConnector< TEntities = Entities, TProps extends WithForceRequest = WithForceRequest > = ( mapPropsToConfigs: QueryConfigsFactory, options?: ConnectRequestOptions, ) => ConnectRequestWrapper; export interface ProviderProps { queriesSelector: QueriesSelector; children?: React.ReactNode; } export type ReduxQueryProvider = React.ComponentType; export type ActionPromise = Promise>; type RunMutation = ( ...args: TArgs ) => ActionPromise; type RunRequest = ( ...args: TArgs ) => ActionPromise; export type UseRequestHook = ( queryConfig: QueryConfig | null | undefined, ) => [QueryState, ForceRequestCallback]; export type UseRequestsHook = ( queryConfigs: Array | null | undefined> | null | undefined, ) => [QueryState, ForceRequestsCallback]; export type UseRequestOnDemandHook = ( createQueryConfig: QueryConfigFactory, ) => [QueryState, RunRequest]; export type UseMutationHook = ( createQueryConfig: QueryConfigFactory, ) => [QueryState, RunMutation]; export const connectRequest: RequestConnector; export const Provider: ReduxQueryProvider; export const useRequest: UseRequestHook; export const useRequestOnDemand: UseRequestOnDemandHook; export const useRequests: UseRequestsHook; export const useMutation: UseMutationHook; }