/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import type { MouseEventHandler } from "react";
import React from "react";
import type { StrictReactNode } from "@openlens/utilities";
export interface TreeViewClasses {
    root?: string;
}
export interface TreeViewProps {
    classes?: TreeViewClasses;
    children: StrictReactNode;
}
export declare function TreeView(props: TreeViewProps): React.JSX.Element;
export interface TreeItemClasses {
    root?: string;
    label?: string;
    selected?: string;
    hover?: string;
    iconContainer?: string;
}
export interface TreeItemProps {
    classes?: TreeItemClasses;
    icon?: JSX.Element;
    label: JSX.Element | string;
    "data-testid"?: string;
    selected?: boolean;
    onClick?: MouseEventHandler;
}
export declare function TreeItem(props: TreeItemProps): React.JSX.Element;
export interface TreeGroupClasses {
    root?: string;
    group?: string;
    iconContainer?: string;
    label?: string;
    contents?: string;
}
export interface TreeGroupProps {
    classes?: TreeGroupClasses;
    children?: JSX.Element[] | JSX.Element;
    defaultExpanded?: boolean;
    label: JSX.Element | string;
    "data-testid"?: string;
    collapseIcon?: JSX.Element;
    expandIcon?: JSX.Element;
}
export declare function TreeGroup(props: TreeGroupProps): React.JSX.Element;
