import * as react_jsx_runtime from 'react/jsx-runtime'; import * as React from 'react'; interface TreeProps { 'aria-label'?: string; 'aria-labelledby'?: string; children: React.ReactNode; open?: boolean; dropDownIcon?: React.ReactNode; className?: string; } declare const Tree: (props: TreeProps) => react_jsx_runtime.JSX.Element; interface TreeItemProps { itemType: 'leaf' | 'branch'; children: React.ReactNode; className?: string; } declare const TreeItem: ({ itemType, children, className, }: TreeItemProps) => react_jsx_runtime.JSX.Element; interface TreeItemLayoutProps extends React.HTMLAttributes { children: React.ReactNode; className?: string; } declare const TreeItemLayout: ({ children, className, ...props }: TreeItemLayoutProps) => react_jsx_runtime.JSX.Element; type TreeData = Record>; interface TreeWithJsonProps extends RenderTreeProps { } declare const TreeWithJson: ({ treeProps, ...renderTreeProps }: TreeWithJsonProps) => react_jsx_runtime.JSX.Element; interface getTreeItemLayoutPropsParams { level: number; key: string; value: TreeData; itemType: 'leaf' | 'branch'; } interface RenderTreeItemProps { level: number; key: string; value: TreeData; itemType: 'leaf' | 'branch'; keyPath: string[]; } interface RenderTreeProps { data: TreeData; renderTreeItem: (params: RenderTreeItemProps) => React.ReactNode; getTreeItemLayoutProps?: (params: getTreeItemLayoutPropsParams) => Omit; treeItemProps?: Omit; treeProps?: Omit; checkIsLeaf?: (value: TreeData) => boolean; } interface TreeItemContextValue { itemType: 'leaf' | 'branch'; isOpen: boolean; onToggle: () => void; level: number; } declare const TreeItemContext: React.Context; declare const useTreeItemContext: () => TreeItemContextValue; interface RootTreeContextValue { open?: boolean; dropDownIcon?: React.ReactNode; } declare const RootTreeContext: React.Context; declare const useRootTreeContext: () => RootTreeContextValue; interface SubTreeContextValue { dropDownIcon?: React.ReactNode; } declare const SubTreeContext: React.Context; declare const useSubTreeContext: () => SubTreeContextValue; interface TreeLevelContextValue { level: number; } declare const TreeLevelContext: React.Context; declare const useTreeLevelContext: () => TreeLevelContextValue; export { type RenderTreeProps, RootTreeContext, type RootTreeContextValue, SubTreeContext, type SubTreeContextValue, Tree, type TreeData, TreeItem, TreeItemContext, type TreeItemContextValue, TreeItemLayout, type TreeItemLayoutProps, type TreeItemProps, TreeLevelContext, type TreeLevelContextValue, type TreeProps, TreeWithJson, type TreeWithJsonProps, useRootTreeContext, useSubTreeContext, useTreeItemContext, useTreeLevelContext };