import { ThemeTypesModel } from '../../Themes/theme_types'; import { Color, Size } from '../../types'; type availableColors = Color.green | Color.dark | Color.blue; type highlight = 'fill' | 'border'; type availableSize = Size.s | Size.m | Size.l; interface VerticalTabsProps { tabItems: VerticalTabItems[]; size?: availableSize; color?: availableColors; highlight?: highlight; isDisabled?: boolean; className?: string; ariaLabel?: string; activeTabId: string; isInverse?: boolean; theme?: ThemeTypesModel; tabChanged: (id: string) => void; } interface VerticalTabItems { id: string; label: string; icon?: string; isDisabled?: boolean; counter?: string; className?: string; } interface sizeTabs { height: number; } interface time { border: string; highlight: { green: string; blue: string; dark: string; }; } interface ModelView { style: { day: time; night: time; }; size: { s: sizeTabs; m: sizeTabs; l: sizeTabs; }; } interface TabsContainerProps { disabled?: boolean; styled: ModelView; color: availableColors; themePeriod: 'night' | 'day'; size: availableSize; highlight: highlight; highlightedBorderPosition: number; } export type { VerticalTabsProps, VerticalTabItems, TabsContainerProps };