import { ThemeProps } from '../theme';
import React from 'react';
import { Options, Option } from './Select';
export interface ListMenuProps extends ThemeProps {
    options: Options;
    disabled?: boolean;
    selectedOptions?: Options;
    highlightIndex?: number | null;
    onSelect?: (e: any, option: Option) => void;
    placeholder: string;
    itemRender: (option: Option) => JSX.Element;
    getItemProps: (props: {
        item: Option;
        index: number;
    }) => any;
    prefix?: JSX.Element;
}
interface RenderResult {
    items: Array<JSX.Element>;
    index: number;
}
export declare class ListMenu extends React.Component<ListMenuProps> {
    static defaultProps: {
        placeholder: string;
        itemRender: (option: Option) => JSX.Element;
        getItemProps: (props: {
            item: Option;
            index: number;
        }) => null;
    };
    renderItem(result: RenderResult, option: Option, optionIndex: number): RenderResult;
    render(): JSX.Element;
}
declare const _default: React.ComponentClass<Pick<Pick<ListMenuProps, "disabled" | "options" | "selectedOptions" | "classPrefix" | "classnames" | "prefix" | "onSelect" | "highlightIndex"> & Partial<Pick<ListMenuProps, "placeholder" | "itemRender" | "getItemProps">> & Partial<Pick<{
    placeholder: string;
    itemRender: (option: Option) => JSX.Element;
    getItemProps: (props: {
        item: Option;
        index: number;
    }) => null;
}, never>>, "disabled" | "options" | "selectedOptions" | "placeholder" | "prefix" | "onSelect" | "itemRender" | "getItemProps" | "highlightIndex"> & {
    theme?: string | undefined;
    classPrefix?: string | undefined;
    classnames?: import("../theme").ClassNamesFn | undefined;
}, any> & {
    ComposedComponent: typeof ListMenu;
};
export default _default;
