import { FontStyleTypeModel, ThemeTypesModel } from '../../Themes/theme_types'; import { Size, Color } from '../../types'; interface UserpicProps { color?: Color.dark | Color.green | Color.blue; imageUrl?: string; initials?: string; ariaLabel?: string; className?: string; isInverse?: boolean; isError?: boolean; theme?: ThemeTypesModel; size?: Size.s | Size.m | Size.l; width?: string; height?: string; icon?: string; isDisabled?: boolean; } interface ContainerProps { disabled: boolean; } interface UserpicWrapperProps { theme: ThemeTypesModel; styled: ModelView; size: Size.s | Size.m | Size.l; width?: string; height?: string; themeVariant: 'day' | 'night'; color: Color.dark | Color.green | Color.blue | 'red'; } interface InitialsProps { theme: ThemeTypesModel; styled: ModelView; size: Size.s | Size.m | Size.l; themeVariant: 'day' | 'night'; color: Color.dark | Color.green | Color.blue | 'red'; } interface styleParams { background: string; fontColor: string; } interface styleProps { default: styleParams; hover: styleParams; active: styleParams; } interface sizeParams { height: number; width: number; } interface elementsParams { userpic: sizeParams; icon: sizeParams; font: FontStyleTypeModel; } interface colorsParams { dark: styleProps; green: styleProps; blue: styleProps; red: styleProps; } interface ModelView { style: { day: colorsParams; night: colorsParams; }; size: { s: elementsParams; m: elementsParams; l: elementsParams; }; } export type { UserpicProps, ContainerProps, UserpicWrapperProps, InitialsProps, ModelView };