import { TimeFormat } from './types'; import { TextFieldProps } from '../../TextField/internal/TextField'; /** * Change event data for MaskedTimeInput onInputChange callback. */ export type MaskedTimeInputChange = { /** * The original input change event. */ event: React.ChangeEvent; /** * The parsed time as a string if valid, otherwise null. */ time: string | null; /** * True if the input matches the mask and is not empty. */ isInputValid: boolean; /** * True if the input is empty. */ isInputEmpty: boolean; }; /** * Props for the MaskedTimeInput component. * @extends Omit */ export interface MaskedTimeInputProps extends Omit { /** * External time selection from dropdown */ selectedTime?: string | null; /** * The time format (12 or 24 hour). */ format: TimeFormat; /** * The placeholder string for the input. */ placeholder: string; /** * Minimum allowed time constraint. */ min?: string; /** * Maximum allowed time constraint. */ max?: string; /** * Callback fired when the input value changes. */ onInputChange?: (change: MaskedTimeInputChange) => void; /** * Callback fired when a key is pressed. */ onKeyDown?: (event: React.KeyboardEvent) => void; /** * Callback fired when the input receives focus. */ onFocus?: (event: React.FocusEvent) => void; /** * Data attribute indicating if the current input is valid. */ "data-input-valid"?: boolean; } /** * A masked time input component for entering time in 12/24 hour format. * * Features: * - Input masking and placeholder using Maskito * - Smart validation and parsing * - Hard-coded clock icon prefix * - Controlled or uncontrolled usage * - Automatic time format conversion * - Placeholder handling and cleanup * * @example * { * console.log('Input changed:', change.time); * }} * /> */ export declare const MaskedTimeInput: import('react').ForwardRefExoticComponent>;