import type { Ref, UnwrapRef } from 'vue'; export interface UseRequestReturnBase { state: Shallow extends true ? Ref : Ref>; isReady: Ref; isLoading: Ref; error: Ref; execute: (delay?: number, ...args: Params) => Promise; } export type UseRequestReturn = UseRequestReturnBase & PromiseLike>; export interface UseRequestOptions { delay?: number; immediate?: boolean; onError?: (e: unknown) => void; onSuccess?: (data: D) => void; resetOnExecute?: boolean; shallow?: Shallow; throwError?: boolean; } export declare function useRequest(promise: Promise | ((...args: Params) => Promise), initialState?: Data, options?: UseRequestOptions): UseRequestReturn;