import React from 'react'; export declare type VariableType = 'category' | 'string' | 'number' | 'date' | 'longitude'; export interface Variables { id: string; providerLabel: string; displayName: string; type: VariableType; isContinuous?: boolean; precision?: number; units?: string; isMultiValued: boolean; } export interface StudyData { id: string; displayName: string; displayNamePlural?: string; description: string; children?: this[]; isManyToOneWithParent?: boolean; variables: Variables[]; } export declare type EntityCounts = Record; export declare type Orientation = 'horizontal' | 'vertical'; export interface EntityDiagramProps { /** Data that defines the tree structure */ treeData: StudyData; /** Which direction the tree is oriented */ orientation: Orientation; /** Whether the diagram is expanded */ isExpanded: boolean; /** Array of entity IDs that have filters applied */ filteredEntities?: string[]; /** The tree's dimensions. If the tree is horizontal, it may not take up the * whole height; if it's vertical, it may not take up the full width. */ size: { height: number; width: number; }; /** Which entity to highlight */ highlightedEntityID?: string; /** Counts used for red/gray bar and display */ entityCounts?: EntityCounts; /** An optional function returning the element to render for a node given its * data */ renderNode?: (node: StudyData, children?: React.ReactNode) => React.ReactElement | null; selectedTextBold?: boolean; selectedBorderWeight?: number; selectedHighlightWeight?: number; selectedHighlightColor?: string; shadowDx?: number; shadowDy?: number; shadowDispersion?: number; shadowOpacity?: number; miniNodeWidth?: number; miniNodeHeight?: number; expandedNodeWidth?: number; expandedNodeHeight?: number; fontSize?: number; shadingColor?: string; } export default function EntityDiagram({ treeData, orientation, isExpanded, highlightedEntityID, filteredEntities, entityCounts, renderNode, size, selectedTextBold, selectedBorderWeight, selectedHighlightWeight, selectedHighlightColor, shadowDx, shadowDy, shadowDispersion, shadowOpacity, miniNodeWidth, miniNodeHeight, expandedNodeWidth, expandedNodeHeight, fontSize, shadingColor, }: EntityDiagramProps): JSX.Element; //# sourceMappingURL=EntityDiagram.d.ts.map