/**
 * @file 移动端人员、部门、角色、岗位选择
 */
import React from 'react';
import type { Option } from 'jamis-core';
import Sortable from 'sortablejs';
import type { UserSelectProps } from './types';
interface UserSelectState {
    isOpened: boolean;
    isSearch: boolean;
    isSelectOpened: boolean;
    inputValue: string;
    breadList: Array<any>;
    options: Array<Option>;
    tempSelection: Array<Option>;
    selection: Array<Option>;
    searchList: Array<Option>;
    searchLoading: boolean;
    isEdit: boolean;
}
export declare class UserSelect extends React.Component<UserSelectProps, UserSelectState> {
    cancelSearch?: Function;
    sortable?: Sortable;
    unmounted: boolean;
    constructor(props: UserSelectProps);
    static defaultProps: Partial<UserSelectProps>;
    componentDidUpdate(prevProps: UserSelectProps): void;
    componentWillUnmount(): void;
    onClose(): void;
    handleSearch(text: string): void;
    handleSeachCancel(): void;
    lazySearch: import("lodash").DebouncedFunc<(text: string) => void>;
    swapSelectPosition(oldIndex: number, newIndex: number): void;
    dragRef(ref: any): void;
    initDragging(): void;
    destroyDragging(): void;
    onOpen(): void;
    handleBack(): void;
    handleExpand(option: Option): Promise<void>;
    handleSelectChange(option: Option, isReplace?: boolean): false | undefined;
    onDelete(option: Option, isTemp?: boolean): void;
    handleBreadChange(option: Option, index: number): void;
    handleEdit(): void;
    renderIcon(option: Option, isSelect?: boolean): JSX.Element;
    renderList(options?: Array<object>, key?: number | string, isSearch?: boolean): JSX.Element;
    renderselectList(options?: Array<object>): JSX.Element;
    renderContent(): JSX.Element;
    render(): JSX.Element;
}
export default UserSelect;
