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