| /** |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| import type { |
| ComponentRenderProxy, |
| VNode, |
| VNodeChild, |
| ComponentPublicInstance, |
| FunctionalComponent, |
| PropType as VuePropType, |
| } from "vue"; |
| |
| declare module "three"; |
| declare module "three-orbit-controls"; |
| declare module "element-plus"; |
| declare module "d3-tip"; |
| declare module "d3"; |
| declare global { |
| const __APP_INFO__: { |
| pkg: { |
| name: string; |
| version: string; |
| dependencies: Recordable<string>; |
| devDependencies: Recordable<string>; |
| }; |
| lastBuildTime: string; |
| }; |
| |
| // vue |
| declare type PropType<T> = VuePropType<T>; |
| declare type VueNode = VNodeChild | JSX.Element; |
| |
| export type Writable<T> = { |
| -readonly [P in keyof T]: T[P]; |
| }; |
| |
| declare type Nullable<T> = T | null; |
| declare type NonNullable<T> = T extends null | undefined ? never : T; |
| // String type object |
| declare type Recordable<T = any> = Record<string, T>; |
| // Object of read-only string type |
| declare type ReadonlyRecordable<T = any> = { |
| readonly [key: string]: T; |
| }; |
| declare type Indexable<T = any> = { |
| [key: string]: T; |
| }; |
| declare type DeepPartial<T> = { |
| [P in keyof T]?: DeepPartial<T[P]>; |
| }; |
| declare type TimeoutHandle = ReturnType<typeof setTimeout>; |
| declare type IntervalHandle = ReturnType<typeof setInterval>; |
| |
| 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_BUILD_COMPRESS_DELETE_ORIGIN_FILE: boolean; |
| VITE_LEGACY: boolean; |
| VITE_USE_IMAGEMIN: boolean; |
| VITE_GENERATE_UI: string; |
| } |
| |
| declare function parseInt(s: string | number, radix?: number): number; |
| |
| declare function parseFloat(string: string | number): number; |
| |
| namespace JSX { |
| type Element = VNode; |
| type ElementClass = ComponentRenderProxy; |
| interface ElementAttributesProperty { |
| $props: any; |
| } |
| interface IntrinsicElements { |
| [elem: string]: any; |
| } |
| interface IntrinsicAttributes { |
| [elem: string]: any; |
| } |
| } |
| } |
| type AnyNormalFunction = (...arg: any) => any; |
| |
| type AnyPromiseFunction = (...arg: any) => PromiseLike<any>; |
| |
| declare type AnyFunction = AnyNormalFunction | AnyPromiseFunction; |
| |
| declare module "vue" { |
| export type JSXComponent<Props = any> = { new (): ComponentPublicInstance<Props> } | FunctionalComponent<Props>; |
| } |