import React from 'react'; import { Base16Theme } from 'redux-devtools-themes'; import { LiftedAction, LiftedState } from 'redux-devtools'; import { Action, Dispatch } from 'redux'; import { DiffContext } from 'jsondiffpatch'; import { base16Themes } from './utils/createStylingFromTheme'; import { Tab } from './ActionPreview'; import { DevtoolsInspectorAction, DevtoolsInspectorState } from './redux'; interface ExternalProps> { dispatch: Dispatch>; preserveScrollTop?: boolean; draggableActions: boolean; select: (state: S) => unknown; theme: keyof typeof base16Themes | Base16Theme; supportImmutable: boolean; diffObjectHash?: (item: unknown, index: number) => string; diffPropertyFilter?: (name: string, context: DiffContext) => boolean; hideMainButtons?: boolean; hideActionButtons?: boolean; invertTheme: boolean; dataTypeKey?: string; tabs: Tab[] | ((tabs: Tab[]) => Tab[]); } interface DefaultProps { select: (state: unknown) => unknown; supportImmutable: boolean; draggableActions: boolean; theme: keyof typeof base16Themes; invertTheme: boolean; } export interface DevtoolsInspectorProps> extends LiftedState { dispatch: Dispatch>; preserveScrollTop?: boolean; draggableActions: boolean; select: (state: S) => unknown; theme: keyof typeof base16Themes | Base16Theme; supportImmutable: boolean; diffObjectHash?: (item: unknown, index: number) => string; diffPropertyFilter?: (name: string, context: DiffContext) => boolean; hideMainButtons?: boolean; hideActionButtons?: boolean; invertTheme: boolean; dataTypeKey?: string; tabs: Tab[] | ((tabs: Tab[]) => Tab[]); } declare const _default: (React.ComponentClass>, any> & { update(monitorProps: ExternalProps>, state: DevtoolsInspectorState | undefined, action: DevtoolsInspectorAction): DevtoolsInspectorState; defaultProps: DefaultProps; }) | (React.FunctionComponent>> & { update(monitorProps: ExternalProps>, state: DevtoolsInspectorState | undefined, action: DevtoolsInspectorAction): DevtoolsInspectorState; defaultProps: DefaultProps; }); export default _default;