import type { Locale, ValidateMessages } from '@antdv/ui/es/locale'; import type { AliasToken, DerivativeFunc, SeedToken } from '@antdv/ui/es/theme'; import type { MapToken, OverrideToken } from '@antdv/ui/es/theme/token/interface'; import type { SizeType, VueNode } from '@antdv/ui/es/types'; import type { ComputedRef, MaybeRef, Ref } from 'vue'; import type { RequiredMark } from '../../form'; import type { TransformCellTextProps } from '../../table'; import type { ConfigProviderProps } from './props'; import type renderEmpty from './renderEmpty'; export type DisabledType = boolean | undefined; export interface GlobalFormCOntextProps { validateMessages?: Ref; } export type DirectionType = 'ltr' | 'rtl' | undefined; export interface CSPConfig { nonce?: string; } export interface ThemeColor { primaryColor?: string; infoColor?: string; successColor?: string; processingColor?: string; errorColor?: string; warningColor?: string; } export type Direction = 'ltr' | 'rtl'; export type MappingAlgorithm = DerivativeFunc; export type RenderEmptyHandler = typeof renderEmpty; export interface RenderEmptyProps { componentName?: string; prefixCls?: string; } export interface GlobalConfigProviderProps { prefixCls?: MaybeRef; iconPrefixCls?: MaybeRef; getPopupContainer?: ConfigProviderProps['getPopupContainer']; } export interface ThemeConfig { token?: Partial; components?: OverrideToken; algorithm?: MappingAlgorithm | MappingAlgorithm[]; hashed?: boolean; inherit?: boolean; } export interface ConfigProviderInnerProps { csp?: ComputedRef; autoInsertSpaceInButton?: ComputedRef; locale?: ComputedRef; direction?: ComputedRef<'ltr' | 'rtl'>; space?: ComputedRef<{ size?: number | SizeType; }>; virtual?: ComputedRef; dropdownMatchSelectWidth?: ComputedRef; getPrefixCls: (suffixCls?: string, customizePrefixCls?: string) => string; iconPrefixCls: ComputedRef; theme?: ComputedRef; renderEmpty?: (name?: string) => VueNode; getTargetContainer?: ComputedRef<() => HTMLElement | Window>; getPopupContainer?: ComputedRef<(triggerNode?: HTMLElement) => HTMLElement>; pageHeader?: ComputedRef<{ ghost?: boolean; }>; input?: ComputedRef<{ autocomplete?: string; }>; pagination?: ComputedRef<{ showSizeChanger?: boolean; }>; form?: ComputedRef<{ validateMessages?: ValidateMessages; requiredMark?: RequiredMark; colon?: boolean; }>; select?: ComputedRef<{ showSearch?: boolean; }>; componentSize?: ComputedRef; componentDisabled?: ComputedRef; transformCellText?: ComputedRef<(tableProps: TransformCellTextProps) => any>; wave?: ComputedRef<{ disabled?: boolean; }>; flex?: ComputedRef<{ vertical?: boolean; }>; }