import React from 'react'; import PropTypes from 'prop-types'; import type { StylingFunction, StylingValue, Theme } from 'react-base16-styling'; import { CircularPropsPassedThroughJSONTree } from './types'; interface Props extends CircularPropsPassedThroughJSONTree { data: any; theme?: Theme; invertTheme: boolean; } interface State { styling: StylingFunction; } export declare class JSONTree extends React.Component { static propTypes: { data: PropTypes.Requireable; hideRoot: PropTypes.Requireable; theme: PropTypes.Requireable; invertTheme: PropTypes.Requireable; keyPath: PropTypes.Requireable<(string | number | null | undefined)[]>; postprocessValue: PropTypes.Requireable<(...args: any[]) => any>; sortObjectKeys: PropTypes.Requireable any)>; }; static defaultProps: { shouldExpandNode: (keyPath: (string | number)[], data: any, level: number) => boolean; hideRoot: boolean; keyPath: string[]; getItemString: (type: string, data: any, itemType: React.ReactNode, itemString: string) => JSX.Element; labelRenderer: ([label]: (string | number)[]) => JSX.Element; valueRenderer: (value: any) => any; postprocessValue: (value: any) => any; isCustomNode: () => boolean; collectionLimit: number; invertTheme: boolean; }; constructor(props: Props); UNSAFE_componentWillReceiveProps(nextProps: Props): void; shouldComponentUpdate(nextProps: Props): boolean; render(): JSX.Element; } export { StylingValue };