1 | import {
|
2 | Component as PreactComponent,
|
3 | VNode as PreactVNode,
|
4 | FunctionalComponent as PreactFunctionalComponent
|
5 | } from '../../src/internal';
|
6 | import { SuspenseProps } from './suspense';
|
7 |
|
8 | export { ComponentChildren } from '../..';
|
9 |
|
10 | export { PreactElement } from '../../src/internal';
|
11 |
|
12 | export interface Component<P = {}, S = {}> extends PreactComponent<P, S> {
|
13 | isReactComponent?: object;
|
14 | isPureReactComponent?: true;
|
15 | _patchedLifecycles?: true;
|
16 |
|
17 | _childDidSuspend?(
|
18 | error: Promise<void>,
|
19 | suspendingComponent: Component<any, any>,
|
20 | oldVNode?: VNode
|
21 | ): void;
|
22 | _suspendedComponentWillUnmount?(): void;
|
23 | }
|
24 |
|
25 | export interface FunctionalComponent<P = {}>
|
26 | extends PreactFunctionalComponent<P> {
|
27 | shouldComponentUpdate?(nextProps: Readonly<P>): boolean;
|
28 | _forwarded?: boolean;
|
29 | _patchedLifecycles?: true;
|
30 | }
|
31 |
|
32 | export interface VNode<T = any> extends PreactVNode<T> {
|
33 | $$typeof?: symbol | string;
|
34 | preactCompatNormalized?: boolean;
|
35 | }
|
36 |
|
37 | export interface SuspenseState {
|
38 | _suspended?: null | VNode<any>;
|
39 | }
|
40 |
|
41 | export interface SuspenseComponent
|
42 | extends PreactComponent<SuspenseProps, SuspenseState> {
|
43 | _pendingSuspensionCount: number;
|
44 | _suspenders: Component[];
|
45 | _detachOnNextRender: null | VNode<any>;
|
46 | }
|