import type { ComponentPublicInstance, FunctionalComponent, VNodeChild, PropType as VuePropType } from 'vue'; import type { JSX } from 'vue/jsx-runtime'; export {}; declare global { export interface Window { /** NProgress instance */ NProgress?: import('nprogress').NProgress; /** Loading bar instance */ $loadingBar?: import('naive-ui').LoadingBarProviderInst; /** Dialog instance */ $dialog?: import('naive-ui').DialogProviderInst; /** Message instance */ $message?: import('naive-ui').MessageProviderInst; /** Notification instance */ $notification?: import('naive-ui').NotificationProviderInst; } /** Build time of the project */ export const BUILD_TIME: string; type PropType = VuePropType; type VueNode = VNodeChild | JSX.Element; export type Writable = { -readonly [P in keyof T]: T[P]; }; interface InResult { code: number; message: string; result: T; } type Nullable = T | null; type Recordable = Record; type ReadonlyRecordable = { readonly [key: string]: T; }; type Indexable = { [key: string]: T; }; type DeepPartial = { [P in keyof T]?: DeepPartial; }; type TimeoutHandle = ReturnType; type IntervalHandle = ReturnType; interface ChangeEvent extends Event { target: HTMLInputElement; } interface WheelEvent { path?: EventTarget[]; } } declare module 'vue' { export type JSXComponent = { new (): ComponentPublicInstance } | FunctionalComponent; }