/* * @Description: 全局声明文件 * @Author: James324 * @Date: 2023-08-18 11:36:00 * @LastEditors: James324 * @LastEditTime: 2024-01-17 14:23:20 */ import { AxiosInstance } from 'axios'; import BaseSearch from '@/components/base-ui/base-search/index.vue'; import BaseTable from '@/components/base-ui/base-table/index.vue'; import BaseEdit from '@/components/base-ui/base-edit/index.vue'; declare module 'pinia-plugin-persistedstate'; declare module '*.vue' { import type { DefineComponent } from 'vue'; const component: DefineComponent<{}, {}, any>; export default component; } declare module '*.md' { import { ComponentOptions } from 'vue'; const Component: ComponentOptions; export default Component; } declare module '@vue/runtime-core' { // eslint-disable-next-line no-unused-vars export interface ComponentCustomProperties { $axios: AxiosInstance; } } declare module 'vue-router' { import type { RouteRecordRaw } from 'vue-router'; export type Route = Partial & { [key: string]: any; fullPath?: string; level?: string | number; parent?: string; }; } declare module 'mitt' { import type { Emitter, EventType } from 'mitt'; export type EmitBus = Emitter>; } declare global { type SearchRef = InstanceType; type TableRef = InstanceType; type EditRef = InstanceType; interface RouteTagRecord extends Omit<_RouteLocationBase, 'hash' | 'redirectedFrom' | 'matched'> { title: string; } interface PageCommonParams { current?: number; size?: number; } interface ResponseListCommon { size?: number; total?: number; pages?: number; records?: T[]; current?: number; } interface SlotData { row: T; } } declare module 'vue-i18n';