import { AnalyzeBreakpointsReturn } from "@chakra-ui/utils"; import { ThemeTypings } from "../theme.types"; export type ResponsiveArray = Array; export type ResponsiveObject = Partial>; export type ResponsiveValue = T | ResponsiveArray | ResponsiveObject; export type Length = string | 0 | number; export type Union = T | (string & {}); export type Token = ThemeKey extends keyof ThemeTypings ? ResponsiveValue : ResponsiveValue; export type CSSMap = Record; export type Transform = (value: any, theme: CssTheme, styles?: Record) => any; export type WithCSSVar = T & { __cssVars: Record; __cssMap: CSSMap; __breakpoints: AnalyzeBreakpointsReturn; __isStyleProp: (prop: string) => boolean; }; export type CssTheme = WithCSSVar<{ breakpoints: Record; direction?: "ltr" | "rtl"; [key: string]: any; }>;