import * as React from 'react';
import { DataSourcePropOnTreeSelectionChange_MultiNode, InfiniteTableProps, TreeDataSourceProps } from '../../InfiniteTable';
export type TreeListItem<T = any> = {
    id: string | number;
    label: string;
    children?: TreeListItem<T>[];
};
export type TreeListProps<T extends TreeListItem<T>> = {
    options: T[];
    debugId?: string;
    primaryKey?: keyof T;
    domProps?: InfiniteTableProps<T>['domProps'];
    style?: React.CSSProperties;
    rowHeight?: number | string;
    treeSelection?: TreeDataSourceProps<T>['treeSelection'];
    defaultTreeSelection?: TreeDataSourceProps<T>['defaultTreeSelection'];
    onTreeSelectionChange?: DataSourcePropOnTreeSelectionChange_MultiNode;
    defaultTreeExpandState?: TreeDataSourceProps<T>['defaultTreeExpandState'];
    onTreeExpandStateChange?: TreeDataSourceProps<T>['onTreeExpandStateChange'];
    columns?: InfiniteTableProps<T>['columns'];
    columnHeaderHeight?: number | string;
    onReady?: InfiniteTableProps<T>['onReady'];
    treeFilterFunction?: TreeDataSourceProps<T>['treeFilterFunction'];
};
export declare function TreeList<T extends TreeListItem<T>>(props: TreeListProps<T>): React.JSX.Element;
