/// declare module '*.vue' { import type { DefineComponent } from 'vue' const component: DefineComponent, Record, unknown> export default component } // Vue-facing-decorator type declarations declare module 'vue-facing-decorator' { import { ComponentOptions } from 'vue' export interface ComponentOptionsWithProps> extends ComponentOptions { props?: Record } // eslint-disable-next-line @typescript-eslint/no-explicit-any export function Component(options?: any): any export function toNative(component: T): T export class Vue { $emit(event: string, ...args: unknown[]): void $props: Record $data: Record $refs: Record $slots: Record $scopedSlots: Record $attrs: Record $listeners: Record $parent: Vue | null $root: Vue $children: Vue[] $el: Element | undefined $options: ComponentOptions $isServer: boolean $ssrContext: Record $vnode: Record $createElement: (...args: unknown[]) => unknown $mount: (elementOrSelector?: string | Element) => Vue $forceUpdate: () => void $destroy: () => void $nextTick: (callback?: () => void) => Promise $set: (target: Record, key: string | number, value: unknown) => void $delete: (target: Record, key: string | number) => void $watch: (expOrFn: string | ((...args: unknown[]) => unknown), callback: (...args: unknown[]) => unknown, options?: Record) => (...args: unknown[]) => unknown $on: (event: string | string[], callback: (...args: unknown[]) => unknown) => Vue $once: (event: string | string[], callback: (...args: unknown[]) => unknown) => Vue $off: (event?: string | string[], callback?: (...args: unknown[]) => unknown) => Vue } export function Prop(options?: Record): PropertyDecorator export function Emit(event?: string): MethodDecorator export function Watch(path: string, options?: Record): MethodDecorator export function Inject(key?: string | symbol): PropertyDecorator export function Provide(key?: string | symbol): PropertyDecorator export function Model(event?: string, options?: Record): PropertyDecorator export function Ref(refKey?: string): PropertyDecorator }