import { PureComponent, ReactNode } from 'react';
import { ResultProps, CascaderBaseValue } from './Props';
interface ResultState {
    more: number;
}
declare class Result<DataItem, Value extends CascaderBaseValue> extends PureComponent<ResultProps<DataItem, Value>, ResultState> {
    static defaultProps: {
        value: never[];
    };
    cancelResizeObserver: () => void;
    resultEl: HTMLElement;
    shouldResetMore: boolean;
    constructor(props: ResultProps<DataItem, Value>);
    componentDidMount(): void;
    componentDidUpdate(preProps: ResultProps<DataItem, Value>): void;
    componentWillUnmount(): void;
    getCompressedBound(): number | undefined;
    handleUpdate(): void;
    bindResult(el: HTMLDivElement): void;
    isCompressedBound(): boolean | 0 | undefined;
    updateMore(preProps: ResultProps<DataItem, Value>): void;
    resetMore(): void;
    handleNodeClick(data: DataItem, show?: boolean): void;
    handleNode(nodes: any[], render: (data: DataItem, row: DataItem[]) => ReactNode): (JSX.Element | null)[];
    removeTargetNode(node: DataItem, isPopover: boolean, event: Event): void;
    renderClear(): JSX.Element | null;
    renderItem({ index, render, data, raw, className, ...options }: {
        index: number;
        render: (_data: DataItem, row: DataItem[]) => ReactNode;
        data: DataItem;
        raw: DataItem[];
        className: string;
    }): JSX.Element | null;
    renderMore(list: ReactNode[]): JSX.Element[];
    renderInput(): JSX.Element;
    renderPlaceholder(empty?: boolean): JSX.Element;
    renderIndicator(): JSX.Element | null;
    renderResult(): (JSX.Element | null)[];
    render(): JSX.Element;
}
export default Result;
