import * as PropTypes from 'prop-types'; import * as React from 'react'; import { renderSelect, valueType } from './PropTypes'; export interface IMenuEvent { key: string; item: React.ReactNode; domEvent: Event; selectedKeys: string[]; } export interface IDropdownMenuProps { ariaId: string; defaultActiveFirstOption: boolean; value: valueType; dropdownMenuStyle: React.CSSProperties; multiple: boolean; onPopupFocus: React.FocusEventHandler<HTMLDivElement>; onPopupScroll: React.UIEventHandler<HTMLDivElement>; onMenuDeselect: (e: { item: any; domEvent: KeyboardEvent; }) => void; onMenuSelect: (e: { item: any; domEvent: KeyboardEvent; }) => void; prefixCls: string; menuItems: JSX.Element[]; inputValue: string | string[]; visible: boolean; firstActiveValue: valueType; menuItemSelectedIcon: renderSelect; backfillValue: string; } export default class DropdownMenu extends React.Component<Partial<IDropdownMenuProps>> { static displayName: string; static propTypes: { ariaId: PropTypes.Requireable<string>; defaultActiveFirstOption: PropTypes.Requireable<boolean>; value: PropTypes.Requireable<any>; dropdownMenuStyle: PropTypes.Requireable<object>; multiple: PropTypes.Requireable<boolean>; onPopupFocus: PropTypes.Requireable<(...args: any[]) => any>; onPopupScroll: PropTypes.Requireable<(...args: any[]) => any>; onMenuDeSelect: PropTypes.Requireable<(...args: any[]) => any>; onMenuSelect: PropTypes.Requireable<(...args: any[]) => any>; prefixCls: PropTypes.Requireable<string>; menuItems: PropTypes.Requireable<any>; inputValue: PropTypes.Requireable<string>; visible: PropTypes.Requireable<boolean>; firstActiveValue: PropTypes.Requireable<string>; menuItemSelectedIcon: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>; }; rafInstance: { cancel: () => void; }; lastInputValue: string | string[] | undefined; saveMenuRef: any; menuRef: any; lastVisible: boolean; firstActiveItem: any; constructor(props: Partial<IDropdownMenuProps>); componentDidMount(): void; shouldComponentUpdate(nextProps: Partial<IDropdownMenuProps>): boolean; componentDidUpdate(prevProps: Partial<IDropdownMenuProps>): void; componentWillUnmount(): void; scrollActiveItemToView: () => void; renderMenu: () => JSX.Element | null; render(): JSX.Element | null; }