import { type Component, type HTMLAttributes, type VNode } from 'vue';
import { type TreeViewDataItem } from './common';
export type { TreeViewDataItem, TreeViewCheckAttrs } from './common';
interface Props extends /* @vue-ignore */ Omit {
/** Data of the tree view. */
data: TreeViewDataItem[];
/** Active items of tree view. */
activeItems?: TreeViewDataItem[];
/** Sets the expanded state on all tree nodes, overriding default behavior and current internal state. */
allExpanded?: boolean;
/** Sets the default expanded behavior. */
defaultAllExpanded?: boolean;
/** Comparison function for determining active items. Defaults to comparing the ids. */
compareItems?: (item: TreeViewDataItem, itemToCheck: TreeViewDataItem) => boolean;
/** Flag indicating if all nodes in the tree view should have badges. */
badges?: boolean;
/** Flag indicating if all nodes in the tree view should have checkboxes. */
checkboxes?: boolean;
/** Flag indicating if the tree view has guide lines. */
guides?: boolean;
/** Flag indicating that tree nodes should be independently selectable, even when having children. */
selectableNodes?: boolean;
/** Flag indicating whether multiple nodes can be selected in the tree view, setting aria-multiselectable on the tree. */
multiSelectable?: boolean;
/** Icon for all leaf or unexpanded node items. */
icon?: Component;
/** Icon for all expanded node items. */
expandedIcon?: Component;
/** ID of the root tree view list. */
rootListId?: string;
/** Variant presentation styles for the tree view. */
variant?: 'default' | 'compact' | 'compactNoBackground';
/** Flag indicating whether a tree view has animations. The nested items are always rendered, and inert while collapsed. */
animations?: boolean;
/** A text string that sets the accessible name of the tree view list. Either this or ariaLabelledby must be set. */
ariaLabel?: string;
/** A space separated list of element id's that sets the accessible name of the tree view list. */
ariaLabelledby?: string;
}
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots any;
expand: (event: Event, item: TreeViewDataItem, parentItem: TreeViewDataItem | undefined) => any;
collapse: (event: Event, item: TreeViewDataItem, parentItem: TreeViewDataItem | undefined) => any;
check: (event: Event, item: TreeViewDataItem, parentItem: TreeViewDataItem | undefined) => any;
}, string, import("vue").PublicProps, Readonly & Readonly<{
onSelect?: ((event: Event, item: TreeViewDataItem, parentItem: TreeViewDataItem | undefined) => any) | undefined;
onExpand?: ((event: Event, item: TreeViewDataItem, parentItem: TreeViewDataItem | undefined) => any) | undefined;
onCollapse?: ((event: Event, item: TreeViewDataItem, parentItem: TreeViewDataItem | undefined) => any) | undefined;
onCheck?: ((event: Event, item: TreeViewDataItem, parentItem: TreeViewDataItem | undefined) => any) | undefined;
}>, {
variant: "default" | "compact" | "compactNoBackground";
allExpanded: boolean;
compareItems: (item: TreeViewDataItem, itemToCheck: TreeViewDataItem) => boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
/** Toolbar displayed above the tree view, such as a pf-tree-view-search */
toolbar?: (props?: Record) => VNode[];
/** Action of an item, such as a button or a dropdown, rendered beside every item that the slot renders content for */
action?: (props: {
item: TreeViewDataItem;
parentItem: TreeViewDataItem | undefined;
}) => VNode[];
}>;
type __VLS_WithSlots = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=TreeView.vue.d.ts.map