import React from 'react'; import PropTypes from 'prop-types'; import { EnhancedStore, LiftedState, LiftedStore, Options } from 'redux-devtools-instrument'; import { Action } from 'redux'; export interface Props, MonitorState, MonitorAction extends Action> { store?: EnhancedStore; } export declare type Monitor, MonitorProps extends LiftedState, MonitorState, MonitorAction extends Action> = React.ReactElement> & { update(monitorProps: MonitorProps, state: MonitorState | undefined, action: MonitorAction): MonitorState; }>; export default function createDevTools, MonitorProps extends LiftedState, MonitorState, MonitorAction extends Action>(children: Monitor): { new (props: Props, context: { store?: EnhancedStore; }): { liftedStore?: LiftedStore | undefined; render(): JSX.Element | null; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly> & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly>, nextState: Readonly<{}>, nextContext: any): void; }; contextTypes: { store: PropTypes.Requireable; }; propTypes: { store: PropTypes.Requireable; }; instrument: (options?: Options | undefined) => import("redux").StoreEnhancer, {}>; contextType?: React.Context | undefined; };