UNPKG

1.52 kBTypeScriptView Raw
1import { ComponentType } from 'react';
2import { ClientBuildManifest } from '../build/webpack/plugins/build-manifest-plugin';
3declare global {
4 interface Window {
5 __BUILD_MANIFEST?: ClientBuildManifest;
6 __BUILD_MANIFEST_CB?: Function;
7 }
8}
9export interface LoadedEntrypointSuccess {
10 component: ComponentType;
11 exports: any;
12}
13export interface LoadedEntrypointFailure {
14 error: unknown;
15}
16export declare type RouteEntrypoint = LoadedEntrypointSuccess | LoadedEntrypointFailure;
17export interface RouteStyleSheet {
18 href: string;
19 content: string;
20}
21export interface LoadedRouteSuccess extends LoadedEntrypointSuccess {
22 styles: RouteStyleSheet[];
23}
24export interface LoadedRouteFailure {
25 error: unknown;
26}
27export declare type RouteLoaderEntry = LoadedRouteSuccess | LoadedRouteFailure;
28export declare type Future<V> = {
29 resolve: (entrypoint: V) => void;
30 future: Promise<V>;
31};
32export interface RouteLoader {
33 whenEntrypoint(route: string): Promise<RouteEntrypoint>;
34 onEntrypoint(route: string, execute: () => unknown): void;
35 loadRoute(route: string, prefetch?: boolean): Promise<RouteLoaderEntry>;
36 prefetch(route: string): Promise<void>;
37}
38export declare function markAssetError(err: Error): Error;
39export declare function isAssetError(err?: Error): boolean | undefined;
40export declare function getClientBuildManifest(): Promise<ClientBuildManifest>;
41declare function createRouteLoader(assetPrefix: string): RouteLoader;
42export default createRouteLoader;