import { Size, stickerOptions } from '../../types'; import { FontStyleTypeModel, ThemeTypesModel } from '../../Themes/theme_types'; type availableSize = Size; export interface StateContextOptions { size: availableSize; isDisabled: boolean; readOnly: boolean; dayTime: 'light' | 'dark'; isResponsive: boolean; isError: boolean; isRequired: boolean; } export interface TimePickerProps { size?: availableSize; time?: Date; label?: string; labelPosition?: 'external' | 'internal'; description?: string; errorMessage?: string; customClass?: string; icon?: string; errorState?: 'default' | 'focus out'; format?: '12' | '24'; isDisabled?: boolean; readOnly?: boolean; isInverse?: boolean; isResponsive?: boolean; isError?: boolean; isRequired?: boolean; stickerOptions?: stickerOptions; theme?: ThemeTypesModel; onTimeSelect?: (timestamp: number | undefined) => void; } interface dayTimeViewModel { contentColors: { label: string; description: string; error: string; inputDefault: string; placeholder: string; placeholderHover: string; dialogBtn: string; }; backgroundColors: { dialog: string; inputDefault: string; inputReadOnly: string; hoverDialogBtn: string; }; borderColors: { inputDefault: string; inputHover: string; inputActive: string; inputError: string; inputErrorHover: string; inputReadOnly: string; }; } interface sizeViewModel { iconWidth: number; inputGroup: { paddingTop: number; paddingBottom: number; paddingLeft: number; }; inputWidth: number; dialogBtnSize: number; dialogInputPuddings: { top: number; right: number; bottom: number; left: number; }; dialogInputBtnGap?: number; font: FontStyleTypeModel; } export interface stylesMap { style: { light: dayTimeViewModel; dark: dayTimeViewModel; }; size: { s: sizeViewModel; m: sizeViewModel; l: sizeViewModel; }; } export interface ContainerProps { state: StateContextOptions; styles: stylesMap; focusedInputs: boolean; bluOutline: boolean; keyFocus: boolean; } export interface labelProps { state: StateContextOptions; styles: stylesMap; } export interface InputContainerProps { state: StateContextOptions; styles: stylesMap; sizeProp: availableSize; } export interface InputProps { state: StateContextOptions; styles: stylesMap; sizeProp: availableSize; } export interface DialogProps { state: StateContextOptions; styles: stylesMap; size: availableSize; keyFocus: boolean; isResponsive: boolean; } export {};