import React from 'react';
import SelectorBasic, { SelectorBasicProps } from './selector';
import { DropdownWrapperProps } from './dropdown-wrapper';
declare const positionList: ["button", "top", "left", "right", "button,left", "button,right", "top,left", "top,right"];
export declare type DropdownPosition = (typeof positionList)[number];
export interface DropdownMenuProps extends SelectorBasicProps, DropdownWrapperProps {
    /** 给 dropdownMenu 的 class */
    className?: string;
    /** 监听滚动时隐藏的外层元素 */
    scrollElem?: () => HTMLElement;
    /** 是否渲染在 react root 之外 */
    outside?: boolean;
    /** 是否返回 number 类型的值 */
    isNum?: boolean;
    /** 是否带搜索输入 */
    withInput?: boolean;
    /** 是否需要清除选择的按钮 */
    needAction?: boolean;
    /** 是否多选 */
    isMultiple?: boolean;
    /** 传入 dropdownMenu 的 style */
    style?: React.CSSProperties;
    /** 没有值时显示的 title */
    defaultTitle?: string;
    /** 无效值的显示 */
    invalidTip?: string;
    /** 取消的 title */
    cancelTitle?: string;
    /** 弹出的位置，用 , 分隔，最多支持两个不冲突位置，如果冲突，则选择第一个值 */
    position?: DropdownPosition;
    /** 点击菜单的回调 */
    onClickItem?: (dataItem: any) => void;
}
/**
 * 下拉菜单组件，带有输入搜索功能
 *
 * @export
 * @class DropdownMenu
 * @extends {SelectorBasic}
 */
export default class DropdownMenu extends SelectorBasic<DropdownMenuProps> {
    static defaultProps: {
        withInput: boolean;
        needAction: boolean;
        outside: boolean;
        defaultTitle: string;
        invalidTip: string;
        cancelTitle: string;
        position: string;
    };
    _error: boolean;
    handleClick(dataItem: any, idx: any, callback: any): void;
    getActiveTitle(): string;
    getValuesLength(): number;
    render(): JSX.Element;
}
export {};
