import { type PamirsDepartment } from '@oinone/kunlun-engine';
import type { OioTreeNode } from '@oinone/kunlun-shared';
import type { ComputedRef, Ref } from 'vue';
import { type TreeInitOptions, type TreeState, type TreeStateLoadFunction, type TreeStateProps } from '../../quick-utils';
export interface DepartmentTreeInstance {
    state: Ref<TreeState<PamirsDepartment>>;
    filterData: ComputedRef<OioTreeNode<PamirsDepartment>[]>;
    checkedAll: ComputedRef<boolean>;
    halfCheckedAll: ComputedRef<boolean>;
    init(options?: Partial<TreeInitOptions>): Promise<TreeState<PamirsDepartment>>;
}
export declare function useDepartmentTree(props?: TreeStateProps & {
    load?: TreeStateLoadFunction<PamirsDepartment>;
}): {
    state: TreeState<PamirsDepartment>;
    filterData: ComputedRef<OioTreeNode<PamirsDepartment>[]>;
    checkedAll: ComputedRef<boolean>;
    halfCheckedAll: ComputedRef<boolean>;
    init: (options?: Partial<TreeInitOptions>) => Promise<TreeState<PamirsDepartment>>;
    search: (options?: Partial<TreeInitOptions>) => Promise<TreeState<PamirsDepartment>>;
    onUpdateExpandedKeys: (keys: string[]) => void;
    onChecked: (node: OioTreeNode, checked: boolean) => void;
    onCheckedStrictly: (node: OioTreeNode, checked: boolean) => void;
    onCheckedAll: (nodes: OioTreeNode[], checked: boolean) => void;
};
