import * as React from 'react'; import { State, IdReducerFunctions, Modifier, Nullish } from '@table-library/react-table-library/types/common'; import { TableNode, GetRowProps, CellProps } from '@table-library/react-table-library/types/table'; export declare enum TreeExpandClickTypes { RowClick = 0, ButtonClick = 1 } export declare type CustomIcon = React.ReactElement | ((node: T) => React.ReactElement) | Nullish; export declare type TreeOptionsIcon = { margin?: string; size?: string; noIconMargin?: string; iconDefault?: CustomIcon; iconRight?: CustomIcon; iconDown?: CustomIcon; }; export declare type TreeOptions = { isServer?: boolean; treeIcon?: TreeOptionsIcon; clickType?: TreeExpandClickTypes; indentation?: number; treeXLevel?: number; treeYLevel?: number; }; export declare type TreeOptionsIconSound = { margin: string; size: string; noIconMargin: string; iconDefault: CustomIcon; iconRight: CustomIcon; iconDown: CustomIcon; }; export declare type TreeOptionsSound = { isServer: boolean; treeIcon: TreeOptionsIconSound; clickType: TreeExpandClickTypes; indentation: number; treeXLevel: number; treeYLevel: number; }; export declare type ColumnTreePropsObject = { treeIcon?: TreeOptionsIcon; }; export declare type ColumnTreeProps = ColumnTreePropsObject | boolean; export declare type CellTreeProps = { item: T; treeIcon?: TreeOptionsIcon; children?: React.ReactNode; } & CellProps; export declare type Tree = { state: State; fns: IdReducerFunctions; options: TreeOptionsSound; _getRowProps: GetRowProps; modifier: Modifier; components: { CellTree: React.FunctionComponent>; }; };