import { FocusEventHandler, ReactNode, RefObject } from 'react'; import { TextFieldProps } from '../TextField'; import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types'; import { FormattedInputProps } from './FormattedInput'; export interface PickerTriggerWithSeparatorProps extends Omit { /** * Whether the input is disabled. * @default false */ disabled?: boolean; /** * Error messages configuration for left input */ errorMessagesLeft?: FormattedInputProps['errorMessages']; /** * Error messages configuration for right input */ errorMessagesRight?: FormattedInputProps['errorMessages']; /** * The format pattern for the left input (e.g., "YYYY-MM-DD") */ formatLeft: string; /** * The format pattern for the right input (e.g., "HH:mm:ss") */ formatRight: string; /** * React ref for the left input element. */ inputLeftRef?: RefObject; /** * React ref for the right input element. */ inputRightRef?: RefObject; /** * Change handler for the left input element. * Called with ISO date string when value is complete and valid. */ onChangeLeft?: (value: string, rawDigits: string) => void; /** * Change handler for the right input element. * Called with ISO date string when value is complete and valid. */ onChangeRight?: (value: string, rawDigits: string) => void; /** * Focus handler for the left input element. */ onFocusLeft?: FocusEventHandler; /** * Focus handler for the right input element. */ onFocusRight?: FocusEventHandler; /** * Blur handler for the left input element. */ onBlurLeft?: FocusEventHandler; /** * Blur handler for the right input element. */ onBlurRight?: FocusEventHandler; /** * Callback when left input is completed (all mask positions filled with valid value). * Can be used to trigger auto-focus to right input. */ onLeftComplete?: () => void; /** * Callback when a valid ISO date is pasted into the left input. * Allows parent to sync other fields (e.g., update time when date+time is pasted). */ onPasteIsoValueLeft?: (isoValue: string) => void; /** * Callback when a valid ISO date is pasted into the right input. * Allows parent to sync other fields (e.g., update date when date+time is pasted). */ onPasteIsoValueRight?: (isoValue: string) => void; /** * Callback when right input is completed (all mask positions filled with valid value). */ onRightComplete?: () => void; /** * A pre-formatted date string to preview in the left input when it is empty and not focused. */ hoverValueLeft?: string; /** * Placeholder for the left input element. */ placeholderLeft?: string; /** * Placeholder for the right input element. */ placeholderRight?: string; /** * Whether the input is readonly. * @default false */ readOnly?: boolean; /** * Whether the input is required. * @default false */ required?: boolean; /** * Custom suffix element. */ suffix?: ReactNode; /** * Custom validation function for left input. */ validateLeft?: (isoDate: string) => boolean; /** * Custom validation function for right input. */ validateRight?: (isoDate: string) => boolean; /** * The value of the left input element. */ valueLeft?: string; /** * The value of the right input element. */ valueRight?: string; /** * Other input props for left input element. */ inputLeftProps?: Omit, 'defaultValue' | 'disabled' | 'onChange' | 'placeholder' | 'readOnly' | 'required' | 'value' | `aria-${'disabled' | 'multiline' | 'readonly' | 'required'}`>; /** * Other input props for right input element. */ inputRightProps?: Omit, 'defaultValue' | 'disabled' | 'onChange' | 'placeholder' | 'readOnly' | 'required' | 'value' | `aria-${'disabled' | 'multiline' | 'readonly' | 'required'}`>; } /** * The react component for `mezzanine` picker trigger with separator. * This component contains two FormattedInput fields separated by a vertical line, * typically used for date-time pickers where left is date and right is time. */ declare const PickerTriggerWithSeparator: import("react").ForwardRefExoticComponent>; export default PickerTriggerWithSeparator; export { PickerTriggerWithSeparator };