import { type PamirsDepartment, type PamirsOrganizationalStructure } 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 OrganizationalStructureTreeInstance {
    state: Ref<TreeState<PamirsDepartment>>;
    filterData: ComputedRef<OioTreeNode<PamirsOrganizationalStructure>[]>;
    checkedAll: ComputedRef<boolean>;
    halfCheckedAll: ComputedRef<boolean>;
    init(options?: Partial<TreeInitOptions>): Promise<TreeState<PamirsOrganizationalStructure>>;
}
export declare function useOrganizationalStructureTree(props?: TreeStateProps & {
    load?: TreeStateLoadFunction<PamirsOrganizationalStructure>;
}): {
    state: TreeState<PamirsOrganizationalStructure>;
    filterData: ComputedRef<OioTreeNode<PamirsOrganizationalStructure>[]>;
    checkedAll: ComputedRef<boolean>;
    halfCheckedAll: ComputedRef<boolean>;
    init: (options?: Partial<TreeInitOptions>) => Promise<TreeState<PamirsOrganizationalStructure>>;
    search: (options?: Partial<TreeInitOptions>) => Promise<TreeState<PamirsOrganizationalStructure>>;
    onUpdateExpandedKeys: (keys: string[]) => void;
    onChecked: (node: OioTreeNode, checked: boolean) => void;
    onCheckedStrictly: (node: OioTreeNode, checked: boolean) => void;
    onCheckedAll: (nodes: OioTreeNode[], checked: boolean) => void;
};
