///
///
import { PureComponent } from '../component';
import DatumTree from '../Datum/Tree';
import Input from './Input';
import { CascaderBaseValue, OriginCascaderProps } from './Props';
import { RegularAttributes } from '../@types/common';
interface State {
focus: boolean;
path: Value;
position: RegularAttributes.ListPosition;
}
declare class Cascader extends PureComponent, State> {
static defaultProps: {
data: never[];
height: number;
clearable: boolean;
showArrow: boolean;
expandTrigger: string;
childrenKey: string;
};
pathChangeTimer: NodeJS.Timeout | null;
datum: DatumTree;
selectId: string;
isRendered: boolean;
lastFoucs: boolean;
shouldUpdateAfterRef: boolean;
ref: HTMLDivElement;
close: (e: MouseEvent) => void;
handleBlur: (e: MouseEvent) => void;
handleClick: (e?: any) => void;
input: Input;
lastValue?: Value;
element: HTMLDivElement;
renderPending: boolean;
constructor(props: OriginCascaderProps);
componentDidMount(): void;
componentDidUpdate(prevProps: OriginCascaderProps, prevState: State): void;
componentWillUnmount(): void;
get focus(): boolean;
get shouldFinal(): boolean;
setOpenEvent(): void;
bindRef(el: HTMLDivElement): void;
bindClickAway(): void;
bindInput(input: Input): void;
clearClickAway(): void;
shouldFocus(el: HTMLDivElement): boolean;
updatePath(): void;
updatePathByValue(force?: boolean): void;
handleClickAway(e: MouseEvent): void;
handlePathChange(id: string | number, data: DataItem | null, path: (string | number)[], fromClick?: boolean): void;
handleFocus(e: any): void;
handleClear(): void;
handleRemove(node: DataItem): void;
handleState(focus: boolean, e?: MouseEvent): void;
handleKeyDown(e: any): void;
handleChange(...args: [Value, DataItem?]): void;
renderList(): JSX.Element;
renderAbsoluteList(): JSX.Element | null;
renderFilterList(): JSX.Element;
renderPanel(): JSX.Element | null;
render(): JSX.Element;
}
export default Cascader;