import type { MenuTreeNodeWithChildren } from "../composable/tree";
export declare const useTreeStore: import("pinia").StoreDefinition<"mf-menu-tree", Pick<{
    treeRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        updateExpandedNodeIds: (expandedNodeIds: string[]) => void;
        nodeDragDrop: (event: import("../fmtree/type").DragDropEvent) => void;
        updateDragState: (draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => void;
    }, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, {}> | undefined, import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        updateExpandedNodeIds: (expandedNodeIds: string[]) => void;
        nodeDragDrop: (event: import("../fmtree/type").DragDropEvent) => void;
        updateDragState: (draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => void;
    }, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, {}> | undefined>;
    treeNodes: import("vue").Ref<{
        parent?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        } | undefined;
        children?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        }[] | undefined;
        id: string;
        icon?: string | undefined;
        label: string;
        chips?: {
            label: string;
            variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
            border?: boolean | undefined;
            size?: "xs" | "sm" | "md" | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        rightLabel?: {
            label: string;
            variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
            onClick?: (() => void) | undefined;
        } | undefined;
        actions?: {
            id: string;
            icon: string;
            disabled?: boolean | undefined;
            showOnHover?: boolean | undefined;
            tooltip?: string | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        highlightedStrings?: string[] | undefined;
        disabled?: boolean | undefined;
        draggable?: boolean | undefined;
        alignDrag?: boolean | undefined;
        onClick?: (() => void) | undefined;
        meta?: {
            nodeType: import("../composable/tree").TreeNodeType.ITEM;
            rawId: string;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
            rawId: string | null;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
            rawId: string;
            rawObject?: undefined;
        } | undefined;
    }[], MenuTreeNodeWithChildren[] | {
        parent?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        } | undefined;
        children?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        }[] | undefined;
        id: string;
        icon?: string | undefined;
        label: string;
        chips?: {
            label: string;
            variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
            border?: boolean | undefined;
            size?: "xs" | "sm" | "md" | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        rightLabel?: {
            label: string;
            variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
            onClick?: (() => void) | undefined;
        } | undefined;
        actions?: {
            id: string;
            icon: string;
            disabled?: boolean | undefined;
            showOnHover?: boolean | undefined;
            tooltip?: string | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        highlightedStrings?: string[] | undefined;
        disabled?: boolean | undefined;
        draggable?: boolean | undefined;
        alignDrag?: boolean | undefined;
        onClick?: (() => void) | undefined;
        meta?: {
            nodeType: import("../composable/tree").TreeNodeType.ITEM;
            rawId: string;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
            rawId: string | null;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
            rawId: string;
            rawObject?: undefined;
        } | undefined;
    }[]>;
    selectedNodeId: import("vue").Ref<string | null, string | null>;
    expandedNodeIds: import("vue").Ref<string[], string[]>;
    setTreeNodes: (nodes: MenuTreeNodeWithChildren[]) => void;
    setSelectedNodeId: (nodeId: string | null) => void;
    setSelectedNodeByItemId: (itemId: string | null) => void;
    setExpandedNodeIds: (nodeIds: string[]) => void;
    collapseAllNodes: () => Promise<void>;
    expandAllNodes: () => void;
    getNodeById: (id: string) => MenuTreeNodeWithChildren | undefined;
}, "selectedNodeId" | "expandedNodeIds" | "treeRef" | "treeNodes">, Pick<{
    treeRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        updateExpandedNodeIds: (expandedNodeIds: string[]) => void;
        nodeDragDrop: (event: import("../fmtree/type").DragDropEvent) => void;
        updateDragState: (draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => void;
    }, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, {}> | undefined, import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        updateExpandedNodeIds: (expandedNodeIds: string[]) => void;
        nodeDragDrop: (event: import("../fmtree/type").DragDropEvent) => void;
        updateDragState: (draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => void;
    }, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, {}> | undefined>;
    treeNodes: import("vue").Ref<{
        parent?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        } | undefined;
        children?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        }[] | undefined;
        id: string;
        icon?: string | undefined;
        label: string;
        chips?: {
            label: string;
            variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
            border?: boolean | undefined;
            size?: "xs" | "sm" | "md" | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        rightLabel?: {
            label: string;
            variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
            onClick?: (() => void) | undefined;
        } | undefined;
        actions?: {
            id: string;
            icon: string;
            disabled?: boolean | undefined;
            showOnHover?: boolean | undefined;
            tooltip?: string | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        highlightedStrings?: string[] | undefined;
        disabled?: boolean | undefined;
        draggable?: boolean | undefined;
        alignDrag?: boolean | undefined;
        onClick?: (() => void) | undefined;
        meta?: {
            nodeType: import("../composable/tree").TreeNodeType.ITEM;
            rawId: string;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
            rawId: string | null;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
            rawId: string;
            rawObject?: undefined;
        } | undefined;
    }[], MenuTreeNodeWithChildren[] | {
        parent?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        } | undefined;
        children?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        }[] | undefined;
        id: string;
        icon?: string | undefined;
        label: string;
        chips?: {
            label: string;
            variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
            border?: boolean | undefined;
            size?: "xs" | "sm" | "md" | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        rightLabel?: {
            label: string;
            variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
            onClick?: (() => void) | undefined;
        } | undefined;
        actions?: {
            id: string;
            icon: string;
            disabled?: boolean | undefined;
            showOnHover?: boolean | undefined;
            tooltip?: string | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        highlightedStrings?: string[] | undefined;
        disabled?: boolean | undefined;
        draggable?: boolean | undefined;
        alignDrag?: boolean | undefined;
        onClick?: (() => void) | undefined;
        meta?: {
            nodeType: import("../composable/tree").TreeNodeType.ITEM;
            rawId: string;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
            rawId: string | null;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
            rawId: string;
            rawObject?: undefined;
        } | undefined;
    }[]>;
    selectedNodeId: import("vue").Ref<string | null, string | null>;
    expandedNodeIds: import("vue").Ref<string[], string[]>;
    setTreeNodes: (nodes: MenuTreeNodeWithChildren[]) => void;
    setSelectedNodeId: (nodeId: string | null) => void;
    setSelectedNodeByItemId: (itemId: string | null) => void;
    setExpandedNodeIds: (nodeIds: string[]) => void;
    collapseAllNodes: () => Promise<void>;
    expandAllNodes: () => void;
    getNodeById: (id: string) => MenuTreeNodeWithChildren | undefined;
}, never>, Pick<{
    treeRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        updateExpandedNodeIds: (expandedNodeIds: string[]) => void;
        nodeDragDrop: (event: import("../fmtree/type").DragDropEvent) => void;
        updateDragState: (draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => void;
    }, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, {}> | undefined, import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        updateExpandedNodeIds: (expandedNodeIds: string[]) => void;
        nodeDragDrop: (event: import("../fmtree/type").DragDropEvent) => void;
        updateDragState: (draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => void;
    }, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("../fmtree/type").TreeNodeWithChildren<any>[]>;
            required: true;
        };
        selectedNodeId: {
            type: import("vue").PropType<string | null | undefined>;
            required: true;
        };
        expandedNodeIds: {
            type: import("vue").PropType<string[]>;
        };
        canDropFn: {
            type: import("vue").PropType<(draggedNodeId: string, targetNodeId: string, dragPosition: "before" | "after" | "inside") => boolean>;
        };
    }>> & Readonly<{
        onUpdateDragState?: ((draggedNodeId: string | null, dropTargetNodeId: string | null, dropPosition: "before" | "after" | "inside" | null) => any) | undefined;
        onNodeDragDrop?: ((event: import("../fmtree/type").DragDropEvent) => any) | undefined;
        onUpdateExpandedNodeIds?: ((expandedNodeIds: string[]) => any) | undefined;
    }>, {
        scrollToTop: () => void;
        scrollToNode: (nodeId: string) => void;
        cancelDrag: () => void;
    }, {}, {}, {}, {}> | undefined>;
    treeNodes: import("vue").Ref<{
        parent?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        } | undefined;
        children?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        }[] | undefined;
        id: string;
        icon?: string | undefined;
        label: string;
        chips?: {
            label: string;
            variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
            border?: boolean | undefined;
            size?: "xs" | "sm" | "md" | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        rightLabel?: {
            label: string;
            variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
            onClick?: (() => void) | undefined;
        } | undefined;
        actions?: {
            id: string;
            icon: string;
            disabled?: boolean | undefined;
            showOnHover?: boolean | undefined;
            tooltip?: string | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        highlightedStrings?: string[] | undefined;
        disabled?: boolean | undefined;
        draggable?: boolean | undefined;
        alignDrag?: boolean | undefined;
        onClick?: (() => void) | undefined;
        meta?: {
            nodeType: import("../composable/tree").TreeNodeType.ITEM;
            rawId: string;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
            rawId: string | null;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
            rawId: string;
            rawObject?: undefined;
        } | undefined;
    }[], MenuTreeNodeWithChildren[] | {
        parent?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        } | undefined;
        children?: {
            parent?: any | undefined;
            children?: any[] | undefined;
            id: string;
            icon?: string | undefined;
            label: string;
            chips?: {
                label: string;
                variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
                border?: boolean | undefined;
                size?: "xs" | "sm" | "md" | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            rightLabel?: {
                label: string;
                variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
                onClick?: (() => void) | undefined;
            } | undefined;
            actions?: {
                id: string;
                icon: string;
                disabled?: boolean | undefined;
                showOnHover?: boolean | undefined;
                tooltip?: string | undefined;
                onClick?: (() => void) | undefined;
            }[] | undefined;
            highlightedStrings?: string[] | undefined;
            disabled?: boolean | undefined;
            draggable?: boolean | undefined;
            alignDrag?: boolean | undefined;
            onClick?: (() => void) | undefined;
            meta?: {
                nodeType: import("../composable/tree").TreeNodeType.ITEM;
                rawId: string;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
                rawId: string | null;
                rawObject: any;
            } | {
                nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
                rawId: string;
                rawObject?: undefined;
            } | undefined;
        }[] | undefined;
        id: string;
        icon?: string | undefined;
        label: string;
        chips?: {
            label: string;
            variant?: import("~shared/components/info/TextChip.vue").TextChipVariant | undefined;
            border?: boolean | undefined;
            size?: "xs" | "sm" | "md" | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        rightLabel?: {
            label: string;
            variant?: import("../fmtree/type").TreeNodeRightLabelVariant | undefined;
            onClick?: (() => void) | undefined;
        } | undefined;
        actions?: {
            id: string;
            icon: string;
            disabled?: boolean | undefined;
            showOnHover?: boolean | undefined;
            tooltip?: string | undefined;
            onClick?: (() => void) | undefined;
        }[] | undefined;
        highlightedStrings?: string[] | undefined;
        disabled?: boolean | undefined;
        draggable?: boolean | undefined;
        alignDrag?: boolean | undefined;
        onClick?: (() => void) | undefined;
        meta?: {
            nodeType: import("../composable/tree").TreeNodeType.ITEM;
            rawId: string;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.CATEGORY;
            rawId: string | null;
            rawObject: any;
        } | {
            nodeType: import("../composable/tree").TreeNodeType.SUB_CATEGORY;
            rawId: string;
            rawObject?: undefined;
        } | undefined;
    }[]>;
    selectedNodeId: import("vue").Ref<string | null, string | null>;
    expandedNodeIds: import("vue").Ref<string[], string[]>;
    setTreeNodes: (nodes: MenuTreeNodeWithChildren[]) => void;
    setSelectedNodeId: (nodeId: string | null) => void;
    setSelectedNodeByItemId: (itemId: string | null) => void;
    setExpandedNodeIds: (nodeIds: string[]) => void;
    collapseAllNodes: () => Promise<void>;
    expandAllNodes: () => void;
    getNodeById: (id: string) => MenuTreeNodeWithChildren | undefined;
}, "setTreeNodes" | "setSelectedNodeId" | "setSelectedNodeByItemId" | "setExpandedNodeIds" | "collapseAllNodes" | "expandAllNodes" | "getNodeById">>;
