import type { AvailableRouterMethod, NitroFetchRequest } from 'nitropack'; import type { AsyncData, FetchResult, UseFetchOptions } from 'nuxt/app'; import type { FetchError } from 'ofetch'; import type { Ref } from 'vue'; type PickFrom> = T extends Array ? T : T extends Record ? keyof T extends K[number] ? T : K[number] extends never ? T : Pick : T; type KeysOf = Array; /** * На данный момент нет возможности использовать `useFetch` со своим $fetch, * поэтому приходится использовать костыль. * https://github.com/nuxt/nuxt/issues/14736 */ export declare function useApi = ResT extends void ? 'get' extends AvailableRouterMethod ? 'get' : AvailableRouterMethod : AvailableRouterMethod, _ResT = ResT extends void ? FetchResult : ResT, DataT = _ResT, PickKeys extends KeysOf = KeysOf, DefaultT = undefined>(request: Ref | ReqT | (() => ReqT), opts?: UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method>): AsyncData | DefaultT, ErrorT | undefined>; export {};