import { ClassName, TComponentIcon } from "@helpers/types"; import { Dispatch, PropsWithChildren, ReactNode, RefObject, SetStateAction } from "react"; export type inputVariantsTypes = "base" | "withDropdown"; export type HourFormatTypes = 12 | 24; export type MinutesFormatTypes = "quarters" | "tenMinutes" | "minutes"; export type SecondsFormatTypes = "tenSeconds" | "fiveSeconds" | "seconds"; export type TimeFormatTypes = "hh:mm" | "hh:mm:ss"; export declare enum PeriodTypes { AM = "AM", PM = "PM" } export interface DropdownTimeInterface { hours: number | string; minutes: number | string; seconds: number | string; period: PeriodTypes; } export interface TimePickerProps extends Omit { id: string; label?: string; disabled?: boolean; errorMessage?: ReactNode; supportingText?: string; placeholderText?: string; inputVariant?: inputVariantsTypes; defaultDropdownTime: DropdownTimeInterface; inputSuffixIcon?: TComponentIcon; dropdownClassName?: string; clearInputOnFocus?: boolean; onTimeSelected?(): void; onIconClick?(): void; } export interface TimePickerDropdownProps extends ClassName { isOpen: boolean; hoursFormat?: HourFormatTypes; minutesFormat?: MinutesFormatTypes; secondsFormat?: SecondsFormatTypes; timeFormat?: TimeFormatTypes; setTime: Dispatch>; time: DropdownTimeInterface; handleOKClick(): void; handleCancelClick(): void; inputRef: RefObject; withPeriodButtons?: boolean; hoursStartScrollIndex?: number; minutesStartScrollIndex?: number; secondsStartScrollIndex?: number; } export interface ScrollListProps extends PropsWithChildren { handleScroll(): void; testId?: string; } export interface ListElementProps extends PropsWithChildren, ClassName { onClick(): void; } export interface ActionsProps { handleCancelClick(): void; handleOKClick(): void; } export interface PeriodSectionProps { handleAMClick(): void; handlePMClick(): void; activePeriod: PeriodTypes; } export interface SuffixPeriodDropdownProps { setDropdownOpen: Dispatch>; period: PeriodTypes; } export interface PeriodDropdownProps { isOpen: boolean; setPeriod: Dispatch>; stylesInputVariant?: "withDropdown" | "withDropdownAndIcon"; setDropdownOpen: Dispatch>; }