import * as React from 'react'; export declare const SafeReact: { createFactory(type: keyof React.ReactHTML): React.HTMLFactory; createFactory(type: keyof React.ReactSVG): React.SVGFactory; createFactory

, T extends Element>(type: string): React.DOMFactory; createFactory

(type: React.FunctionComponent

): React.FunctionComponentFactory

; createFactory

(type: React.ClassType, React.ClassicComponentClass

>): React.CFactory>; createFactory, C extends React.ComponentClass

>(type: React.ClassType): React.CFactory; createFactory

(type: React.ComponentClass

): React.Factory

; createElement(type: "input", props?: (React.InputHTMLAttributes & React.ClassAttributes) | null, ...children: React.ReactNode[]): React.DetailedReactHTMLElement, HTMLInputElement>; createElement

, T extends HTMLElement>(type: keyof React.ReactHTML, props?: (React.ClassAttributes & P) | null, ...children: React.ReactNode[]): React.DetailedReactHTMLElement; createElement

, T extends SVGElement>(type: keyof React.ReactSVG, props?: (React.ClassAttributes & P) | null, ...children: React.ReactNode[]): React.ReactSVGElement; createElement

, T extends Element>(type: string, props?: (React.ClassAttributes & P) | null, ...children: React.ReactNode[]): React.DOMElement; createElement

(type: React.FunctionComponent

, props?: (React.Attributes & P) | null, ...children: React.ReactNode[]): React.FunctionComponentElement

; createElement

(type: React.ClassType, React.ClassicComponentClass

>, props?: (React.ClassAttributes> & P) | null, ...children: React.ReactNode[]): React.CElement>; createElement

, C extends React.ComponentClass

>(type: React.ClassType, props?: (React.ClassAttributes & P) | null, ...children: React.ReactNode[]): React.CElement; createElement

(type: React.FunctionComponent

| React.ComponentClass

| string, props?: (React.Attributes & P) | null, ...children: React.ReactNode[]): React.ReactElement

; cloneElement

, T extends HTMLElement>(element: React.DetailedReactHTMLElement, props?: P, ...children: React.ReactNode[]): React.DetailedReactHTMLElement; cloneElement

, T extends HTMLElement>(element: React.ReactHTMLElement, props?: P, ...children: React.ReactNode[]): React.ReactHTMLElement; cloneElement

, T extends SVGElement>(element: React.ReactSVGElement, props?: P, ...children: React.ReactNode[]): React.ReactSVGElement; cloneElement

, T extends Element>(element: React.DOMElement, props?: React.DOMAttributes & P, ...children: React.ReactNode[]): React.DOMElement; cloneElement

(element: React.FunctionComponentElement

, props?: Partial

& React.Attributes, ...children: React.ReactNode[]): React.FunctionComponentElement

; cloneElement>(element: React.CElement, props?: Partial

& React.ClassAttributes, ...children: React.ReactNode[]): React.CElement; cloneElement

(element: React.ReactElement

, props?: Partial

& React.Attributes, ...children: React.ReactNode[]): React.ReactElement

; createContext(defaultValue: T): React.Context; isValidElement

(object: {} | null | undefined): object is React.ReactElement

; createRef(): React.RefObject; forwardRef(render: React.ForwardRefRenderFunction): React.ForwardRefExoticComponent & React.RefAttributes>; memo

(Component: React.FunctionComponent

, propsAreEqual?: (prevProps: Readonly>, nextProps: Readonly>) => boolean): React.NamedExoticComponent

; memo>(Component: T, propsAreEqual?: (prevProps: Readonly>, nextProps: Readonly>) => boolean): React.MemoExoticComponent; lazy>(factory: () => Promise<{ default: T; }>): React.LazyExoticComponent; useContext(context: React.Context): T; useState(initialState: S | (() => S)): [S, React.Dispatch>]; useState(): [S | undefined, React.Dispatch>]; useReducer, I>(reducer: R, initializerArg: I, initializer: (arg: I) => React.ReducerStateWithoutAction): [React.ReducerStateWithoutAction, React.DispatchWithoutAction]; useReducer>(reducer: R, initializerArg: React.ReducerStateWithoutAction, initializer?: undefined): [React.ReducerStateWithoutAction, React.DispatchWithoutAction]; useReducer, I>(reducer: R, initializerArg: I & React.ReducerState, initializer: (arg: I & React.ReducerState) => React.ReducerState): [React.ReducerState, React.Dispatch>]; useReducer, I>(reducer: R, initializerArg: I, initializer: (arg: I) => React.ReducerState): [React.ReducerState, React.Dispatch>]; useReducer>(reducer: R, initialState: React.ReducerState, initializer?: undefined): [React.ReducerState, React.Dispatch>]; useRef(initialValue: T): React.MutableRefObject; useRef(initialValue: T | null): React.RefObject; useRef(): React.MutableRefObject; useLayoutEffect(effect: React.EffectCallback, deps?: React.DependencyList): void; useEffect(effect: React.EffectCallback, deps?: React.DependencyList): void; useImperativeHandle(ref: React.Ref | undefined, init: () => R, deps?: React.DependencyList): void; useCallback any>(callback: T, deps: React.DependencyList): T; useMemo(factory: () => T, deps: React.DependencyList | undefined): T; useDebugValue(value: T, format?: (value: T) => any): void; Children: React.ReactChildren; Fragment: React.ExoticComponent<{ children?: React.ReactNode | undefined; }>; StrictMode: React.ExoticComponent<{ children?: React.ReactNode | undefined; }>; Suspense: React.ExoticComponent; version: string; Profiler: React.ExoticComponent; Component: typeof React.Component; PureComponent: typeof React.PureComponent; };