import type { Override } from '../helpers/overrides'; import type { Option } from '../select'; import type { Size } from '../input'; import type { DateIOAdapter } from '../datepicker/utils/types'; export declare type TimePickerOverrides = { Select?: Override; }; export declare type TimePickerProps = { /** Render options in AM/PM format or 24 hour format. Defaults to 12 hour. */ adapter: DateIOAdapter; format?: '12' | '24'; /** Callback for when time selection changes. */ onChange?: (a: T | null) => unknown; overrides?: TimePickerOverrides; /** Set to true to allow times that aren't displayed in the options list to be entered manually. Defaults to false. */ creatable?: boolean; /** Amount of seconds between each option time. Defaults to 900 (15 minutes). */ step?: number; /** * Optional value that can be provided to fully control the component. If not provided, TimePicker * will manage state internally and default to the closest step to new Date(). */ value?: T | null; disabled?: boolean; error?: boolean; positive?: boolean; nullable?: boolean; placeholder?: string; size?: Size; minTime?: T; maxTime?: T; /** * There are two strategies available for setting min/max times. If the min/max datetimes are * beyond the start/end times of the current value's date, Timepicker could either clamp the * min/max time of the start/end of the day or it can ignore the min/max date components and * only apply the time components. Each strategy has the potential to save developer time in * avoiding the need to perform conversion before providing min/max datetimes to the component. * By default the component will clamp the time window and setting this flag will ignore dates. */ ignoreMinMaxDateComponent?: boolean; }; export declare type TimePickerState = { /** List of times (in seconds) displayed in the dropdown menu. */ steps: number[]; /** Internal value of the selected time as an integer since midnight (0) */ value: Option | undefined | null; }; export declare type TimePickerDefaultProps = { format: '12'; step: 900; creatable: false; adapter: DateIOAdapter; ignoreMinMaxDateComponent: false; };