import { default as React } from 'react'; /** Options for cloning a trigger element with ARIA attributes and event handlers. */ interface ICloneTriggerElementOptions { /** Fallback id applied when the element has no existing id. Comes from component's id prop. */ id?: string; /** Default id used when neither the element nor the id prop provides one. */ defaultId: string; /** Whether the associated dropdown is currently open (drives aria-expanded). */ isOpen: boolean; /** Id of the open dropdown content (drives aria-controls). Undefined while closed. */ ariaControls?: string; /** Whether the trigger is disabled (drives aria-disabled). */ isDisabled: boolean; /** Callback to toggle/open the dropdown. Called after the original onClick (if any). */ onTriggerClick: () => void; /** Callback to close the dropdown. Called when the Escape key is pressed. */ onEscape: () => void; } /** * Clones a React trigger element, merging in ARIA attributes and event handlers * needed for the date picker / date range picker dropdown pattern. * * - Preserves any existing id, onClick, and onKeyDown from the original element. * - Adds aria-expanded, aria-haspopup, aria-controls, aria-disabled automatically. * - Returns `null` when `triggerContent` is not a valid React element. * * Used by both DatePicker and DateRangePicker to avoid duplicating cloneElement logic. */ declare const cloneTriggerElement: (triggerContent: React.ReactNode, options: ICloneTriggerElementOptions) => React.ReactElement | null; export default cloneTriggerElement;