import React, { Component } from 'react'; import type { Base16Theme } from 'react-base16-styling'; import { Action } from 'redux'; import type { LabelRenderer } from 'react-json-tree'; import { PerformAction } from '@redux-devtools/core'; import type { Delta } from 'jsondiffpatch'; import type { JSX } from '@emotion/react/jsx-runtime'; import { DevtoolsInspectorState } from './redux.js'; export interface TabComponentProps> { labelRenderer: LabelRenderer; computedStates: { state: S; error?: string; }[]; actions: { [actionId: number]: PerformAction; }; selectedActionId: number | null; startActionId: number | null; currentActionId: number; base16Theme: Base16Theme; invertTheme: boolean; isWideLayout: boolean; sortStateTreeAlphabetically: boolean; disableStateTreeCollection: boolean; dataTypeKey: string | symbol | undefined; delta: Delta | null | undefined | false; action: A; nextState: S; monitorState: DevtoolsInspectorState; updateMonitorState: (monitorState: Partial) => void; } export interface Tab> { name: string; component: React.ComponentType>; } interface Props> { base16Theme: Base16Theme; invertTheme: boolean; isWideLayout: boolean; tabs: Tab[] | ((tabs: Tab[]) => Tab[]); tabName: string; delta: Delta | null | undefined | false; error: string | undefined; nextState: S; computedStates: { state: S; error?: string; }[]; action: A; actions: { [actionId: number]: PerformAction; }; selectedActionId: number | null; startActionId: number | null; currentActionId: number; dataTypeKey: string | symbol | undefined; monitorState: DevtoolsInspectorState; updateMonitorState: (monitorState: Partial) => void; onInspectPath: (path: (string | number)[]) => void; inspectedPath: (string | number)[]; onSelectTab: (tabName: string) => void; sortStateTreeAlphabetically: boolean; disableStateTreeCollection: boolean; } declare class ActionPreview> extends Component> { static defaultProps: { tabName: string; }; render(): JSX.Element; labelRenderer: LabelRenderer; } export default ActionPreview;