/// <reference types="node" />
import React from 'react';
export declare const Component: {
    new <P = {}, V = {}>(props: P | Readonly<P>): {
        $isMounted: boolean;
        forceUpdateTimer: NodeJS.Timeout;
        componentDidMount(): void;
        componentWillUnmount(): void;
        setState(...args: any[]): void;
        forceUpdate(): void;
        context: any;
        render(): React.ReactNode;
        readonly props: Readonly<P> & Readonly<{
            children?: React.ReactNode;
        }>;
        state: Readonly<V>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        shouldComponentUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): boolean;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<P>, prevState: Readonly<V>): any;
        componentDidUpdate?(prevProps: Readonly<P>, prevState: Readonly<V>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): void;
    };
    new <P = {}, V = {}>(props: P, context: any): {
        $isMounted: boolean;
        forceUpdateTimer: NodeJS.Timeout;
        componentDidMount(): void;
        componentWillUnmount(): void;
        setState(...args: any[]): void;
        forceUpdate(): void;
        context: any;
        render(): React.ReactNode;
        readonly props: Readonly<P> & Readonly<{
            children?: React.ReactNode;
        }>;
        state: Readonly<V>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        shouldComponentUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): boolean;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<P>, prevState: Readonly<V>): any;
        componentDidUpdate?(prevProps: Readonly<P>, prevState: Readonly<V>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): void;
    };
    contextType?: React.Context<any> | undefined;
};
export declare const PureComponent: {
    new <P = {}, V = {}>(props: P | Readonly<P>): {
        $isMounted: boolean;
        forceUpdateTimer: NodeJS.Timeout;
        componentDidMount(): void;
        componentWillUnmount(): void;
        setState(...args: any[]): void;
        forceUpdate(): void;
        context: any;
        render(): React.ReactNode;
        readonly props: Readonly<P> & Readonly<{
            children?: React.ReactNode;
        }>;
        state: Readonly<V>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        shouldComponentUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): boolean;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<P>, prevState: Readonly<V>): any;
        componentDidUpdate?(prevProps: Readonly<P>, prevState: Readonly<V>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): void;
    };
    new <P = {}, V = {}>(props: P, context: any): {
        $isMounted: boolean;
        forceUpdateTimer: NodeJS.Timeout;
        componentDidMount(): void;
        componentWillUnmount(): void;
        setState(...args: any[]): void;
        forceUpdate(): void;
        context: any;
        render(): React.ReactNode;
        readonly props: Readonly<P> & Readonly<{
            children?: React.ReactNode;
        }>;
        state: Readonly<V>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        shouldComponentUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): boolean;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<P>, prevState: Readonly<V>): any;
        componentDidUpdate?(prevProps: Readonly<P>, prevState: Readonly<V>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<V>, nextContext: any): void;
    };
    contextType?: React.Context<any> | undefined;
};
