@@ -15,24 +15,29 @@ type JSONValue =
1515 | { + [ key : string ] : JSONValue }
1616 | $ReadOnlyArray < JSONValue > ;
1717
18- declare class JSResourceReference < T > {
19- _moduleId : T ;
20- getModuleId ( ) : string ;
21- }
22-
23- // Haste
2418declare 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+ }
2626}
2727
28- // Metro
2928declare 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+ }
3336}
3437
3538declare module 'ReactFlightDOMRelayServerIntegration' {
39+ import type { JSResourceReference } from 'JSResourceReference' ;
40+
3641 declare export opaque type Destination ;
3742 declare export opaque type BundlerConfig ;
3843 declare export function emitRow (
@@ -49,6 +54,8 @@ declare module 'ReactFlightDOMRelayServerIntegration' {
4954}
5055
5156declare module 'ReactFlightDOMRelayClientIntegration' {
57+ import type { JSResourceReference } from 'JSResourceReference' ;
58+
5259 declare export opaque type ModuleMetaData ;
5360 declare export function resolveModuleReference < T > (
5461 moduleData : ModuleMetaData ,
@@ -62,6 +69,8 @@ declare module 'ReactFlightDOMRelayClientIntegration' {
6269}
6370
6471declare module 'ReactFlightNativeRelayServerIntegration ' {
72+ import type { JSResourceReference } from 'JSResourceReference';
73+
6574 declare export opaque type Destination;
6675 declare export opaque type BundlerConfig;
6776 declare export function emitRow(
@@ -78,6 +87,8 @@ declare module 'ReactFlightNativeRelayServerIntegration' {
7887}
7988
8089declare module 'ReactFlightNativeRelayClientIntegration ' {
90+ import type { JSResourceReference } from 'JSResourceReference';
91+
8192 declare export opaque type ModuleMetaData;
8293 declare export function resolveModuleReference< T > (
8394 moduleData: ModuleMetaData,
0 commit comments