import type { Ref } from 'vue';
import type { Tree2Mode, Tree2Node, Tree2NodeValue } from '../types';
export interface UseTreeSelectionOptions {
    mode: Ref<Tree2Mode>;
    modelValue: Ref<Tree2NodeValue | Tree2NodeValue[] | null>;
    data: Ref<Tree2Node[]>;
}
export declare function useTreeSelection(options: UseTreeSelectionOptions): {
    selectedValue: import("vue").ComputedRef<Tree2NodeValue>;
    selectedValues: import("vue").ComputedRef<Tree2NodeValue[]>;
    isNodeSelected: (value: Tree2NodeValue) => boolean;
    isNodeIndeterminate: (node: Tree2Node) => boolean;
    areAllChildrenSelected: (node: Tree2Node) => boolean;
    selectNode: (node: Tree2Node) => void;
};
