import React from 'react'; import { DropdownOption } from './dropdown-list'; import type { WithNullableEventHandlers } from '../../types'; declare type Props = WithNullableEventHandlers<{ containerClassNames?: string; content?: React.ReactNode; triggerNode: any; options?: Array; title?: string | null; className?: string | null; footerTitle?: any; onFooterClick?: () => void; onVisibilityChange?: (visibility: boolean) => void; } & Partial>; declare type DefaultProps = { arrowPosition: 'start' | 'center' | 'end'; boundingElement: HTMLElement | HTMLBodyElement | null; triggerEvents: Array | string; position: 'top' | 'bottom' | 'left' | 'right'; visible: boolean; autoPosition: boolean; disabled: boolean; name: string; theme: 'dark' | 'light'; }; declare type BoundingDimensions = { width: number; height: number; x?: number; y?: number; top: number; left: number; bottom: number; right: number; }; declare type State = { isDropdownVisible: boolean; overridenPosition: ('top' | 'bottom') | null; dropdownOffset: number; boundingElementDimensions: BoundingDimensions | null; dropdownDimensions: ClientRect | null; }; export default class Dropdown extends React.Component { _dropdown: HTMLDivElement | null | undefined; _dropdownContainer: HTMLDivElement | null | undefined; _dropdownWrapper: HTMLDivElement | null | undefined; static displayName: string; static defaultProps: DefaultProps; state: State; componentWillReceiveProps(nextProps: Props): void; componentDidUpdate(prevProps: Props, prevState: State): void; _handleDropdown: () => void; _createEventHandlers(): {}; _adjustPosition: () => void; render(): JSX.Element; } export {};