@@ -15,24 +15,29 @@ type JSONValue =
15
15
| { + [ key : string ] : JSONValue }
16
16
| $ReadOnlyArray < JSONValue > ;
17
17
18
- declare class JSResourceReference < T > {
19
- _moduleId : T ;
20
- getModuleId ( ) : string ;
21
- }
22
-
23
- // Haste
24
18
declare module 'JSResourceReference' {
25
- declare export default typeof JSResourceReference ;
19
+ declare export interface JSResourceReference < T > {
20
+ getModuleId ( ) : string ;
21
+ getModuleIdAsRef ( ) : $Flow$ModuleRef < T > ;
22
+ getModuleIfRequired ( ) : ?T ;
23
+ load ( ) : Promise < T > ;
24
+ preload ( ) : void ;
25
+ }
26
26
}
27
27
28
- // Metro
29
28
declare module 'JSResourceReferenceImpl' {
30
- declare export default class JSResourceReferenceImpl <
31
- T ,
32
- > extends JSResourceReference < T > { }
29
+ declare export default class JSResourceReferenceImpl < T > {
30
+ getModuleId ( ) : string ;
31
+ getModuleIdAsRef ( ) : $Flow$ModuleRef < T > ;
32
+ getModuleIfRequired ( ) : ?T ;
33
+ load ( ) : Promise < T > ;
34
+ preload ( ) : void ;
35
+ }
33
36
}
34
37
35
38
declare module 'ReactFlightDOMRelayServerIntegration' {
39
+ import type { JSResourceReference } from 'JSResourceReference' ;
40
+
36
41
declare export opaque type Destination ;
37
42
declare export opaque type BundlerConfig ;
38
43
declare export function emitRow (
@@ -49,6 +54,8 @@ declare module 'ReactFlightDOMRelayServerIntegration' {
49
54
}
50
55
51
56
declare module 'ReactFlightDOMRelayClientIntegration' {
57
+ import type { JSResourceReference } from 'JSResourceReference' ;
58
+
52
59
declare export opaque type ModuleMetaData ;
53
60
declare export function resolveModuleReference < T > (
54
61
moduleData : ModuleMetaData ,
@@ -62,6 +69,8 @@ declare module 'ReactFlightDOMRelayClientIntegration' {
62
69
}
63
70
64
71
declare module 'ReactFlightNativeRelayServerIntegration ' {
72
+ import type { JSResourceReference } from 'JSResourceReference';
73
+
65
74
declare export opaque type Destination;
66
75
declare export opaque type BundlerConfig;
67
76
declare export function emitRow(
@@ -78,6 +87,8 @@ declare module 'ReactFlightNativeRelayServerIntegration' {
78
87
}
79
88
80
89
declare module 'ReactFlightNativeRelayClientIntegration ' {
90
+ import type { JSResourceReference } from 'JSResourceReference';
91
+
81
92
declare export opaque type ModuleMetaData;
82
93
declare export function resolveModuleReference< T > (
83
94
moduleData: ModuleMetaData,
0 commit comments