import { MouseEventHandler, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { Base16Theme } from 'redux-devtools-themes';
import { Action } from 'redux';
interface Props<S, A extends Action<unknown>> {
    theme: Base16Theme;
    select: (state: any) => unknown;
    action: A;
    actionId: number;
    state: S;
    previousState: S | undefined;
    collapsed: boolean;
    inFuture: boolean;
    selected: boolean;
    error: string | undefined;
    expandActionRoot: boolean;
    expandStateRoot: boolean;
    markStateDiff: boolean;
    onActionClick: (id: number) => void;
    onActionShiftClick: (id: number) => void;
}
export default class LogMonitorEntry<S, A extends Action<unknown>> extends PureComponent<Props<S, A>> {
    static propTypes: {
        state: PropTypes.Validator<object>;
        action: PropTypes.Validator<object>;
        actionId: PropTypes.Validator<number>;
        select: PropTypes.Validator<(...args: any[]) => any>;
        inFuture: PropTypes.Requireable<boolean>;
        error: PropTypes.Requireable<string>;
        onActionClick: PropTypes.Validator<(...args: any[]) => any>;
        onActionShiftClick: PropTypes.Validator<(...args: any[]) => any>;
        collapsed: PropTypes.Requireable<boolean>;
        selected: PropTypes.Requireable<boolean>;
        expandActionRoot: PropTypes.Requireable<boolean>;
        expandStateRoot: PropTypes.Requireable<boolean>;
        previousState: PropTypes.Requireable<object>;
    };
    printState(state: S, error: string | undefined): JSX.Element;
    handleActionClick: MouseEventHandler<HTMLDivElement>;
    shouldExpandNode: (keyPath: (string | number)[], data: any, level: number) => boolean;
    render(): JSX.Element;
}
export {};
