import type { FetchError, FetchOptions } from 'ofetch'; import type { NitroFetchRequest, TypedInternalResponse, AvailableRouterMethod as _AvailableRouterMethod } from 'nitropack'; import type { MaybeRefOrGetter, Ref } from 'vue'; import type { DefaultAsyncDataErrorValue, DefaultAsyncDataValue } from 'nuxt/app/defaults'; import type { AsyncData, AsyncDataOptions, KeysOf, MultiWatchSources, PickFrom } from './asyncData.js'; type AvailableRouterMethod = _AvailableRouterMethod | Uppercase<_AvailableRouterMethod>; export type FetchResult> = TypedInternalResponse>; type ComputedOptions> = { [K in keyof T]: T[K] extends Function ? T[K] : ComputedOptions | Ref | T[K]; }; interface NitroFetchOptions = AvailableRouterMethod> extends FetchOptions { method?: M; } type ComputedFetchOptions> = ComputedOptions>; export interface UseFetchOptions = KeysOf, DefaultT = DefaultAsyncDataValue, R extends NitroFetchRequest = string & {}, M extends AvailableRouterMethod = AvailableRouterMethod> extends Omit, 'watch'>, ComputedFetchOptions { key?: MaybeRefOrGetter; $fetch?: typeof globalThis.$fetch; watch?: MultiWatchSources | false; } /** * Fetch data from an API endpoint with an SSR-friendly composable. * See {@link https://nuxt.com/docs/api/composables/use-fetch} * @since 3.0.0 * @param request The URL to fetch * @param opts extends $fetch options and useAsyncData options */ export declare function useFetch = ResT extends void ? 'get' extends AvailableRouterMethod ? 'get' : AvailableRouterMethod : AvailableRouterMethod, _ResT = ResT extends void ? FetchResult : ResT, DataT = _ResT, PickKeys extends KeysOf = KeysOf, DefaultT = DefaultAsyncDataValue>(request: Ref | ReqT | (() => ReqT), opts?: UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method>): AsyncData | DefaultT, ErrorT | DefaultAsyncDataErrorValue>; export declare function useFetch = ResT extends void ? 'get' extends AvailableRouterMethod ? 'get' : AvailableRouterMethod : AvailableRouterMethod, _ResT = ResT extends void ? FetchResult : ResT, DataT = _ResT, PickKeys extends KeysOf = KeysOf, DefaultT = DataT>(request: Ref | ReqT | (() => ReqT), opts?: UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method>): AsyncData | DefaultT, ErrorT | DefaultAsyncDataErrorValue>; /** * Fetch data from an API endpoint with an SSR-friendly composable. * See {@link https://nuxt.com/docs/api/composables/use-lazy-fetch} * @since 3.0.0 * @param request The URL to fetch * @param opts extends $fetch options and useAsyncData options */ export declare function useLazyFetch = ResT extends void ? 'get' extends AvailableRouterMethod ? 'get' : AvailableRouterMethod : AvailableRouterMethod, _ResT = ResT extends void ? FetchResult : ResT, DataT = _ResT, PickKeys extends KeysOf = KeysOf, DefaultT = DefaultAsyncDataValue>(request: Ref | ReqT | (() => ReqT), opts?: Omit, 'lazy'>): AsyncData | DefaultT, ErrorT | DefaultAsyncDataErrorValue>; export declare function useLazyFetch = ResT extends void ? 'get' extends AvailableRouterMethod ? 'get' : AvailableRouterMethod : AvailableRouterMethod, _ResT = ResT extends void ? FetchResult : ResT, DataT = _ResT, PickKeys extends KeysOf = KeysOf, DefaultT = DataT>(request: Ref | ReqT | (() => ReqT), opts?: Omit, 'lazy'>): AsyncData | DefaultT, ErrorT | DefaultAsyncDataErrorValue>; export {};