// import type { ComponentPublicInstance, FunctionalComponent } from 'vue'; declare global { export type Writable = { -readonly [P in keyof T]: T[P]; }; namespace JSX { // tslint:disable no-empty-interface interface IntrinsicElements { [elem: string]: any; } interface IntrinsicAttributes { [elem: string]: any; } } } // declare module 'vue' { // export type JSXComponent = // | { new (): ComponentPublicInstance } // | FunctionalComponent; // } interface ImportMetaEnv extends ViteEnv { __: unknown; } declare interface ViteEnv { API_BASE_URL: string; } declare type Nullable = T | null; declare type NonNullable = T extends null | undefined ? never : T; declare type Recordable = Record; declare type ReadonlyRecordable = { readonly [key: string]: T; }; declare type Indexable = { [key: string]: T; }; declare type DeepPartial = { [P in keyof T]?: DeepPartial; }; declare type TimeoutHandle = ReturnType; declare type IntervalHandle = ReturnType; declare interface ChangeEvent extends Event { target: HTMLInputElement; }