// TypeScript Version: 2.4 import * as React from 'react'; export as namespace loadable; export default function loadable( getComponent: () => Promise>, options?: loadable.LoadableOptions ): loadable.Loadable; export interface DefaultImportedComponent

{ default: React.ComponentType

; } export type DefaultComponent

= React.ComponentType

| DefaultImportedComponent

; export interface ComponentTracker { track: (component: React.Component, modules: any, index?: number) => number; get: (id: number) => React.ComponentType; getAll: () => { [key: number]: React.ComponentType }; reset: () => void; } export interface LoadableOptions { ErrorComponent?: React.ComponentType; LoadingComponent?: React.ComponentType; render?: (options: { loading: boolean, error: boolean, ownProps: T, Component: React.ComponentType }) => React.ReactElement; modules?: any; } export interface Loadable extends React.ComponentClass { Component: React.ComponentClass; loadingPromise: Promise; load(): Promise; } export const componentTracker: ComponentTracker; export const LOADABLE: string; export function loadComponents(): Promise; export function getState(): { __LOADABLE_STATE__: { children: Array<{ id: number }> } };