import { Component, VNode } from 'vue'; import { IfAny } from '@vue/shared'; import { ConfigProviderContext } from 'element-plus'; import { VxeGlobalConfig as _VxeGlobalConfig } from 'vxe-pc-ui'; import { COMP_SIZES, DATE_TYPES, FORM_ITEM_TYPES, LANGS, PLACEMENTS, STYLE_MODULES } from '../../constant/common'; export type ElementPlusOptions = ConfigProviderContext; export type VxeGlobalConfig = _VxeGlobalConfig; export type StyleModule = (typeof STYLE_MODULES)[number]; export type CompSize = (typeof COMP_SIZES)[number]; export type CssVariables = Record; export type Lang = (typeof LANGS)[number]; export type SlotType = VNode | Component | (VNode | Component)[] | string | null; export type Placement = (typeof PLACEMENTS)[number]; export type DateType = (typeof DATE_TYPES)[number]; export type FormItemType = (typeof FORM_ITEM_TYPES)[number]; export type BaseDataKey = string | number | boolean; export type Arrayable = T | T[]; export type IconType = string | Component; export type MakeRequired = Omit & Required>; export type Slot = (...args: IfAny) => VNode[]; export type Theme = 'light' | 'dark';