UNPKG

869 BTypeScriptView Raw
1import * as React from "react";
2
3export 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
15export 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}
26export default function<TCProps, TLProps>(
27 componentPromise: Promise<React.ComponentType<TCProps>>,
28 options?: DynamicOptions<TCProps, TLProps>,
29): React.ComponentType<TCProps & TLProps>;