import React from 'react';
import type { Option, Options } from 'jamis-core';
import type { TransferProps } from '../../types';
interface TransferState {
    inputValue: string;
    searchResult: Options | null;
    isTreeDeferLoad: boolean;
    resultSelectMode: 'list' | 'tree' | 'table';
}
export declare class Transfer<T extends TransferProps> extends React.Component<T, TransferState> {
    static defaultProps: Partial<TransferProps>;
    state: TransferState;
    valueArray: Options;
    availableOptions: Options;
    unmounted: boolean;
    cancelSearch?: () => void;
    treeRef: any;
    inputRef: React.RefObject<HTMLInputElement>;
    /** 过滤后的选项 */
    filtedOptions: Option[];
    componentDidMount(): void;
    static getDerivedStateFromProps(props: TransferProps): {
        isTreeDeferLoad: boolean;
        resultSelectMode: string;
    };
    componentWillUnmount(): void;
    setInputRef: (ref: React.RefObject<HTMLInputElement>) => void;
    domRef(ref: any): void;
    toggleAll: () => void;
    selectAll: () => void;
    clearAll: () => void;
    handleSearchKeyDown: (e: React.KeyboardEvent<any>) => void;
    handleSearch: import("lodash").DebouncedFunc<(inputValue: string) => void>;
    handleSeachCancel: () => void;
    lazySearch: import("lodash").DebouncedFunc<() => Promise<void>>;
    getFlattenArr(options: Array<Option>): Option[];
    handleSearchTreeChange(values: Array<Option>, searchOptions: Array<Option>, onChange?: (valus: Option[]) => void): void;
    handleKeyDownForInput: () => void;
    renderSelect: (props: TransferProps & {
        onToggleAll?: () => void;
    }) => JSX.Element;
    renderOptions: (props: TransferProps, isSearchResult: boolean) => JSX.Element;
    renderResult: () => JSX.Element;
    render(): JSX.Element;
}
export default Transfer;
