import { type UseMutationOptions, type UseMutationResult, type UseQueryOptions, type UseQueryResult } from "@tanstack/react-query"; import {type AxiosRequestConfig} from "axios"; import {type IQueryParams} from "../link"; export type IQueryHook = (request?: TRequest, queryParams?: TQueryParams, options?: UseQueryOptions, config?: AxiosRequestConfig) => UseQueryResult; export type IMutationHook = (queryParams?: TQueryParams, options?: UseMutationOptions, config?: AxiosRequestConfig) => UseMutationResult; export type IPromiseCallback = (request?: TRequest, queryParams?: TQueryParams, config?: AxiosRequestConfig) => Promise; export type IHookCallback = () => IPromiseCallback; export interface IWithFulltext { fulltext?: string; } export interface IWithIdentity { id: string; } export interface IWithIdentityQuery extends IQueryParams { id: string; }