import { FontStyleTypeModel, ThemeTypesModel } from '../../Themes/theme_types'; import React from 'react'; import { Color } from '../../types'; interface radiobuttonItem { label: string; value: string; isActive?: boolean; isDisabled?: boolean; } interface RadiobuttonProps { name: string; radiobuttonItem: radiobuttonItem; color?: Color.green | Color.blue | Color.dark; isError?: boolean; isInverse?: boolean; isRequired?: boolean; avoidFocus?: boolean; isUncheckable?: boolean; groupDisabled?: boolean; theme?: ThemeTypesModel; className?: string; onChangeHandler: (value: string | null) => void; onFocus?: (e: React.FocusEvent) => void; onBlur?: (e: React.FocusEvent) => void; } interface ContainerProps { disabled: boolean; label?: string; isError: boolean; styled: ModelView; color: Color.green | Color.blue | Color.dark; daytime: 'day' | 'night'; selected?: boolean; } interface CustomRadiobuttonProps { focused?: boolean; styled: ModelView; } interface LabelProps { styled: ModelView; } interface styleParams { background: string; borderColor: string; fontColor: string; } interface styleStates { default: styleParams; hover: styleParams; selected?: styleParams; hoverSelected?: styleParams; } interface sizeParams { height: number; width: number; defaultBorder?: number; selectedBorder?: number; } interface ModelView { style: { day: { green: styleStates; blue: styleStates; dark: styleStates; error: styleStates; }; night: { green: styleStates; blue: styleStates; dark: styleStates; error: styleStates; }; }; size: { label: sizeParams; radio: sizeParams; }; font: FontStyleTypeModel; } export type { radiobuttonItem, RadiobuttonProps, ContainerProps, CustomRadiobuttonProps, LabelProps, ModelView, };