import { type PamirsDepartment, type PamirsDepartmentService, type PamirsEmployee, type PamirsEmployeeService, QueryWrapper } from '@oinone/kunlun-engine';
import { SelectMode } from '@oinone/kunlun-vue-ui-antd';
import { type PropType, type Ref } from 'vue';
import type { ListState, TreeState } from '../../quick-utils';
import type { EmployeeListInstance } from './init';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    state: {
        type: PropType<{
            loading: boolean;
            searchValue: string;
            checkedKeys: string[];
        }>;
        required: true;
    };
    onUpdateState: {
        type: PropType<(key: string, value: unknown) => void>;
        required: true;
    };
    mode: {
        type: PropType<SelectMode | keyof typeof SelectMode>;
    };
    initCheckedKeys: {
        type: PropType<string[]>;
    };
    onInit: {
        type: FunctionConstructor;
    };
    model: {
        type: StringConstructor;
    };
    companyModel: {
        type: StringConstructor;
    };
    departmentModel: {
        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;
    };
}>, {
    employeeListRef: Ref<EmployeeListInstance | undefined, EmployeeListInstance | undefined>;
    state: {
        loading: boolean;
        searchValue: string;
        checkedKeys: string[];
    };
    currentState: Ref<{
        departmentSelectedKeys: string[];
    }, {
        departmentSelectedKeys: string[];
    } | {
        departmentSelectedKeys: string[];
    }>;
    deptDomain: import("vue").ComputedRef<string | undefined>;
    deptLoad: (res: TreeState<PamirsDepartment>, service: PamirsDepartmentService, queryWrapper: QueryWrapper) => Promise<PamirsDepartment[]>;
    deptEmployeeLoad: (res: ListState<PamirsEmployee>, service: PamirsEmployeeService, queryWrapper: QueryWrapper) => Promise<PamirsEmployee[]>;
    onDepartmentSelected: ({ selectedKeys }: {
        selectedKeys: string[];
    }) => Promise<void>;
    onDeploymentSelectedAllEmployee: () => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    state: {
        type: PropType<{
            loading: boolean;
            searchValue: string;
            checkedKeys: string[];
        }>;
        required: true;
    };
    onUpdateState: {
        type: PropType<(key: string, value: unknown) => void>;
        required: true;
    };
    mode: {
        type: PropType<SelectMode | keyof typeof SelectMode>;
    };
    initCheckedKeys: {
        type: PropType<string[]>;
    };
    onInit: {
        type: FunctionConstructor;
    };
    model: {
        type: StringConstructor;
    };
    companyModel: {
        type: StringConstructor;
    };
    departmentModel: {
        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;
    };
}>> & Readonly<{}>, {
    userEmployee: boolean;
    userDept: boolean;
    userDeptAndChildren: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
