import { getPopupContainer } from 'tav-ui/es/utils/basic';
import type { ExtractPropTypes, PropType } from 'vue';
export interface UserOrgs {
    organizationId: number;
    organizationName: string;
    userId: number;
    userName: string;
    type: string;
}
export interface UserItem {
    id: string;
    fullCharts: string;
    name: string;
    phone: string;
    sex: number;
    status: number;
    disabled: boolean;
    ifShow: boolean;
    userOrgs: UserOrgs[];
}
export interface Options extends UserItem {
    label: string;
    value: string;
}
export declare type TypeItems = 'user' | 'org';
export interface LetterItemList extends UserItem {
    id: string;
    name: string;
    checked: boolean;
}
export interface letterItem {
    key: string;
    list: LetterItemList[];
}
/**
 * @interface memberSelectProps
 * @TypeItems 类型 user|org 默认user
 * @userListApi 请求用户的列表
 * @userListParams 请求用户的参数
 * @options 用户下拉列表，如果传入了就不再调用接口
 * @noSelect 不显示下拉，需要手动调用 组件的showModal()
 * @noOrg 不显示组织选择
 * @multiple 是否多选
 * @ignoreUser 忽略的用户id列表
 * @isIgnoreFrozen 是否忽略冻结的用户
 */
export declare const memberSelectProps: {
    value: {
        type: (StringConstructor | ArrayConstructor | NumberConstructor)[];
        default: null;
    };
    options: {
        type: PropType<UserItem[]>;
    };
    autofocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    defaultOpen: {
        type: BooleanConstructor;
        default: boolean;
    };
    title: {
        type: StringConstructor;
        default: any;
    };
    type: {
        type: PropType<TypeItems>;
        default: string;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    ignoreUser: {
        type: ArrayConstructor;
        default: () => never[];
    };
    ignoreFrozenUser: {
        type: BooleanConstructor;
        default: boolean;
    };
    userListApi: {
        type: PropType<(...arg: any[]) => Promise<any>>;
    };
    orgApi: {
        type: PropType<(...arg: any[]) => Promise<any>>;
    };
    userListParams: {
        type: ObjectConstructor;
    };
    noOrg: {
        type: BooleanConstructor;
        default: boolean;
    };
    noSelect: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: {
        type: StringConstructor;
        default: any;
    };
    maxTagCount: {
        type: NumberConstructor;
        default: number;
    };
    maxTagPlaceholder: {
        type: StringConstructor;
    };
    allowClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    getPopupContainer: {
        type: FunctionConstructor;
        getPopupContainer: typeof getPopupContainer;
    };
    useDisabledUser: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: StringConstructor;
    };
    codeField: {
        type: StringConstructor;
    };
    formValues: {
        type: ObjectConstructor;
    };
    change: {
        type: FunctionConstructor;
    };
    modalSubmit: {
        type: FunctionConstructor;
    };
    treeCheckStrictly: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export declare type MemberSelectProps = ExtractPropTypes<typeof memberSelectProps>;
