///
import type { Nuxt2Config } from '@nuxt/bridge-schema'
import type { NuxtConfig as _NuxtConfig } from '@nuxt/schema'
import type { MetaInfo } from 'vue-meta'
export interface NuxtSSRContext extends SSRContext {
url: string
noSSR: boolean
redirected?: boolean
event: H3Event
/** @deprecated use `ssrContext.event` instead */
req: H3Event['req']
/** @deprecated use `ssrContext.event` instead */
res: H3Event['res']
runtimeConfig: RuntimeConfig
error?: any
nuxt?: any
payload?: any
renderMeta?: () => Promise
}
export interface BridgeConfig {
nitro: boolean
nitroGenerator: boolean
vite: boolean | {
/**
* If set to false, `@vitejs/plugin-legacy` not used.
*/
legacy?: boolean
}
app: boolean | {}
capi: boolean | {
legacy?: boolean
}
/**
* @deprecated use `imports.autoImport` instead to disable auto-importing.
* @see {@link https://nuxt.com/docs/guide/concepts/auto-imports#disabling-auto-imports}
*/
imports: boolean
/** @deprecated */
autoImports?: boolean
transpile: boolean
compatibility: boolean
postcss8: boolean
typescript: boolean | {
/**
* @deprecated please use `esbuild` instead
*/
isTSX?: boolean
/**
* If `vite: false`, setting `esbuild: true` will use `esbuild-loader`
* to process `.ts`/`.tsx` files within your project.
*/
esbuild?: boolean
}
meta: boolean | null
macros: false | {
pageMeta: boolean
}
}
export interface NuxtConfig extends Nuxt2Config, Omit<_NuxtConfig, keyof Nuxt2Config> {
head?: LegacyNuxtConfig['head'] | MetaInfo | (() => MetaInfo)
}
declare module '@nuxt/bridge-schema' {
interface Nuxt2Config {
bridge?: Partial | false
}
}
declare module 'nitropack' {
interface NitroRouteConfig {
ssr?: boolean
}
interface NitroRouteOptions {
ssr?: boolean
}
}
export declare function defineNuxtConfig (config: NuxtConfig): NuxtConfig