1 | import * as React from "react";
|
2 |
|
3 | export interface DynamicOptions<TCProps, TLProps> {
|
4 | loading?: React.ComponentType<TLProps>;
|
5 | ssr?: boolean;
|
6 | modules?(
|
7 | props: TCProps & TLProps,
|
8 | ): { [key: string]: Promise<React.ComponentType<any>> };
|
9 | render?(
|
10 | props: TCProps & TLProps,
|
11 | modules: { [key: string]: React.ComponentType<any> },
|
12 | ): void;
|
13 | }
|
14 |
|
15 | export class SameLoopPromise<T> extends Promise<T> {
|
16 | constructor(
|
17 | executor: (
|
18 | resolve: (value?: T) => void,
|
19 | reject: (reason?: any) => void,
|
20 | ) => void,
|
21 | );
|
22 | setResult(value: T): void;
|
23 | setError(value: any): void;
|
24 | runIfNeeded(): void;
|
25 | }
|
26 | export default function<TCProps, TLProps>(
|
27 | componentPromise: Promise<React.ComponentType<TCProps>>,
|
28 | options?: DynamicOptions<TCProps, TLProps>,
|
29 | ): React.ComponentType<TCProps & TLProps>;
|