import { Ref } from 'vue' export type BasicParams = Record | undefined export type CacheKey = string | Array export interface UseCallOptions< TResponse = any, TParams extends BasicParams = undefined, > { url: string | Ref method?: 'GET' | 'POST' | 'PUT' | 'DELETE' params?: TParams | (() => TParams) cacheKey?: CacheKey immediate?: boolean refetch?: boolean baseUrl?: string initialData?: TResponse beforeSubmit?: (params?: TParams) => void transform?: (data: TResponse) => TResponse onSuccess?: (data: TResponse) => void onError?: (error: Error) => void }