import { type CSSInterpolation, type CSSObject } from 'ant-design-vue'; import type { VueNode } from 'ant-design-vue/es/_util/type'; import type { ComponentTokenMap, GlobalToken } from 'ant-design-vue/es/theme/interface'; import { type Ref } from 'vue'; export type OverrideComponent = keyof ComponentTokenMap | (string & {}); export interface StyleInfo { hashId: string; prefixCls: string; rootPrefixCls: string; iconPrefixCls: string; } export type TokenWithCommonCls = T & { /** Wrap component class with `.` prefix */ componentCls: string; /** Origin prefix which do not have `.` prefix */ prefixCls: string; /** Wrap icon class with `.` prefix */ iconCls: string; /** Wrap ant prefixCls class with `.` prefix */ antCls: string; }; export type GenerateStyle, ReturnType = CSSInterpolation> = (token: ComponentToken, options?: any) => ReturnType; export declare const genCommonStyle: (token: any, componentPrefixCls: string) => CSSObject; export type UseComponentStyleResult = [(node: VueNode) => VueNode, Ref]; export declare const genStyleHook: (component: ComponentName, styleFn: (token: TokenWithCommonCls, info: StyleInfo) => CSSInterpolation) => (prefixCls: string) => UseComponentStyleResult;