import React, { PureComponent } from 'react';
import { ResultProps } from './Props';
import { ResultItem } from '../@types/common';
export declare const IS_NOT_MATCHED_VALUE = "IS_NOT_MATCHED_VALUE";
interface ResultState {
    more: number;
}
declare class Result<Item, Value> extends PureComponent<ResultProps<Item, Value>, ResultState> {
    resultEl: HTMLDivElement;
    cancelResizeObserver: () => void;
    shouldResetMore: boolean;
    constructor(props: ResultProps<Item, Value>);
    componentDidMount(): void;
    componentDidUpdate(preProps: ResultProps<Item, Value>): void;
    componentWillUnmount(): void;
    getCompressedBound(): number | undefined;
    bindResult(el: HTMLDivElement): void;
    updateMore(preProps: ResultProps<Item, Value>): void;
    resetMore(): void;
    handleRemove(data: ResultItem<Item>): void;
    handelMore(more: number): void;
    isCompressedBound(): boolean | 0 | undefined;
    renderClear(): JSX.Element | null;
    renderInput(text: React.ReactNode, key?: string | number): JSX.Element;
    renderItem(data: ResultItem<Item>, index?: number): JSX.Element | null;
    renderMore(items: React.ReactNode[]): JSX.Element[];
    renderPlaceholder(showPlaceholder?: boolean): JSX.Element;
    renderResult(): JSX.Element | (JSX.Element | null)[];
    render(): JSX.Element;
}
export default Result;
