11import  *  as  _hooks  from  '../../hooks' ; 
22// Intentionally not using a relative path to take advantage of 
33// the TS version resolution mechanism 
4- import  *  as  preact  from  'preact' ; 
4+ import  *  as  preact1  from  'preact' ; 
55import  {  JSXInternal  }  from  '../../src/jsx' ; 
66import  *  as  _Suspense  from  './suspense' ; 
77
@@ -13,6 +13,99 @@ interface SignalLike<T> {
1313
1414type  Signalish < T >  =  T  |  SignalLike < T > ; 
1515
16+ declare  namespace  preact  { 
17+ 	export  interface  FunctionComponent < P  =  { } >  { 
18+ 		( 
19+ 			props : preact1 . RenderableProps < P > , 
20+ 			context ?: any 
21+ 		) : preact1 . ComponentChildren ; 
22+ 		displayName ?: string ; 
23+ 		defaultProps ?: Partial < P >  |  undefined ; 
24+ 	} 
25+ 
26+ 	export  interface  ComponentClass < P  =  { } ,  S  =  { } >  { 
27+ 		new  ( props : P ,  context ?: any ) : preact1 . Component < P ,  S > ; 
28+ 		displayName ?: string ; 
29+ 		defaultProps ?: Partial < P > ; 
30+ 		contextType ?: preact1 . Context < any > ; 
31+ 		getDerivedStateFromProps ?( 
32+ 			props : Readonly < P > , 
33+ 			state : Readonly < S > 
34+ 		) : Partial < S >  |  null ; 
35+ 		getDerivedStateFromError ?( error : any ) : Partial < S >  |  null ; 
36+ 	} 
37+ 
38+ 	export  interface  Component < P  =  { } ,  S  =  { } >  { 
39+ 		componentWillMount ?( ) : void ; 
40+ 		componentDidMount ?( ) : void ; 
41+ 		componentWillUnmount ?( ) : void ; 
42+ 		getChildContext ?( ) : object ; 
43+ 		componentWillReceiveProps ?( nextProps : Readonly < P > ,  nextContext : any ) : void ; 
44+ 		shouldComponentUpdate ?( 
45+ 			nextProps : Readonly < P > , 
46+ 			nextState : Readonly < S > , 
47+ 			nextContext : any 
48+ 		) : boolean ; 
49+ 		componentWillUpdate ?( 
50+ 			nextProps : Readonly < P > , 
51+ 			nextState : Readonly < S > , 
52+ 			nextContext : any 
53+ 		) : void ; 
54+ 		getSnapshotBeforeUpdate ?( oldProps : Readonly < P > ,  oldState : Readonly < S > ) : any ; 
55+ 		componentDidUpdate ?( 
56+ 			previousProps : Readonly < P > , 
57+ 			previousState : Readonly < S > , 
58+ 			snapshot : any 
59+ 		) : void ; 
60+ 		componentDidCatch ?( error : any ,  errorInfo : preact1 . ErrorInfo ) : void ; 
61+ 	} 
62+ 
63+ 	export  abstract  class  Component < P ,  S >  { 
64+ 		constructor ( props ?: P ,  context ?: any ) ; 
65+ 
66+ 		static  displayName ?: string ; 
67+ 		static  defaultProps ?: any ; 
68+ 		static  contextType ?: preact1 . Context < any > ; 
69+ 
70+ 		// Static members cannot reference class type parameters. This is not 
71+ 		// supported in TypeScript. Reusing the same type arguments from `Component` 
72+ 		// will lead to an impossible state where one cannot satisfy the type 
73+ 		// constraint under no circumstances, see #1356.In general type arguments 
74+ 		// seem to be a bit buggy and not supported well at the time of this 
75+ 		// writing with TS 3.3.3333. 
76+ 		static  getDerivedStateFromProps ?( 
77+ 			props : Readonly < object > , 
78+ 			state : Readonly < object > 
79+ 		) : object  |  null ; 
80+ 		static  getDerivedStateFromError ?( error : any ) : object  |  null ; 
81+ 
82+ 		state : Readonly < S > ; 
83+ 		props : preact1 . RenderableProps < P > ; 
84+ 		context : any ; 
85+ 
86+ 		// From https://github.com/DefinitelyTyped/DefinitelyTyped/blob/e836acc75a78cf0655b5dfdbe81d69fdd4d8a252/types/react/index.d.ts#L402 
87+ 		// // We MUST keep setState() as a unified signature because it allows proper checking of the method return type. 
88+ 		// // See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/18365#issuecomment-351013257 
89+ 		setState < K  extends  keyof  S > ( 
90+ 			state :
91+ 				|  ( ( 
92+ 						prevState : Readonly < S > , 
93+ 						props : Readonly < P > 
94+ 				  )  =>  Pick < S ,  K >  |  Partial < S >  |  null ) 
95+ 				|  ( Pick < S ,  K >  |  Partial < S >  |  null ) , 
96+ 			callback ?: ( )  =>  void 
97+ 		) : void ; 
98+ 
99+ 		forceUpdate ( callback ?: ( )  =>  void ) : void ; 
100+ 
101+ 		abstract  render ( 
102+ 			props ?: preact1 . RenderableProps < P > , 
103+ 			state ?: Readonly < S > , 
104+ 			context ?: any 
105+ 		) : preact1 . ComponentChildren ; 
106+ 	} 
107+ } 
108+ 
16109// export default React; 
17110export  =  React ; 
18111export  as  namespace  React ; 
@@ -49,32 +142,32 @@ declare namespace React {
49142	) : T ; 
50143
51144	// Preact Defaults 
52- 	export  import  Context  =  preact . Context ; 
53- 	export  import  ContextType  =  preact . ContextType ; 
54- 	export  import  RefObject  =  preact . RefObject ; 
145+ 	export  import  Context  =  preact1 . Context ; 
146+ 	export  import  ContextType  =  preact1 . ContextType ; 
147+ 	export  import  RefObject  =  preact1 . RefObject ; 
55148	export  import  Component  =  preact . Component ; 
56149	export  import  FunctionComponent  =  preact . FunctionComponent ; 
57- 	export  import  ComponentType  =  preact . ComponentType ; 
150+ 	export  import  ComponentType  =  preact1 . ComponentType ; 
58151	export  import  ComponentClass  =  preact . ComponentClass ; 
59- 	export  import  FC  =  preact . FunctionComponent ; 
60- 	export  import  createContext  =  preact . createContext ; 
61- 	export  import  Ref  =  preact . Ref ; 
62- 	export  import  createRef  =  preact . createRef ; 
63- 	export  import  Fragment  =  preact . Fragment ; 
64- 	export  import  createElement  =  preact . createElement ; 
65- 	export  import  cloneElement  =  preact . cloneElement ; 
66- 	export  import  ComponentProps  =  preact . ComponentProps ; 
67- 	export  import  ReactNode  =  preact . ComponentChild ; 
68- 	export  import  ReactElement  =  preact . VNode ; 
69- 	export  import  Consumer  =  preact . Consumer ; 
70- 	export  import  ErrorInfo  =  preact . ErrorInfo ; 
152+ 	export  import  FC  =  preact1 . FunctionComponent ; 
153+ 	export  import  createContext  =  preact1 . createContext ; 
154+ 	export  import  Ref  =  preact1 . Ref ; 
155+ 	export  import  createRef  =  preact1 . createRef ; 
156+ 	export  import  Fragment  =  preact1 . Fragment ; 
157+ 	export  import  createElement  =  preact1 . createElement ; 
158+ 	export  import  cloneElement  =  preact1 . cloneElement ; 
159+ 	export  import  ComponentProps  =  preact1 . ComponentProps ; 
160+ 	export  import  ReactNode  =  preact1 . ComponentChild ; 
161+ 	export  import  ReactElement  =  preact1 . VNode ; 
162+ 	export  import  Consumer  =  preact1 . Consumer ; 
163+ 	export  import  ErrorInfo  =  preact1 . ErrorInfo ; 
71164
72165	// Suspense 
73166	export  import  Suspense  =  _Suspense . Suspense ; 
74167	export  import  lazy  =  _Suspense . lazy ; 
75168
76169	// Compat 
77- 	export  import  StrictMode  =  preact . Fragment ; 
170+ 	export  import  StrictMode  =  preact1 . Fragment ; 
78171	export  const  version : string ; 
79172	export  function  startTransition ( cb : ( )  =>  void ) : void ; 
80173
@@ -83,15 +176,15 @@ declare namespace React {
83176		extends  JSXInternal . HTMLAttributes < T >  { } 
84177	export  interface  HTMLProps < T  extends  EventTarget > 
85178		extends  JSXInternal . AllHTMLAttributes < T > , 
86- 			preact . ClassAttributes < T >  { } 
179+ 			preact1 . ClassAttributes < T >  { } 
87180	export  interface  AllHTMLAttributes < T  extends  EventTarget > 
88181		extends  JSXInternal . AllHTMLAttributes < T >  { } 
89182	export  import  DetailedHTMLProps  =  JSXInternal . DetailedHTMLProps ; 
90183	export  import  CSSProperties  =  JSXInternal . CSSProperties ; 
91184
92185	export  interface  SVGProps < T  extends  EventTarget > 
93186		extends  JSXInternal . SVGAttributes < T > , 
94- 			preact . ClassAttributes < T >  { } 
187+ 			preact1 . ClassAttributes < T >  { } 
95188
96189	interface  SVGAttributes  extends  JSXInternal . SVGAttributes  { } 
97190
@@ -186,81 +279,81 @@ declare namespace React {
186279	export  import  TransitionEventHandler  =  JSXInternal . TransitionEventHandler ; 
187280
188281	export  function  createPortal ( 
189- 		vnode : preact . ComponentChildren , 
190- 		container : preact . ContainerNode 
191- 	) : preact . VNode < any > ; 
282+ 		vnode : preact1 . ComponentChildren , 
283+ 		container : preact1 . ContainerNode 
284+ 	) : preact1 . VNode < any > ; 
192285
193286	export  function  render ( 
194- 		vnode : preact . ComponentChild , 
195- 		parent : preact . ContainerNode , 
287+ 		vnode : preact1 . ComponentChild , 
288+ 		parent : preact1 . ContainerNode , 
196289		callback ?: ( )  =>  void 
197290	) : Component  |  null ; 
198291
199292	export  function  hydrate ( 
200- 		vnode : preact . ComponentChild , 
201- 		parent : preact . ContainerNode , 
293+ 		vnode : preact1 . ComponentChild , 
294+ 		parent : preact1 . ContainerNode , 
202295		callback ?: ( )  =>  void 
203296	) : Component  |  null ; 
204297
205298	export  function  unmountComponentAtNode ( 
206- 		container : preact . ContainerNode 
299+ 		container : preact1 . ContainerNode 
207300	) : boolean ; 
208301
209302	export  function  createFactory ( 
210- 		type : preact . VNode < any > [ 'type' ] 
303+ 		type : preact1 . VNode < any > [ 'type' ] 
211304	) : ( 
212305		props ?: any , 
213- 		...children : preact . ComponentChildren [ ] 
214- 	)  =>  preact . VNode < any > ; 
306+ 		...children : preact1 . ComponentChildren [ ] 
307+ 	)  =>  preact1 . VNode < any > ; 
215308	export  function  isValidElement ( element : any ) : boolean ; 
216309	export  function  isFragment ( element : any ) : boolean ; 
217310	export  function  isMemo ( element : any ) : boolean ; 
218311	export  function  findDOMNode ( 
219- 		component : preact . Component  |  Element 
312+ 		component : preact1 . Component  |  Element 
220313	) : Element  |  null ; 
221314
222315	export  abstract  class  PureComponent < 
223316		P  =  { } , 
224317		S  =  { } , 
225318		SS  =  any 
226- 	>  extends  preact . Component < P ,  S >  { 
319+ 	>  extends  preact1 . Component < P ,  S >  { 
227320		isPureReactComponent : boolean ; 
228321	} 
229322
230- 	export  type  MemoExoticComponent < C  extends  preact . FunctionalComponent < any > >  = 
231- 		preact . FunctionComponent < ComponentProps < C > >  &  { 
323+ 	export  type  MemoExoticComponent < C  extends  preact1 . FunctionalComponent < any > >  = 
324+ 		preact1 . FunctionComponent < ComponentProps < C > >  &  { 
232325			readonly  type : C ; 
233326		} ; 
234327
235328	export  function  memo < P  =  { } > ( 
236- 		component : preact . FunctionalComponent < P > , 
329+ 		component : preact1 . FunctionalComponent < P > , 
237330		comparer ?: ( prev : P ,  next : P )  =>  boolean 
238- 	) : preact . FunctionComponent < P > ; 
239- 	export  function  memo < C  extends  preact . FunctionalComponent < any > > ( 
331+ 	) : preact1 . FunctionComponent < P > ; 
332+ 	export  function  memo < C  extends  preact1 . FunctionalComponent < any > > ( 
240333		component : C , 
241334		comparer ?: ( 
242- 			prev : preact . ComponentProps < C > , 
243- 			next : preact . ComponentProps < C > 
335+ 			prev : preact1 . ComponentProps < C > , 
336+ 			next : preact1 . ComponentProps < C > 
244337		)  =>  boolean 
245338	) : C ; 
246339
247- 	export  interface  RefAttributes < R >  extends  preact . Attributes  { 
248- 		ref ?: preact . Ref < R >  |  undefined ; 
340+ 	export  interface  RefAttributes < R >  extends  preact1 . Attributes  { 
341+ 		ref ?: preact1 . Ref < R >  |  undefined ; 
249342	} 
250343
251344	export  interface  ForwardFn < P  =  { } ,  T  =  any >  { 
252- 		( props : P ,  ref : ForwardedRef < T > ) : preact . ComponentChild ; 
345+ 		( props : P ,  ref : ForwardedRef < T > ) : preact1 . ComponentChild ; 
253346		displayName ?: string ; 
254347	} 
255348
256349	export  interface  ForwardRefExoticComponent < P > 
257- 		extends  preact . FunctionComponent < P >  { 
350+ 		extends  preact1 . FunctionComponent < P >  { 
258351		defaultProps ?: Partial < P >  |  undefined ; 
259352	} 
260353
261354	export  function  forwardRef < R ,  P  =  { } > ( 
262355		fn : ForwardFn < P ,  R > 
263- 	) : preact . FunctionalComponent < PropsWithoutRef < P >  &  {  ref ?: preact . Ref < R >  } > ; 
356+ 	) : preact1 . FunctionalComponent < PropsWithoutRef < P >  &  {  ref ?: preact1 . Ref < R >  } > ; 
264357
265358	export  type  PropsWithoutRef < P >  =  Omit < P ,  'ref' > ; 
266359
@@ -308,21 +401,21 @@ declare namespace React {
308401	export  function  flushSync < A ,  R > ( fn : ( a : A )  =>  R ,  a : A ) : R ; 
309402
310403	export  type  PropsWithChildren < P  =  unknown >  =  P  &  { 
311- 		children ?: preact . ComponentChildren  |  undefined ; 
404+ 		children ?: preact1 . ComponentChildren  |  undefined ; 
312405	} ; 
313406
314407	export  const  Children : { 
315- 		map < T  extends  preact . ComponentChild ,  R > ( 
408+ 		map < T  extends  preact1 . ComponentChild ,  R > ( 
316409			children : T  |  T [ ] , 
317410			fn : ( child : T ,  i : number )  =>  R 
318411		) : R [ ] ; 
319- 		forEach < T  extends  preact . ComponentChild > ( 
412+ 		forEach < T  extends  preact1 . ComponentChild > ( 
320413			children : T  |  T [ ] , 
321414			fn : ( child : T ,  i : number )  =>  void 
322415		) : void ; 
323- 		count : ( children : preact . ComponentChildren )  =>  number ; 
324- 		only : ( children : preact . ComponentChildren )  =>  preact . ComponentChild ; 
325- 		toArray : ( children : preact . ComponentChildren )  =>  preact . VNode < { } > [ ] ; 
416+ 		count : ( children : preact1 . ComponentChildren )  =>  number ; 
417+ 		only : ( children : preact1 . ComponentChildren )  =>  preact1 . ComponentChild ; 
418+ 		toArray : ( children : preact1 . ComponentChildren )  =>  preact1 . VNode < { } > [ ] ; 
326419	} ; 
327420
328421	// scheduler 
0 commit comments