import { RequestProps, RequestResultDataProps, RequestResultTypeProps } from "fenextjs-interface/cjs/Request"; import { ErrorFenextjs } from "fenextjs-error"; /** * Properties for the `useRequest` hook. */ export interface useRequestProps { query: Q; request: RequestProps; autoRequest?: boolean; defaultResult?: RequestResultDataProps; defaultResultValue?: R; defaultError?: E; } /** * A hook that sends an HTTP request. * @template Q Query parameter type. * @template R Response type. * @template E Error type. * @template T Request result type. * @param query Query parameter. * @param request HTTP request function. * @param autoRequest Whether to send the request automatically on mount. * @returns An object containing the request result, loading status, error, and request function. */ export declare const useRequest: ({ query, request, autoRequest, defaultError, defaultResult, defaultResultValue, }: useRequestProps) => { result: RequestResultDataProps | undefined; resultValue: R | undefined; loader: boolean; error: E | undefined; onRequest: () => Promise; }; export interface useRequestFunctionProps { f: RequestProps; parseError?: (errors: any) => PE; defaultResult?: FR; defaultError?: PE; } export declare const useRequestFunction: ({ f, parseError, defaultError, defaultResult, }: useRequestFunctionProps) => { loader: boolean; error: PE | undefined; result: FR | undefined; onRequest: (props: FP) => Promise>; onRequestWithThrow: (props: FP) => Promise>; onClear: () => void; }; export interface useRequestLiteProps { f: (data: FP) => Promise; onResult?: (data: FR) => void; onError?: (data: FE) => void; parseError?: (errors: any) => FE; defaultResult?: FR; defaultError?: FE; } export declare const useRequestLite: >({ f, onError, onResult, parseError, defaultError, defaultResult, }: useRequestLiteProps) => { loader: boolean; error: FE | undefined; result: FR | undefined; onRequest: (props: FP) => Promise; onClear: () => void; };