import { FontStyleTypeModel, ThemeTypesModel } from '../../Themes/theme_types'; import React from 'react'; import { Color } from '../../types'; interface CheckboxProps { label: string; value: boolean; ariaLabel?: string; color?: Color.green | Color.blue | Color.dark; showLabel?: boolean; avoidFocus?: boolean; isDisabled?: boolean; isGrouped?: boolean; isError?: boolean; isRequired?: boolean; techDisable?: boolean; isInverse?: boolean; errorState?: 'default' | 'focus out' | undefined; className?: string; theme?: ThemeTypesModel; isIndeterminate?: boolean; onChangeHandler?: (val: { value: boolean; label: string; }) => void; onFocus?: (e: React.FocusEvent) => void; onBlur?: (e: React.FocusEvent) => void; } interface CheckboxWrapperProps { color: Color.green | Color.blue | Color.dark; disabled: boolean; isError: boolean; daytime: 'day' | 'night'; styled: ModelView; showLabel: boolean; focused?: boolean; selected?: boolean; } interface argFunc { default: string; hover: string; } interface CustomCheckboxProps { focused?: boolean; } interface LabelTextProps { isRequired: CheckboxProps['isRequired']; isGrouped?: CheckboxProps['isGrouped']; styled: ModelView; } interface styleParameters { background: string; borderColor: string; iconColor: string; fontColor: string; } interface stateParameters { default: styleParameters; hover: styleParameters; selected: styleParameters; hoverSelected: styleParameters; } interface ModelView { style: { day: { green: stateParameters; blue: stateParameters; dark: stateParameters; error: stateParameters; }; night: { green: stateParameters; blue: stateParameters; dark: stateParameters; error: stateParameters; }; }; font: FontStyleTypeModel; } export type { CheckboxProps, CheckboxWrapperProps, argFunc, CustomCheckboxProps, LabelTextProps, ModelView, };