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

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

declare module '@/*' {
  import type { ComponentOptions } from 'vue';
  const component: ComponentOptions;
  export default component;
}

declare module '@/api/erp' {
  export function getOrganizationList(): Promise<any>;
  export function getOrganizationDetail(id: number | string): Promise<any>;
  export function createOrganization(data: any): Promise<any>;
  export function editOrganization(id: number | string, data: any): Promise<any>;
  export function deleteOrganization(id: number | string): Promise<any>;
  export function getCompanys(): Promise<any>;
  export function getDepartments(parentId?: number | string): Promise<any>;
  export function getEmployeeList(tenantId?: number | string): Promise<any>;
  export function getEmployeeDetail(id: number | string): Promise<any>;
  export function createEmployee(data: any): Promise<any>;
  export function editEmployee(id: number | string, data: any): Promise<any>;
  export function deleteEmployee(id: number | string): Promise<any>;
}

declare module '@/stores/auth' {
  export function useAuthStore(): any;
}

interface ImportMetaEnv {
  readonly VITE_API_BASE_URL: string;
  // 添加其他环境变量...
}

interface ImportMeta {
  readonly env: ImportMetaEnv;
}

declare module 'vue-cropper' {
  import { DefineComponent } from 'vue';
  const VueCropper: DefineComponent<{}, {}, any>;
  export default VueCropper;
}
