import type { CSSInterpolation, TokenType } from '../../../_util/cssinjs'; import type { StyleInfo, TokenWithCommonCls } from '../../util/genComponentStyleHook'; /** Override the some definition of the @ant-design/cssinjs-utils https://github.com/ant-design/cssinjs-utils */ export type TokenMap = Record; export type TokenMapKey = Extract; export type GlobalToken = AliasToken & CompTokenMap; export type OverrideTokenMap = { [key in keyof CompTokenMap]: Partial & Partial; }; export type GlobalTokenWithComponent< CompTokenMap extends TokenMap, AliasToken extends TokenType, C extends TokenMapKey, > = GlobalToken & CompTokenMap[C]; export type ComponentToken< CompTokenMap extends TokenMap, AliasToken extends TokenType, C extends TokenMapKey, > = Exclude[C], undefined>; export type ComponentTokenKey< CompTokenMap extends TokenMap, AliasToken extends TokenType, C extends TokenMapKey, > = keyof ComponentToken; export type FullToken< CompTokenMap extends TokenMap, AliasToken extends TokenType, C extends TokenMapKey, > = TokenWithCommonCls>; export type GenStyleFn< CompTokenMap extends TokenMap, AliasToken extends TokenType, C extends TokenMapKey, > = (token: FullToken, info: StyleInfo) => CSSInterpolation; export type GetDefaultTokenFn< CompTokenMap extends TokenMap, AliasToken extends TokenType, C extends TokenMapKey, > = (token: AliasToken & Partial) => CompTokenMap[C]; export type GetDefaultToken< CompTokenMap extends TokenMap, AliasToken extends TokenType, C extends TokenMapKey, > = null | CompTokenMap[C] | GetDefaultTokenFn;