UNPKG

preact

Version:

Fast 3kb React-compatible Virtual DOM library.

780 lines (689 loc) 25.9 kB
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'; interface SignalLike<T> { value: T; peek(): T; subscribe(fn: (value: T) => void): () => void; } type Signalish<T> = T | SignalLike<T>; // 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 Dispatch = _hooks.Dispatch; export import SetStateAction = _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 useId = _hooks.useId; 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; // React 18 hooks export import useInsertionEffect = _hooks.useLayoutEffect; export function useTransition(): [false, typeof startTransition]; export function useDeferredValue<T = any>(val: T): T; export function useSyncExternalStore<T>( subscribe: (flush: () => void) => () => void, getSnapshot: () => T ): T; // Preact Defaults export import Context = preact.Context; export import ContextType = preact.ContextType; export import RefObject = preact.RefObject; export import Component = preact.Component; export import FunctionComponent = preact.FunctionComponent; export import ComponentType = preact.ComponentType; export import ComponentClass = preact.ComponentClass; export import FC = preact.FunctionComponent; export import createContext = preact.createContext; export import Ref = preact.Ref; 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; export import ReactNode = preact.ComponentChild; export import ReactElement = preact.VNode; export import Consumer = preact.Consumer; // 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; export function startTransition(cb: () => void): void; // HTML export interface HTMLAttributes<T extends EventTarget> extends JSXInternal.HTMLAttributes<T> {} export interface HTMLProps<T extends EventTarget> extends JSXInternal.HTMLAttributes<T>, preact.ClassAttributes<T> {} export import DetailedHTMLProps = JSXInternal.DetailedHTMLProps; export import CSSProperties = JSXInternal.CSSProperties; export interface SVGProps<T extends EventTarget> extends JSXInternal.SVGAttributes<T>, preact.ClassAttributes<T> {} interface SVGAttributes extends JSXInternal.SVGAttributes {} interface ReactSVG extends JSXInternal.IntrinsicSVGElements {} type HTMLAttributeReferrerPolicy = | '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url'; type HTMLAttributeAnchorTarget = | '_self' | '_blank' | '_parent' | '_top' | (string & {}); interface AnchorHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { download?: Signalish<any>; href?: Signalish<string | undefined>; hrefLang?: Signalish<string | undefined>; media?: Signalish<string | undefined>; ping?: Signalish<string | undefined>; target?: Signalish<HTMLAttributeAnchorTarget | undefined>; type?: Signalish<string | undefined>; referrerPolicy?: Signalish<HTMLAttributeReferrerPolicy | undefined>; } interface AudioHTMLAttributes<T extends EventTarget> extends MediaHTMLAttributes<T> {} interface AreaHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { alt?: Signalish<string | undefined>; coords?: Signalish<string | undefined>; download?: Signalish<any>; href?: Signalish<string | undefined>; hrefLang?: Signalish<string | undefined>; media?: Signalish<string | undefined>; referrerPolicy?: Signalish<HTMLAttributeReferrerPolicy | undefined>; shape?: Signalish<string | undefined>; target?: Signalish<string | undefined>; } interface BaseHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { href?: Signalish<string | undefined>; target?: Signalish<string | undefined>; } interface BlockquoteHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { cite?: Signalish<string | undefined>; } interface ButtonHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { disabled?: Signalish<boolean | undefined>; form?: Signalish<string | undefined>; formAction?: Signalish<string | undefined>; formEncType?: Signalish<string | undefined>; formMethod?: Signalish<string | undefined>; formNoValidate?: Signalish<boolean | undefined>; formTarget?: Signalish<string | undefined>; name?: Signalish<string | undefined>; type?: Signalish<'submit' | 'reset' | 'button' | undefined>; value?: Signalish<string | number | undefined>; } interface CanvasHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { height?: Signalish<number | string | undefined>; width?: Signalish<number | string | undefined>; } interface ColHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { span?: Signalish<number | undefined>; width?: Signalish<number | string | undefined>; } interface ColgroupHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { span?: Signalish<number | undefined>; } interface DataHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { value?: Signalish<string | number | undefined>; } interface DetailsHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { open?: Signalish<boolean | undefined>; onToggle?: ChangeEventHandler<T> | undefined; } interface DelHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { cite?: Signalish<string | undefined>; dateTime?: Signalish<string | undefined>; } interface DialogHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { onCancel?: ChangeEventHandler<T> | undefined; onClose?: ChangeEventHandler<T> | undefined; open?: Signalish<boolean | undefined>; } interface EmbedHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { height?: Signalish<number | string | undefined>; src?: Signalish<string | undefined>; type?: Signalish<string | undefined>; width?: Signalish<number | string | undefined>; } interface FieldsetHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { disabled?: Signalish<boolean | undefined>; form?: Signalish<string | undefined>; name?: Signalish<string | undefined>; } interface FormHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { acceptCharset?: Signalish<string | undefined>; action?: Signalish<string | undefined>; autoComplete?: Signalish<string | undefined>; encType?: Signalish<string | undefined>; method?: Signalish<string | undefined>; name?: Signalish<string | undefined>; noValidate?: Signalish<boolean | undefined>; target?: Signalish<string | undefined>; } interface HtmlHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { manifest?: Signalish<string | undefined>; } interface IframeHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { allow?: Signalish<string | undefined>; allowFullScreen?: Signalish<boolean | undefined>; allowTransparency?: Signalish<boolean | undefined>; /** @deprecated */ frameBorder?: Signalish<number | string | undefined>; height?: Signalish<number | string | undefined>; loading?: 'eager' | 'lazy' | undefined; /** @deprecated */ marginHeight?: Signalish<number | undefined>; /** @deprecated */ marginWidth?: Signalish<number | undefined>; name?: Signalish<string | undefined>; referrerPolicy?: Signalish<HTMLAttributeReferrerPolicy | undefined>; sandbox?: Signalish<string | undefined>; /** @deprecated */ scrolling?: Signalish<string | undefined>; seamless?: Signalish<boolean | undefined>; src?: Signalish<string | undefined>; srcDoc?: Signalish<string | undefined>; width?: Signalish<number | string | undefined>; } type HTMLAttributeCrossOrigin = 'anonymous' | 'use-credentials'; interface ImgHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { alt?: Signalish<string | undefined>; crossOrigin?: Signalish<HTMLAttributeCrossOrigin>; decoding?: Signalish<'async' | 'auto' | 'sync' | undefined>; height?: Signalish<number | string | undefined>; loading?: Signalish<'eager' | 'lazy' | undefined>; referrerPolicy?: Signalish<HTMLAttributeReferrerPolicy | undefined>; sizes?: Signalish<string | undefined>; src?: Signalish<string | undefined>; srcSet?: Signalish<string | undefined>; useMap?: Signalish<string | undefined>; width?: Signalish<number | string | undefined>; } interface InsHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { cite?: Signalish<string | undefined>; dateTime?: Signalish<string | undefined>; } type HTMLInputTypeAttribute = | 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week' | (string & {}); interface InputHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { accept?: Signalish<string | undefined>; alt?: Signalish<string | undefined>; autoComplete?: Signalish<string | undefined>; capture?: Signalish<'user' | 'environment' | undefined>; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute checked?: Signalish<boolean | undefined>; disabled?: Signalish<boolean | undefined>; enterKeyHint?: Signalish< | 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined >; form?: Signalish<string | undefined>; formAction?: Signalish<string | undefined>; formEncType?: Signalish<string | undefined>; formMethod?: Signalish<string | undefined>; formNoValidate?: Signalish<boolean | undefined>; formTarget?: Signalish<string | undefined>; height?: Signalish<number | string | undefined>; list?: Signalish<string | undefined>; max?: Signalish<string | undefined>; maxLength?: Signalish<number | undefined>; min?: Signalish<string | undefined>; minLength?: Signalish<number | undefined>; multiple?: Signalish<boolean | undefined>; name?: Signalish<string | undefined>; pattern?: Signalish<string | undefined>; placeholder?: Signalish<string | undefined>; readOnly?: Signalish<boolean | undefined>; required?: Signalish<boolean | undefined>; size?: Signalish<number | undefined>; src?: Signalish<string | undefined>; step?: Signalish<number | string | undefined>; type?: HTMLInputTypeAttribute | undefined; value?: Signalish<string | number | undefined>; width?: Signalish<number | string | undefined>; onChange?: ChangeEventHandler<T> | undefined; } interface KeygenHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { challenge?: Signalish<string | undefined>; disabled?: Signalish<boolean | undefined>; form?: Signalish<string | undefined>; keyType?: Signalish<string | undefined>; keyParams?: Signalish<string | undefined>; name?: Signalish<string | undefined>; } interface LabelHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { form?: Signalish<string | undefined>; htmlFor?: Signalish<string | undefined>; } interface LiHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { value?: Signalish<string | number | undefined>; } interface LinkHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { as?: Signalish<string | undefined>; crossOrigin?: Signalish<HTMLAttributeCrossOrigin>; fetchPriority?: Signalish<'high' | 'low' | 'auto'>; href?: Signalish<string | undefined>; hrefLang?: Signalish<string | undefined>; integrity?: Signalish<string | undefined>; media?: Signalish<string | undefined>; imageSrcSet?: Signalish<string | undefined>; referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; sizes?: Signalish<string | undefined>; type?: Signalish<string | undefined>; charSet?: Signalish<string | undefined>; } interface MapHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { name?: Signalish<string | undefined>; } interface MenuHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { type?: Signalish<string | undefined>; } interface MediaHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { autoPlay?: Signalish<boolean | undefined>; controls?: Signalish<boolean | undefined>; controlsList?: Signalish<string | undefined>; crossOrigin?: Signalish<HTMLAttributeCrossOrigin>; loop?: Signalish<boolean | undefined>; mediaGroup?: Signalish<string | undefined>; muted?: Signalish<boolean | undefined>; playsInline?: Signalish<boolean | undefined>; preload?: Signalish<string | undefined>; src?: Signalish<string | undefined>; } interface MetaHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { charSet?: Signalish<string | undefined>; httpEquiv?: Signalish<string | undefined>; name?: Signalish<string | undefined>; media?: Signalish<string | undefined>; } interface MeterHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { form?: Signalish<string | undefined>; high?: Signalish<number | undefined>; low?: Signalish<number | undefined>; max?: Signalish<string | undefined>; min?: Signalish<string | undefined>; optimum?: Signalish<number | undefined>; value?: Signalish<string | number | undefined>; } interface QuoteHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { cite?: Signalish<string | undefined>; } interface ObjectHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { classID?: Signalish<string | undefined>; data?: Signalish<string | undefined>; form?: Signalish<string | undefined>; height?: Signalish<number | string | undefined>; name?: Signalish<string | undefined>; type?: Signalish<string | undefined>; useMap?: Signalish<string | undefined>; width?: Signalish<number | string | undefined>; wmode?: Signalish<string | undefined>; } interface OlHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { reversed?: Signalish<boolean | undefined>; start?: Signalish<number | undefined>; type?: Signalish<'1' | 'a' | 'A' | 'i' | 'I' | undefined>; } interface OptgroupHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { disabled?: Signalish<boolean | undefined>; label?: Signalish<string | undefined>; } interface OptionHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { disabled?: Signalish<boolean | undefined>; label?: Signalish<string | undefined>; selected?: Signalish<boolean | undefined>; value?: Signalish<string | number | undefined>; } interface OutputHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { form?: Signalish<string | undefined>; htmlFor?: Signalish<string | undefined>; name?: Signalish<string | undefined>; } interface ParamHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { name?: Signalish<string | undefined>; value?: Signalish<string | number | undefined>; } interface ProgressHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { max?: Signalish<string | undefined>; value?: Signalish<string | number | undefined>; } interface SlotHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { name?: Signalish<string | undefined>; } interface ScriptHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { async?: Signalish<boolean | undefined>; /** @deprecated */ charSet?: Signalish<string | undefined>; crossOrigin?: Signalish<HTMLAttributeCrossOrigin>; defer?: Signalish<boolean | undefined>; integrity?: Signalish<string | undefined>; noModule?: Signalish<boolean | undefined>; referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; src?: Signalish<string | undefined>; type?: Signalish<string | undefined>; } interface SelectHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { autoComplete?: Signalish<string | undefined>; disabled?: Signalish<boolean | undefined>; form?: Signalish<string | undefined>; multiple?: Signalish<boolean | undefined>; name?: Signalish<string | undefined>; required?: Signalish<boolean | undefined>; size?: Signalish<number | undefined>; value?: Signalish<string | number | undefined>; onChange?: ChangeEventHandler<T> | undefined; } interface SourceHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { height?: Signalish<number | string | undefined>; media?: Signalish<string | undefined>; sizes?: Signalish<string | undefined>; src?: Signalish<string | undefined>; srcSet?: Signalish<string | undefined>; type?: Signalish<string | undefined>; width?: Signalish<number | string | undefined>; } interface StyleHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { media?: Signalish<string | undefined>; scoped?: Signalish<boolean | undefined>; type?: Signalish<string | undefined>; } interface TableHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { cellPadding?: Signalish<string | undefined>; cellSpacing?: Signalish<string | undefined>; summary?: Signalish<string | undefined>; width?: Signalish<number | string | undefined>; } interface TextareaHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { autoComplete?: Signalish<string | undefined>; cols?: Signalish<number | undefined>; dirName?: Signalish<string | undefined>; disabled?: Signalish<boolean | undefined>; form?: Signalish<string | undefined>; maxLength?: Signalish<number | undefined>; minLength?: Signalish<number | undefined>; name?: Signalish<string | undefined>; placeholder?: Signalish<string | undefined>; readOnly?: Signalish<boolean | undefined>; required?: Signalish<boolean | undefined>; rows?: Signalish<number | undefined>; value?: Signalish<string | number | undefined>; wrap?: Signalish<string | undefined>; onChange?: ChangeEventHandler<T> | undefined; } interface TdHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { align?: Signalish< 'left' | 'center' | 'right' | 'justify' | 'char' | undefined >; colSpan?: Signalish<number | undefined>; headers?: Signalish<string | undefined>; rowSpan?: Signalish<number | undefined>; scope?: Signalish<string | undefined>; abbr?: Signalish<string | undefined>; height?: Signalish<number | string | undefined>; width?: Signalish<number | string | undefined>; valign?: Signalish<'top' | 'middle' | 'bottom' | 'baseline' | undefined>; } interface ThHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { align?: Signalish< 'left' | 'center' | 'right' | 'justify' | 'char' | undefined >; colSpan?: Signalish<number | undefined>; headers?: Signalish<string | undefined>; rowSpan?: Signalish<number | undefined>; scope?: Signalish<string | undefined>; abbr?: Signalish<string | undefined>; } interface TimeHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { dateTime?: Signalish<string | undefined>; } interface TrackHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { default?: Signalish<boolean | undefined>; kind?: Signalish<string | undefined>; label?: Signalish<string | undefined>; src?: Signalish<string | undefined>; srcLang?: Signalish<string | undefined>; } interface VideoHTMLAttributes<T extends EventTarget> extends MediaHTMLAttributes<T> { height?: Signalish<number | string | undefined>; playsInline?: Signalish<boolean | undefined>; poster?: Signalish<string | undefined>; width?: Signalish<number | string | undefined>; disablePictureInPicture?: Signalish<boolean | undefined>; disableRemotePlayback?: Signalish<boolean | undefined>; } interface WebViewHTMLAttributes<T extends EventTarget> extends HTMLAttributes<T> { allowFullScreen?: Signalish<boolean | undefined>; allowpopups?: Signalish<boolean | undefined>; autosize?: Signalish<boolean | undefined>; blinkfeatures?: Signalish<string | undefined>; disableblinkfeatures?: Signalish<string | undefined>; disableguestresize?: Signalish<boolean | undefined>; disablewebsecurity?: Signalish<boolean | undefined>; guestinstance?: Signalish<string | undefined>; httpreferrer?: Signalish<string | undefined>; nodeintegration?: Signalish<boolean | undefined>; partition?: Signalish<string | undefined>; plugins?: Signalish<boolean | undefined>; preload?: Signalish<string | undefined>; src?: Signalish<string | undefined>; useragent?: Signalish<string | undefined>; webpreferences?: Signalish<string | undefined>; } // Events export import TargetedEvent = JSXInternal.TargetedEvent; export import ChangeEvent = JSXInternal.TargetedEvent; export import ChangeEventHandler = JSXInternal.GenericEventHandler; export function createPortal( vnode: preact.ComponentChildren, container: preact.ContainerNode ): preact.VNode<any>; export function render( vnode: preact.ComponentChild, parent: preact.ContainerNode, callback?: () => void ): Component | null; export function hydrate( vnode: preact.ComponentChild, parent: preact.ContainerNode, callback?: () => void ): Component | null; export function unmountComponentAtNode( container: preact.ContainerNode ): boolean; export function createFactory( type: preact.VNode<any>['type'] ): ( props?: any, ...children: preact.ComponentChildren[] ) => preact.VNode<any>; export function isValidElement(element: any): boolean; export function isFragment(element: any): boolean; export function isMemo(element: any): boolean; export function findDOMNode( component: preact.Component | Element ): Element | null; export abstract class PureComponent< P = {}, S = {}, SS = any > extends preact.Component<P, S> { isPureReactComponent: boolean; } export type MemoExoticComponent<C extends preact.FunctionalComponent<any>> = preact.FunctionComponent<ComponentProps<C>> & { readonly type: C; }; export function memo<P = {}>( component: preact.FunctionalComponent<P>, comparer?: (prev: P, next: P) => boolean ): preact.FunctionComponent<P>; export function memo<C extends preact.FunctionalComponent<any>>( component: C, comparer?: ( prev: preact.ComponentProps<C>, next: preact.ComponentProps<C> ) => boolean ): C; export interface RefAttributes<R> extends preact.Attributes { ref?: preact.Ref<R> | undefined; } export interface ForwardFn<P = {}, T = any> { (props: P, ref: ForwardedRef<T>): preact.ComponentChild; displayName?: string; } export interface ForwardRefExoticComponent<P> extends preact.FunctionComponent<P> { defaultProps?: Partial<P> | undefined; } export function forwardRef<R, P = {}>( fn: ForwardFn<P, R> ): preact.FunctionalComponent<PropsWithoutRef<P> & { ref?: preact.Ref<R> }>; export type PropsWithoutRef<P> = Omit<P, 'ref'>; interface MutableRefObject<T> { current: T; } export type ForwardedRef<T> = | ((instance: T | null) => void) | MutableRefObject<T | null> | null; export type ElementType<P = any, Tag extends keyof JSX.IntrinsicElements = keyof JSX.IntrinsicElements> = | { [K in Tag]: P extends JSX.IntrinsicElements[K] ? K : never }[Tag] | ComponentType<P>; export type ComponentPropsWithoutRef<T extends ElementType> = PropsWithoutRef<ComponentProps<T>>; export type ComponentPropsWithRef< C extends ComponentType<any> | keyof JSXInternal.IntrinsicElements > = C extends new ( props: infer P ) => Component<any, any> ? PropsWithoutRef<P> & RefAttributes<InstanceType<C>> : ComponentProps<C>; export function flushSync<R>(fn: () => R): R; export function flushSync<A, R>(fn: (a: A) => R, a: A): R; export function unstable_batchedUpdates( callback: (arg?: any) => void, arg?: any ): void; export type PropsWithChildren<P = unknown> = P & { children?: preact.ComponentChild | undefined; }; export const Children: { map<T extends preact.ComponentChild, R>( children: T | T[], fn: (child: T, i: number) => R ): R[]; forEach<T extends preact.ComponentChild>( 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; }