import { TreeNode } from '../types'; interface Props { nodes: TreeNode[]; defaultExpandedIds?: string[]; expandAll?: boolean; showIcons?: boolean; showCounts?: boolean; maxDepth?: number; size?: 'sm' | 'md' | 'lg'; /** Replace the tree with a loading placeholder. */ loading?: boolean; /** * Error message. When set, the tree is replaced by an error state. * `null`/`undefined` renders normally. */ error?: string | null; /** * Selected node id; bind it with v-model on selected-id. Binding it, even to * `null`, turns on selection. The matching row is highlighted, rows take * keyboard focus and Enter or Space selects. Left unbound, rows are not selectable. */ selectedId?: string | null; } declare var __VLS_1: { error: string; }, __VLS_8: {}, __VLS_15: {}; type __VLS_Slots = {} & { error?: (props: typeof __VLS_1) => any; } & { loading?: (props: typeof __VLS_8) => any; } & { empty?: (props: typeof __VLS_15) => any; }; declare const __VLS_base: import('vue').DefineComponent any; "node-click": (node: TreeNode) => any; expand: (nodeId: string) => any; "update:selectedId": (nodeId: string) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ onCollapse?: ((nodeId: string) => any) | undefined; "onNode-click"?: ((node: TreeNode) => any) | undefined; onExpand?: ((nodeId: string) => any) | undefined; "onUpdate:selectedId"?: ((nodeId: string) => any) | undefined; }>, { error: string | null; size: "sm" | "md" | "lg"; loading: boolean; showCounts: boolean; defaultExpandedIds: string[]; expandAll: boolean; showIcons: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };