/// <reference types="vite/client" />

declare module "*.vue" {
  import type { DefineComponent } from "vue";
  const component: DefineComponent<{}, {}, any>;
  export default component;
}

interface ImportMetaEnv {
  readonly VITE_APP_TITLE: string;
  readonly VITE_APP_BASE_URL: string;
  readonly BASE_URL: string;
  // 更多环境变量...
}

interface ImportMeta {
  readonly env: ImportMetaEnv;
}

// 第三方库声明
declare module "@ans1998/vue3-color";
declare module "three";
declare module "three/examples/jsm/controls/OrbitControls";
declare module "three/examples/jsm/postprocessing/EffectComposer";
declare module "three/examples/jsm/postprocessing/RenderPass";
declare module "three/examples/jsm/postprocessing/OutlinePass";

// 全局变量声明
declare global {
  var ColorThief: any;
  var EyeDropper: any;
  interface Window {
    ColorThief: any;
    EyeDropper: any;
    google: any;
    gc?: () => void;
  }
}
