import { Component, Key, ReactElement, ReactNode } from 'react';
import Menu from '../../../../lib/rc-components/menu/index';
import TableContext from '../TableContext';
import { ColumnProps } from '../Column';
export interface ColumnFilterProps {
    prefixCls?: string;
    onColumnFilterChange?: (item?: any) => void;
    getPopupContainer?: (triggerNode?: Element) => HTMLElement;
}
export default class ColumnFilter extends Component<ColumnFilterProps> {
    static displayName: string;
    static get contextType(): typeof TableContext;
    hidden: any;
    menu?: Menu | null;
    constructor(props: any, context: any);
    saveMenu(node: any): void;
    handleHiddenChange(hidden: any): void;
    handleKeyDown(e: any): void;
    setDropDownHidden(hidden: any): void;
    getPrefixCls(): string;
    render(): JSX.Element;
    handleMenuSelect({ item: { props: { value }, }, }: {
        item: {
            props: {
                value: any;
            };
        };
    }): void;
    handleMenuUnSelect({ item: { props: { value }, }, }: {
        item: {
            props: {
                value: any;
            };
        };
    }): void;
    getMenu(): JSX.Element;
    getOptions(columns: [ColumnProps, ReactNode, Key][]): ReactElement<any>[];
}
