import React from 'react'; import PropTypes from 'prop-types'; import { JSONElement } from '@splunk/react-ui/JSONTree'; import { TreeItemPropsBase } from '@splunk/react-ui/Tree'; import { ComponentProps } from '../utils/types'; export type ExpandLinkRenderer = (params: { onToggleExpansion: (event: React.KeyboardEvent | React.MouseEvent, data?: { treeItemId?: string; }) => void; open: boolean; withTooltip: boolean; expandLinkRef: React.RefObject; }) => { expandLink: JSX.Element; }; interface JSONTreeItemPropsBase extends TreeItemPropsBase { clickableKeyRef?: React.RefObject | undefined; clickableValRef?: React.RefObject | undefined; hasChildren?: boolean; indentArray?: string[]; index: number; initialOpenState: boolean; isRoot?: boolean; properties?: string[]; propertyDataPath: string; propertyElement?: JSX.Element | undefined; renderExpandLink?: ExpandLinkRenderer; representation?: JSX.Element | JSX.Element[]; value?: JSONElement; } type JSONTreeItemProps = ComponentProps; export declare function JSONTreeItem({ clickableKeyRef, clickableValRef, hasChildren, indentArray, index, initialOpenState, isRoot, onFocus, properties, propertyDataPath, propertyElement, renderExpandLink, representation, value, ...otherProps }: JSONTreeItemProps): React.JSX.Element; export declare namespace JSONTreeItem { var propTypes: { clickableKeyRef: PropTypes.Requireable; clickableValRef: PropTypes.Requireable; hasChildren: PropTypes.Requireable; indentArray: PropTypes.Requireable<(string | null | undefined)[]>; index: PropTypes.Requireable; initialOpenState: PropTypes.Requireable; isRoot: PropTypes.Requireable; properties: PropTypes.Requireable<(string | null | undefined)[]>; propertyDataPath: PropTypes.Requireable; propertyElement: PropTypes.Requireable; renderExpandLink: PropTypes.Requireable<(...args: any[]) => any>; representation: PropTypes.Requireable; value: PropTypes.Requireable>; }; } export {};