import { type PamirsDepartment, type PamirsDepartmentService, type PamirsOrganizationalStructure, QueryWrapper } from '@oinone/kunlun-engine';
import { OioSelectItem, type OioTreeNode, SelectMode } from '@oinone/kunlun-vue-ui-antd';
import { type PropType } from 'vue';
import { type TreeState } from '../../quick-utils';
interface BaseState {
    init: boolean;
    storage: Record<string, OioTreeNode<PamirsDepartment>>;
}
interface State extends BaseState {
    loading: boolean;
    searchValue: string;
    checkedKeys: string[];
}
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    mode: {
        type: PropType<SelectMode | keyof typeof SelectMode>;
    };
    selected: {
        type: PropType<OioSelectItem<PamirsOrganizationalStructure> | OioSelectItem<PamirsOrganizationalStructure>[]>;
    };
    allowClear: {
        type: BooleanConstructor;
    };
    model: {
        type: StringConstructor;
    };
    companyModel: {
        type: StringConstructor;
    };
    domain: {
        type: StringConstructor;
    };
    departmentCodes: {
        type: PropType<string[]>;
    };
    userCompanyDept: {
        type: BooleanConstructor;
        default: undefined;
    };
    userDept: {
        type: BooleanConstructor;
        default: undefined;
    };
    userDeptAndChildren: {
        type: BooleanConstructor;
        default: undefined;
    };
    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;
    selectedValues: import("vue").ComputedRef<OioSelectItem<PamirsDepartment>[]>;
    initCheckedKeys: import("vue").ComputedRef<string[]>;
    load: (res: TreeState<PamirsDepartment>, service: PamirsDepartmentService, queryWrapper: QueryWrapper) => Promise<PamirsDepartment[]>;
    enterCallback: () => boolean;
    onUpdateState: (key: string, value: unknown) => void;
    onInit: (res: TreeState<PamirsDepartment>) => void;
    userDepartmentTreeState: BaseState;
    userDepartmentTreeLoad: (res: TreeState<PamirsDepartment>, service: PamirsDepartmentService, queryWrapper: QueryWrapper) => Promise<PamirsDepartment[]>;
    onInitUserDepartmentTree: (res: TreeState<PamirsDepartment>) => void;
    onUpdateCheckedKeysByUserDepartmentTree: (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<PamirsOrganizationalStructure> | OioSelectItem<PamirsOrganizationalStructure>[]>;
    };
    allowClear: {
        type: BooleanConstructor;
    };
    model: {
        type: StringConstructor;
    };
    companyModel: {
        type: StringConstructor;
    };
    domain: {
        type: StringConstructor;
    };
    departmentCodes: {
        type: PropType<string[]>;
    };
    userCompanyDept: {
        type: BooleanConstructor;
        default: undefined;
    };
    userDept: {
        type: BooleanConstructor;
        default: undefined;
    };
    userDeptAndChildren: {
        type: BooleanConstructor;
        default: undefined;
    };
    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;
    userCompanyDept: 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;
    DepartmentTree: any;
    OrganizationalStructureTree: any;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
