import { HTMLProps, ReactNode } from 'react';
import { TypeValueLabelType } from './JsonViewer.types';
import * as themes from "./themes";
export declare const getTypeOfTheValue: (value: unknown) => TypeValueLabelType;
/**
* The `JsonViewer` component provides a structured visualization of JSON data,
* with support for syntax highlighting, collapsible elements, and search functionality.
* Tailorable themes and display settings are available for user customization.
* @see https://cloudoperators.github.io/juno/?path=/docs/components-jsonviewer--docs
* @see {@link JsonViewerProps}
*/
export declare const JsonViewer: ({ data, showRoot, toolbar, theme, expanded, indentWidth, style, truncate, className, ...props }: JsonViewerProps) => ReactNode;
type ThemeType = "dark" | "light";
export interface JsonViewerProps extends Omit, "data"> {
/**
* JSON data to render; essential for visualizing complex structures.
*/
data: string | object | object[];
/** Pass a styles object for inline customizations. */
style?: object;
/**
* Toggles toolbar display, including expansion and search functionalities.
* @default false
*/
toolbar?: boolean;
/**
* Displays the root node key for hierarchical clarity.
* @default false
*/
showRoot?: boolean;
/** Preset theme (dark/light) or map of colors for custom styling.
* @param dark dark theme
* @param light light theme
* @param base00 background
* @param base01 NOT used
* @param base02 border, NaN,null, undefined background
* @param base03 NOT used
* @param base04 size (x items)
* @param base05 type "undefined"
* @param base06 NOT used
* @param base07 key, brace
* @param base08 type "NaN"
* @param base09 ellipsis (...), type "string"
* @param base0A types: "null", "regex"
* @param base0B type "float"
* @param base0C index
* @param base0D expanded icon, types: "date", "function"
* @param base0E collapsed icon, types: "boolean"
* @param base0F copy icon, type "integer"
*/
theme?: themes.JsonViewerTheme | ThemeType;
/**
* Default expansion level for JSON objects, set as true, false, or a numeric level.
* @default 1
*/
expanded?: boolean | number;
/**
* Max length for truncating strings within displayed JSON data; defaults to 100 characters if true.
*/
truncate?: boolean | number;
/**
* Pixel width for indentation.
* @default 4
*/
indentWidth?: number;
/**
* Additional CSS classes for styled customization.
* @default ""
*/
className?: string;
}
export {};
//# sourceMappingURL=JsonViewer.component.d.ts.map