type KeysOfUnion = T extends T ? keyof T : never export type ColorKeys = KeysOfUnion extends infer K ? K extends string ? K extends `${string}Color${string}` ? K : K extends `${string}color${string}` ? K : never : never : never export type UseUpdateVariantColorConfig> = { animateCallback?: (from: string, to: string) => void colorKey: ColorKeys style: T secretKey: string | undefined }