import { type PamirsEmployee, type PamirsEmployeeService, type QueryWrapper } from '@oinone/kunlun-engine';
import type { OioSelectItem } from '@oinone/kunlun-shared';
import { OioListItem, SelectMode } from '@oinone/kunlun-vue-ui-antd';
import { type PropType } from 'vue';
import { type ListState } from '../../quick-utils';
interface BaseState {
    init: boolean;
    storage: Record<string, OioListItem<PamirsEmployee>>;
}
interface State extends BaseState {
    loading: boolean;
    searchValue: string;
    checkedKeys: string[];
    departmentSelectedKeys: string[];
    roleSelectedKeys: string[];
}
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    mode: {
        type: PropType<SelectMode | keyof typeof SelectMode>;
    };
    selected: {
        type: PropType<OioSelectItem<PamirsEmployee> | OioSelectItem<PamirsEmployee>[]>;
    };
    allowClear: {
        type: BooleanConstructor;
    };
    model: {
        type: StringConstructor;
    };
    companyModel: {
        type: StringConstructor;
    };
    departmentModel: {
        type: StringConstructor;
    };
    roleModel: {
        type: StringConstructor;
    };
    domain: {
        type: StringConstructor;
    };
    employeeCodes: {
        type: PropType<string[]>;
    };
    departmentCodes: {
        type: PropType<string[]>;
    };
    roleCodes: {
        type: PropType<string[]>;
    };
    userEmployee: {
        type: BooleanConstructor;
    };
    userDept: {
        type: BooleanConstructor;
    };
    userDeptAndChildren: {
        type: BooleanConstructor;
    };
    data: {
        type: ObjectConstructor;
        default: {};
    };
    copy: {
        type: BooleanConstructor;
        default: boolean;
    };
    deep: {
        type: BooleanConstructor;
        default: boolean;
    };
    loading: {
        type: BooleanConstructor;
        default: undefined;
    };
    confirmLoading: {
        type: BooleanConstructor;
        default: undefined;
    };
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    enterText: {
        type: StringConstructor;
        default: string;
    };
    cancelText: {
        type: StringConstructor;
        default: string;
    };
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    'onUpdate:visible': {
        type: PropType<(val: boolean) => void>;
    };
    closable: {
        type: BooleanConstructor;
        default: undefined;
    };
    keyboard: {
        type: BooleanConstructor;
        default: undefined;
    };
    displayAs: {
        type: PropType<keyof typeof import("@oinone/kunlun-vue-ui-common").PopupDisplayAs>;
    };
    'onUpdate:displayAs': {
        type: PropType<(val: keyof typeof import("@oinone/kunlun-vue-ui-common").PopupDisplayAs) => void>;
    };
    destroyOnClose: {
        type: BooleanConstructor;
        default: undefined;
    };
    getTriggerContainer: {
        type: PropType<(triggerNode: Node | HTMLElement) => Node | HTMLElement>;
    };
    enterCallback: {
        type: PropType<(event: PointerEvent, data: object) => import("@oinone/kunlun-shared").ReturnPromise<boolean | import("@oinone/kunlun-shared").ReturnVoid>>;
    };
    cancelCallback: {
        type: PropType<(event: PointerEvent, data: object) => import("@oinone/kunlun-shared").ReturnPromise<boolean | import("@oinone/kunlun-shared").ReturnVoid>>;
    };
    title: {
        type: StringConstructor;
    };
    help: {
        type: StringConstructor;
    };
    width: {
        type: PropType<import("@oinone/kunlun-vue-ui-common").ModalWidthType | string | number>;
    };
    height: {
        type: PropType<import("@oinone/kunlun-vue-ui-common").ModalWidthType | string | number>;
    };
    headerInvisible: {
        type: BooleanConstructor;
        default: undefined;
    };
    footerInvisible: {
        type: BooleanConstructor;
        default: undefined;
    };
    enabledFullScreen: {
        type: BooleanConstructor;
        default: boolean;
    };
    showPopupToggle: {
        type: BooleanConstructor;
        default: boolean;
    };
    wrapperProps: {
        type: PropType<import("@oinone/kunlun-vue-ui-common").ModalWrapperProps>;
    };
    centered: {
        type: BooleanConstructor;
        default: undefined;
    };
    mask: {
        type: BooleanConstructor;
        default: undefined;
    };
    maskClosable: {
        type: BooleanConstructor;
        default: undefined;
    };
    zIndex: {
        type: NumberConstructor;
        default: number;
    };
    wrapperClassName: {
        type: PropType<string | string[]>;
    };
}>, {
    state: State;
    initCheckedKeys: import("vue").ComputedRef<string[]>;
    selectedValues: import("vue").ComputedRef<OioSelectItem<PamirsEmployee>[]>;
    deptEmployeeLoad: (res: ListState<PamirsEmployee>, service: PamirsEmployeeService, queryWrapper: QueryWrapper) => Promise<PamirsEmployee[]>;
    enterCallback: () => boolean;
    currentEmployeeLoad: (res: ListState<PamirsEmployee>, service: PamirsEmployeeService, queryWrapper: QueryWrapper) => Promise<PamirsEmployee[]>;
    onUpdateState: (key: string, value: unknown) => void;
    onInit: (res: ListState<PamirsEmployee>) => void;
    roleEmployeeListState: BaseState;
    onInitRoleEmployeeList: (res: ListState<PamirsEmployee>) => void;
    onUpdateCheckedKeysByRoleEmployeeList: (checkedKeys: string[]) => void;
    userEmployeeListState: BaseState;
    onInitUserEmployeeList: (res: ListState<PamirsEmployee>) => void;
    onUpdateCheckedKeysByUserEmployeeList: (checkedKeys: string[]) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "change"[], "change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    mode: {
        type: PropType<SelectMode | keyof typeof SelectMode>;
    };
    selected: {
        type: PropType<OioSelectItem<PamirsEmployee> | OioSelectItem<PamirsEmployee>[]>;
    };
    allowClear: {
        type: BooleanConstructor;
    };
    model: {
        type: StringConstructor;
    };
    companyModel: {
        type: StringConstructor;
    };
    departmentModel: {
        type: StringConstructor;
    };
    roleModel: {
        type: StringConstructor;
    };
    domain: {
        type: StringConstructor;
    };
    employeeCodes: {
        type: PropType<string[]>;
    };
    departmentCodes: {
        type: PropType<string[]>;
    };
    roleCodes: {
        type: PropType<string[]>;
    };
    userEmployee: {
        type: BooleanConstructor;
    };
    userDept: {
        type: BooleanConstructor;
    };
    userDeptAndChildren: {
        type: BooleanConstructor;
    };
    data: {
        type: ObjectConstructor;
        default: {};
    };
    copy: {
        type: BooleanConstructor;
        default: boolean;
    };
    deep: {
        type: BooleanConstructor;
        default: boolean;
    };
    loading: {
        type: BooleanConstructor;
        default: undefined;
    };
    confirmLoading: {
        type: BooleanConstructor;
        default: undefined;
    };
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    enterText: {
        type: StringConstructor;
        default: string;
    };
    cancelText: {
        type: StringConstructor;
        default: string;
    };
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    'onUpdate:visible': {
        type: PropType<(val: boolean) => void>;
    };
    closable: {
        type: BooleanConstructor;
        default: undefined;
    };
    keyboard: {
        type: BooleanConstructor;
        default: undefined;
    };
    displayAs: {
        type: PropType<keyof typeof import("@oinone/kunlun-vue-ui-common").PopupDisplayAs>;
    };
    'onUpdate:displayAs': {
        type: PropType<(val: keyof typeof import("@oinone/kunlun-vue-ui-common").PopupDisplayAs) => void>;
    };
    destroyOnClose: {
        type: BooleanConstructor;
        default: undefined;
    };
    getTriggerContainer: {
        type: PropType<(triggerNode: Node | HTMLElement) => Node | HTMLElement>;
    };
    enterCallback: {
        type: PropType<(event: PointerEvent, data: object) => import("@oinone/kunlun-shared").ReturnPromise<boolean | import("@oinone/kunlun-shared").ReturnVoid>>;
    };
    cancelCallback: {
        type: PropType<(event: PointerEvent, data: object) => import("@oinone/kunlun-shared").ReturnPromise<boolean | import("@oinone/kunlun-shared").ReturnVoid>>;
    };
    title: {
        type: StringConstructor;
    };
    help: {
        type: StringConstructor;
    };
    width: {
        type: PropType<import("@oinone/kunlun-vue-ui-common").ModalWidthType | string | number>;
    };
    height: {
        type: PropType<import("@oinone/kunlun-vue-ui-common").ModalWidthType | string | number>;
    };
    headerInvisible: {
        type: BooleanConstructor;
        default: undefined;
    };
    footerInvisible: {
        type: BooleanConstructor;
        default: undefined;
    };
    enabledFullScreen: {
        type: BooleanConstructor;
        default: boolean;
    };
    showPopupToggle: {
        type: BooleanConstructor;
        default: boolean;
    };
    wrapperProps: {
        type: PropType<import("@oinone/kunlun-vue-ui-common").ModalWrapperProps>;
    };
    centered: {
        type: BooleanConstructor;
        default: undefined;
    };
    mask: {
        type: BooleanConstructor;
        default: undefined;
    };
    maskClosable: {
        type: BooleanConstructor;
        default: undefined;
    };
    zIndex: {
        type: NumberConstructor;
        default: number;
    };
    wrapperClassName: {
        type: PropType<string | string[]>;
    };
}>> & Readonly<{
    onChange?: ((...args: any[]) => any) | undefined;
}>, {
    data: Record<string, any>;
    allowClear: boolean;
    userEmployee: boolean;
    userDept: boolean;
    userDeptAndChildren: boolean;
    copy: boolean;
    deep: boolean;
    loading: boolean;
    confirmLoading: boolean;
    draggable: boolean;
    enterText: string;
    cancelText: string;
    visible: boolean;
    closable: boolean;
    keyboard: boolean;
    destroyOnClose: boolean;
    headerInvisible: boolean;
    footerInvisible: boolean;
    enabledFullScreen: boolean;
    showPopupToggle: boolean;
    centered: boolean;
    mask: boolean;
    maskClosable: boolean;
    zIndex: number;
}, {}, {
    OioInput: any;
    OioModal: any;
    OioTab: any;
    OioTabs: any;
    OrganizationalStructureTree: any;
    DepartmentEmployeeSelectPanel: any;
    RoleEmployeeSelectPanel: any;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
