import { Type } from '@angular/core'; export declare type FunctionReturningPromise = () => Promise; export interface ModuleConfig { name: string; loadChildren?: string | FunctionReturningPromise; matcher: () => null; loadingComponent?: Type; errorComponent?: Type; timeoutTemplate?: Type; isElement?: boolean; preload?: boolean; } export interface ILoadableRootOptions { loadingComponent?: Type; errorComponent?: Type; timeoutTemplate?: Type; isElement?: boolean; preload?: boolean; } export interface ILoadableConfig { moduleConfigs?: ModuleConfig[]; } export interface ILoadableRootConfig { moduleConfigs?: ModuleConfig[]; rootOptions?: ILoadableRootOptions; }