import * as _hooks from '../../hooks'; import * as preact from '../../src'; import { JSXInternal } from '../../src/jsx'; import * as _Suspense from './suspense'; import * as _SuspenseList from './suspense-list'; // export default React; export = React; export as namespace React; declare namespace React { // Export JSX export import JSX = JSXInternal; // Hooks export import CreateHandle = _hooks.CreateHandle; export import EffectCallback = _hooks.EffectCallback; export import Inputs = _hooks.Inputs; export import PropRef = _hooks.PropRef; export import Reducer = _hooks.Reducer; export import Ref = _hooks.Ref; export import StateUpdater = _hooks.StateUpdater; export import useCallback = _hooks.useCallback; export import useContext = _hooks.useContext; export import useDebugValue = _hooks.useDebugValue; export import useEffect = _hooks.useEffect; export import useImperativeHandle = _hooks.useImperativeHandle; export import useLayoutEffect = _hooks.useLayoutEffect; export import useMemo = _hooks.useMemo; export import useReducer = _hooks.useReducer; export import useRef = _hooks.useRef; export import useState = _hooks.useState; // Preact Defaults export import ContextType = preact.ContextType; export import RefObject = preact.RefObject; export import Component = preact.Component; export import FunctionComponent = preact.FunctionComponent; export import FC = preact.FunctionComponent; export import createContext = preact.createContext; export import createRef = preact.createRef; export import Fragment = preact.Fragment; export import createElement = preact.createElement; export import cloneElement = preact.cloneElement; export import ComponentProps = preact.ComponentProps; // Suspense export import Suspense = _Suspense.Suspense; export import lazy = _Suspense.lazy; export import SuspenseList = _SuspenseList.SuspenseList; // Compat export import StrictMode = preact.Fragment; export const version: string; // HTML export import HTMLAttributes = JSXInternal.HTMLAttributes; export import DetailedHTMLProps = JSXInternal.DetailedHTMLProps; export import CSSProperties = JSXInternal.CSSProperties; // Events export import TargetedEvent = JSXInternal.TargetedEvent; export import ChangeEvent = JSXInternal.TargetedEvent; export import ChangeEventHandler = JSXInternal.GenericEventHandler; export function createPortal( vnode: preact.VNode, container: Element ): preact.VNode; export function render( vnode: preact.VNode, parent: Element, callback?: () => void ): Component | null; export function hydrate( vnode: preact.VNode, parent: Element, callback?: () => void ): Component | null; export function unmountComponentAtNode( container: Element | Document | ShadowRoot | DocumentFragment ): boolean; export function createFactory( type: preact.VNode['type'] ): ( props?: any, ...children: preact.ComponentChildren[] ) => preact.VNode; export function isValidElement(element: any): boolean; export function findDOMNode( component: preact.Component | Element ): Element | null; export abstract class PureComponent

extends preact.Component< P, S > { isPureReactComponent: boolean; } export function memo

( component: preact.FunctionalComponent

, comparer?: (prev: P, next: P) => boolean ): preact.FunctionComponent

; export function memo>( component: C, comparer?: ( prev: preact.ComponentProps, next: preact.ComponentProps ) => boolean ): C; export interface ForwardFn

{ (props: P, ref: Ref): preact.ComponentChild; displayName?: string; } export function forwardRef( fn: ForwardFn ): preact.FunctionalComponent & { ref?: preact.Ref }>; export function unstable_batchedUpdates( callback: (arg?: any) => void, arg?: any ): void; export const Children: { map( children: T | T[], fn: (child: T, i: number) => R ): R[]; forEach( children: T | T[], fn: (child: T, i: number) => void ): void; count: (children: preact.ComponentChildren) => number; only: (children: preact.ComponentChildren) => preact.ComponentChild; toArray: (children: preact.ComponentChildren) => preact.VNode<{}>[]; }; // scheduler export const unstable_ImmediatePriority: number; export const unstable_UserBlockingPriority: number; export const unstable_NormalPriority: number; export const unstable_LowPriority: number; export const unstable_IdlePriority: number; export function unstable_runWithPriority( priority: number, callback: () => void ): void; export const unstable_now: () => number; }