import type { FlatTreeLineState } from './flatten-tree-data/flatten-tree-data';
import type { RenderNode, TreeNodeData } from './Tree';
import type { TreeController } from './use-tree';
export interface FlatTreeNodeProps {
    /** Node data from tree data */
    node: TreeNodeData;
    /** Nesting level of the node, starts at 1 */
    level: number;
    /** Value of the parent node, `null` for root nodes */
    parent: string | null;
    /** Whether the node has children */
    hasChildren: boolean;
    /** Whether the node is expanded */
    expanded: boolean;
    /** Tree controller instance, return value of `useTree` hook */
    tree: TreeController;
    /** If set, tree node with children is expanded on click @default true */
    expandOnClick?: boolean;
    /** If set, tree node is selected on click @default false */
    selectOnClick?: boolean;
    /** If set, tree node with children is expanded on space key press @default true */
    expandOnSpace?: boolean;
    /** If set, tree node is checked on space key press @default false */
    checkOnSpace?: boolean;
    /** A function to render tree node label */
    renderNode?: RenderNode;
    /** Style to apply to the root element, used for virtualizer positioning */
    style?: React.CSSProperties;
    /** Tab index for the node */
    tabIndex?: number;
    /** Line state per ancestor + own level, computed by `flattenTreeData`.
     * When provided and the tree root has `data-with-lines`, connector lines are rendered. */
    linesPath?: FlatTreeLineState[];
}
export declare const FlatTreeNode: import("react").MemoExoticComponent<({ node, level, parent, hasChildren, expanded, tree, expandOnClick, selectOnClick, expandOnSpace, checkOnSpace, renderNode, style, tabIndex, linesPath, }: FlatTreeNodeProps) => import("react/jsx-runtime").JSX.Element>;
