import type { Ref, ComponentType, ReactNode } from 'react'; import type { BaseProps, NoChildrenProp, ForwardProps, OmitStrict, TestIdProp } from '../../types'; export type TreeNode = { /** The id of the Node. Used as the key for the li element wrapping the Node. */ id: string; /** Child nodes. */ nodes?: TreeNode[]; /** Props to apply to the li. */ listItemProps?: ForwardProps; [key: string]: unknown; }; export interface TreeProps extends BaseProps, NoChildrenProp, TestIdProp { /** An array of ParentNodes and Nodes that compose the layout of the Tree. */ nodes: T[]; /** A function that allows custom styling and behavior for all Nodes. */ nodeRenderer?: ComponentType<{ depth: number; subTree?: ReactNode; hasParentSibling: TreeItemProps['hasParentSibling']; } & OmitStrict>; /** Ref for the wrapping element. */ ref?: Ref; } export declare const StyledTreeListItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit, HTMLLIElement>, never>> & string; export declare const StyledTreeList: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit, HTMLUListElement>, never>> & string; interface TreeItemProps extends TreeNode { nodeRenderer: NonNullable; depth: number; hasParentSibling: boolean; } declare const _default: ((props: TreeProps & ForwardProps) => JSX.Element | null) & { getTestIds: (testIdProp?: TestIdProp["testId"]) => import("../../types").TestIdsRecord; }; export default _default; //# sourceMappingURL=Tree.d.ts.map