import type { ComputedRef, MaybeRef } from 'vue' type ComponentProps = T extends new(...args: any) => { $props: infer P } ? NonNullable

: T extends (props: infer P, ...args: any) => any ? P : {} declare module 'nuxt/app' { interface NuxtLayouts { blank: ComponentProps default: ComponentProps } export type LayoutKey = keyof NuxtLayouts extends never ? string : keyof NuxtLayouts interface PageMeta { layout?: MaybeRef | ComputedRef | { [K in LayoutKey]: { name?: MaybeRef | ComputedRef props?: NuxtLayouts[K] } }[LayoutKey] } }