import React, { Component } from 'react'; import { Base16Theme } from 'redux-devtools-themes'; import { Action } from 'redux'; import { StylingFunction } from 'react-base16-styling'; import { PerformAction } from 'redux-devtools'; import { Delta } from 'jsondiffpatch'; import { DevtoolsInspectorState } from './redux'; export interface TabComponentProps> { labelRenderer: (keyPath: (string | number)[], nodeType: string, expanded: boolean, expandable: boolean) => React.ReactNode; styling: StylingFunction; computedStates: { state: S; error?: string; }[]; actions: { [actionId: number]: PerformAction; }; selectedActionId: number | null; startActionId: number | null; base16Theme: Base16Theme; invertTheme: boolean; isWideLayout: boolean; dataTypeKey: string | 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; dataTypeKey: string | undefined; monitorState: DevtoolsInspectorState; updateMonitorState: (monitorState: Partial) => void; styling: StylingFunction; onInspectPath: (path: (string | number)[]) => void; inspectedPath: (string | number)[]; onSelectTab: (tabName: string) => void; } declare class ActionPreview> extends Component> { static defaultProps: { tabName: string; }; render(): JSX.Element; labelRenderer: ([key, ...rest]: (string | number)[], nodeType: string, expanded: boolean) => JSX.Element; } export default ActionPreview;