import type { Leaves } from '../../theme/base/types'; import type { ComponentTheme, ITheme } from '../../theme'; import type { ResponsiveValue } from './responsiveValue'; export declare type VariantType = 'variants' extends keyof ITheme['components'][Component] ? ResponsiveValue : unknown; export declare type SpaceType = ResponsiveValue; export declare type SizeType = ResponsiveValue; export declare type ThemeComponentSizeType = ResponsiveValue<'sizes' extends keyof ITheme['components'][Component] ? keyof ITheme['components'][Component]['sizes'] | (string & {}) | number : unknown>; export declare type CombinedSizeType = SizeType | ThemeComponentSizeType; export declare type ColorType = ResponsiveValue | (string & {})>; export declare type ColorSchemeType = ResponsiveValue | (string & {})>; declare type ComponentType = { [Property in keyof ITheme['components'][T]]: ITheme['components'][T][Property]; }; declare type ParametersOf = { [Key in keyof T]: T[Key] extends (...args: any) => void ? Parameters[0] extends {} ? Parameters[0] : {} : {}; }[keyof T]; declare type ParameterType = ParametersOf[Key]>; declare type CustomPropType = Extract, Pick, keyof ParameterType>>; export declare type CustomComponentProps = Partial; }[keyof ComponentTheme], undefined>>; export declare type CustomPropsTemp = CustomComponentProps extends never ? {} : // : CustomComponentProps extends Record UnionToIntersection> & {}; export declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; declare type VariantSizeColorScheme = { variant?: VariantType; size?: ThemeComponentSizeType; colorScheme?: ColorSchemeType; }; export declare type CustomProps = UnionToIntersection | VariantSizeColorScheme>; export {};