import * as React from 'react'; import { IButtonProps } from '../Button/Button'; import { ITableProps } from '../Table/Table'; export interface IDropdownProps extends IButtonProps, ITableProps { title?: string; material?: boolean; materialIcon?: boolean; dropDirection?: 'up' | 'down' | 'left' | 'right' | string; fixedClose?: boolean; mobile?: boolean; open?: boolean; hideDropdownHeader?: boolean; titleKey?: string; disabled?: boolean; parentId?: any; hideRoot?: boolean; tagSelected?: boolean; tagSelectedKey?: string; tagSelectedElements?: Array; onChange?: (element?: Array, key?: string | number, selectedElements?: Array, id?: string) => void; onOpen?: (boolean: boolean) => void; onClose?: (boolean: boolean) => void; onCloseDropdown?: () => void; onTagRemove?: (item: any) => void; } export interface State { open?: boolean; } export default class Dropdown extends React.Component { refs: { [key: string]: Element; dropdown: HTMLInputElement; }; static defaultProps: { contentMaxHeight: number; material: boolean; hideFooter: boolean; open: any; }; constructor(props: IDropdownProps); static getDerivedStateFromProps(props: any, state: any): { dropdownIsOpen: any; selectedElements?: undefined; scrollToId?: undefined; } | { selectedElements: any; dropdownIsOpen?: undefined; scrollToId?: undefined; } | { scrollToId: any; dropdownIsOpen?: undefined; selectedElements?: undefined; }; closeDropdown(): void; openDropdown(): void; onRowSelect(element: Array, index: string | number, selectedElements: Array, id: string): void; removeSelectedItem(item: any): void; onTagRemove(item: any): void; render(): JSX.Element; }