import type { RuntimeConfig } from '@nuxt/schema'; import type { NuxtAppCompat } from '@nuxt/bridge-schema'; import type { Ref } from 'vue'; import type { MetaInfo } from 'vue-meta'; import type { EventHandlerRequest, H3Event } from 'h3'; export interface Context { $_nuxtApp: NuxtAppCompat; } type Reffed> = { [P in keyof T]: T[P] extends Array ? Ref>> | Array> : T[P] extends Record ? Reffed | Ref> : T[P] | Ref; }; export declare const useNuxt2Meta: (metaOptions: Reffed | (() => Reffed)) => void; export declare const setNuxtAppInstance: (nuxt: NuxtAppCompat | null) => void; /** * Ensures that the setup function passed in has access to the Nuxt instance via `useNuxt`. * @param nuxt A Nuxt instance * @param setup The function to call */ export declare function callWithNuxt any>(nuxt: NuxtAppCompat, setup: T, args?: Parameters): ReturnType; interface Plugin { (nuxt: NuxtAppCompat): Promise | Promise<{ provide?: Record; }> | void | { provide?: Record; }; } export declare function defineNuxtPlugin(plugin: Plugin): (ctx: Context, inject: (id: string, value: any) => void) => void; export declare const useNuxtApp: () => NuxtAppCompat; export declare const useRuntimeConfig: (_event?: H3Event) => RuntimeConfig; export {};