import { type RefObject, type FocusEvent as ReactFocusEvent, type MouseEvent as ReactMouseEvent } from 'react'; import { type DateTimeInputRef } from '../../date-time-range-picker/types.js'; export declare const focusDateTimeInput: (event: ReactFocusEvent | ReactMouseEvent | null, refFrom: RefObject, refTo?: RefObject) => void; /** * Attempts to move the focus to the "hour" spin button of the "from" input. * The hour spin button is only foucsable if the value is an absolute timeframe (ISO 8601) * and not an expression. If focus is not possible, falls back to {@link focusDateTimeInput}. * @param dateTimeFromRef - the ref of the "from" DateTimeInput component * @internal */ export declare const focusTimeInput: (dateTimeFromRef: RefObject) => void; /** * Repeatedly attempts to focus an element using requestAnimationFrame until * focus succeeds or max attempts are reached. This handles race conditions * where popover close animations restore focus to the trigger element. * @param getElement - getter that returns the element to focus * @param dateTimeRef - optional ref to fall back to via {@link focusDateTimeInput} if all attempts fail * @internal */ export declare const focusElementWithRetry: (getElement: () => HTMLElement | null | undefined, dateTimeRef?: RefObject) => void;