import type { HTMLAttributes, ReactNode } from 'react';
export type JsonViewerProps = JsonViewer & JsonViewerEvents & {
index: number;
onClose: () => void;
isWindowMinimized?: boolean;
windowOrder?: number;
};
export interface AnimatedButtonProps extends HTMLAttributes {
label?: ReactNode;
icon?: string;
disableAnimation?: boolean;
}
export type JsonViewer = {
json: Record;
requestJson?: Record;
};
export type JsonViewerEvents = {
onJsonRequestOpen?: () => void;
onJsonSearch?: () => void;
onJsonCopy?: () => void;
onJsonIdCopy?: () => void;
onJsonNodesMinimize?: () => void;
onJsonNodesMaximize?: () => void;
};
export type JsonViewerContext = {
jsonViewerList: JsonViewer[];
handleJsonViewerDialogOpen: (jsonViewer: JsonViewer) => void;
handleWindowMinimize: (value: boolean) => void;
handleWindowOrder: (value: number) => void;
/** Registers the active consumer's analytics handlers with the provider. */
registerJsonViewerEvents: (events: JsonViewerEvents) => void;
};