declare interface Fn { (...arg: T[]): R; } declare interface PromiseFn { (...arg: T[]): Promise; } declare interface IObj { [key: string]: T; [key: number]: T; } declare function parseInt(s: string | number, radix?: number): number; declare function parseFloat(string: string | number): number; declare type Nullable = T | null; declare type NonNullable = T extends null | undefined ? never : T; declare type RefType = T | null; declare type CustomizedHTMLElement = HTMLElement & T; declare type Indexable = { [key: string]: T; }; declare type Recordable = Record; declare type ReadonlyRecordable = { readonly [key: string]: T; }; declare type Hash = Indexable; declare type DeepPartial = { [P in keyof T]?: DeepPartial; }; declare type LabelValueOptions = { label: string; value: any; }[]; declare type EmitType = (event: string, ...args: any[]) => void; declare type TargetContext = '_self' | '_blank'; declare type TimeoutHandle = ReturnType; declare type IntervalHandle = ReturnType; declare interface ComponentElRef { $el: T; } declare type ComponentRef = ComponentElRef | null; declare type ElRef = Nullable; type IsSame = A | B extends A & B ? true : false; declare interface ChangeEvent extends Event { target: HTMLInputElement; } declare interface WheelEvent { path?: EventTarget[]; } interface ImportMetaEnv extends ViteEnv { __: unknown; } declare interface ViteEnv { VITE_PORT: number; VITE_USE_MOCK: boolean; VITE_USE_PWA: boolean; VITE_PUBLIC_PATH: string; VITE_PROXY: [string, string][]; VITE_GLOB_APP_TITLE: string; VITE_GLOB_APP_SHORT_NAME: string; VITE_USE_CDN: boolean; VITE_DROP_CONSOLE: boolean; VITE_BUILD_COMPRESS: 'gzip' | 'brotli' | 'none'; VITE_LEGACY: boolean; VITE_USE_IMAGEMIN: boolean; VITE_GENERATE_UI: string; }