import { type FC, type Ref } from 'react'; import { type TimeValue } from '@react-aria/datepicker'; import { type TemporalInputCommonProps, type TemporalInputTimeProps } from '../TemporalCore'; type TimeInputGranularity = 'hour' | 'minute' | 'second'; /** * Subset of `@react-aria/datepicker`'s `AriaTimeFieldProps` surfaced by TimeInput. * * Declared explicitly so the DS public type doesn't track React-Aria's evolution. */ interface TimeInputAriaSubset { value?: TimeValue | null; defaultValue?: TimeValue | null; onChange?: (value: TimeValue | null) => void; minValue?: TimeValue; maxValue?: TimeValue; placeholderValue?: TimeValue; name?: string; autoFocus?: boolean; /** Marks the field as required in assistive tech and HTML form validation. */ isRequired?: boolean; ref?: Ref; } export type TimeInputProps = TemporalInputCommonProps & TimeInputAriaSubset & TemporalInputTimeProps & { /** * Smallest editable unit. * - 'hour': hours only * - 'minute': hours and minutes (default) * - 'second': hours, minutes, and seconds */ granularity?: TimeInputGranularity; }; export declare const TimeInput: FC; export {};