import * as React from "react"; import { LoadableComponent, CommonOptions as LoadableOptions, LoadingComponentProps as LoadableLoadingComponentProps } from "react-loadable"; type Omit = Pick>; type AsyncComponent

= Promise>; type AsyncComponentLoader

= () => AsyncComponent

; type ModuleMapping = Record; type LoadedModuleMapping = Record; interface NextDynamicOptions

extends Omit { modules?: () => ModuleMapping; // overridden loading?: LoadableOptions["loading"]; // optional loader?: AsyncComponentLoader

; // optional, overriden render?: (props: P, loaded: LoadedModuleMapping) => React.ReactNode; // optional, overriden ssr?: boolean; loadableGenerated?: { webpack?: any; modules?: any; }; } type DynamicComponent

= React.ComponentType

& LoadableComponent; /** * Overloaded dynamic function. * https://github.com/zeit/next.js/blob/7.0.0/lib/dynamic.js#L55 */ declare function dynamic

( options: AsyncComponent

| NextDynamicOptions

): DynamicComponent

; declare function dynamic

( asyncModule: AsyncComponent

, options: NextDynamicOptions

): DynamicComponent

; export type LoadingComponentProps = LoadableLoadingComponentProps; export default dynamic;