import { PortalProps } from "@jpmorganchase/uitk-core"; import { HTMLAttributes, KeyboardEvent, ReactElement, RefObject } from "react"; export declare type DropdownPlacement = "bottom-start" | "bottom-end" | "top-start" | "top-end"; export interface DropdownBaseProps extends Omit, "onSelect">, Pick { defaultIsOpen?: boolean; disabled?: boolean; fullWidth?: boolean; isOpen?: boolean; onKeyDown?: (e: KeyboardEvent) => void; onOpenChange?: (isOpen: boolean) => void; openOnFocus?: boolean; placement?: DropdownPlacement; popupWidth?: number; triggerComponent?: JSX.Element; width?: number | string; } export interface DropdownHookProps extends Pick { ariaLabelledBy?: string; id: string; popupComponent: ReactElement; rootRef: RefObject; } export interface DropdownHookTriggerProps { "aria-expanded"?: boolean; "aria-labelledby"?: string; "aria-owns"?: string; id: string; onClick?: (e: MouseEvent) => void; onFocus?: (e: FocusEvent) => void; role: string; onKeyDown?: (e: KeyboardEvent) => void; style?: any; } interface ComponentProps extends HTMLAttributes { width?: number | string; } export interface DropdownHookResult { componentProps: ComponentProps; isOpen: boolean; label: string; popperRef: (node: HTMLElement | null) => void; triggerProps: DropdownHookTriggerProps; } export {};