import * as CSS from "csstype"; import { SpaceProps, ColorProps, TypographyProps, LayoutProps, FlexboxProps, GridProps, BorderProps, PositionProps, OtherProps, BackgroundProps, ShadowProps, OutlineProps, TransitionProps, TransformProps, ListProps } from "./config"; import { PseudoProps } from "./pseudo"; import { Length } from "./utils"; declare type ThemeValue = T[] | Record; interface Component { readonly parts?: string[]; baseStyle?: any; variants?: any; sizes?: any; defaultProps?: { variant?: string; size?: string; colorScheme?: string; }; } export interface DefaultTheme { breakpoints?: Record | Length[]; space?: ThemeValue>; fontSizes?: ThemeValue>; colors?: ThemeValue; fonts?: ThemeValue; fontWeights?: ThemeValue; lineHeights?: ThemeValue>; letterSpacings?: ThemeValue>; sizes?: ThemeValue | CSS.Property.Width>; borders?: ThemeValue>; borderStyles?: ThemeValue; borderWidths?: ThemeValue>; radii?: ThemeValue>; shadows?: ThemeValue; zIndices?: ThemeValue; components?: { [component: string]: Component; }; } export interface ChakraStyleProps extends SpaceProps, ColorProps, TransitionProps, TypographyProps, FlexboxProps, TransformProps, GridProps, LayoutProps, BorderProps, ShadowProps, BackgroundProps, ListProps, PositionProps, OutlineProps, OtherProps { } export interface SystemProps extends ChakraStyleProps, PseudoProps { } export {};