import { ApplicationBootstrapper, ApplicationStateReader, Postprocessor, VariantsMap } from '../contracts'; import { Application } from './application'; import { PrebootConfiguration } from '../preboot'; import { Route } from '../../route/route'; export interface ApplicationBuilder { build(): Application; templateDocument(template?: string): string | undefined; bootstrap(bootstrapper: ApplicationBootstrapper): void; variants(definitions?: VariantsMap): void; routes(routes?: Array): void; stateReader(stateReader?: ApplicationStateReader): void; postprocess(transform?: Postprocessor): void; preboot(preboot?: PrebootConfiguration | boolean): void; blacklist(blacklist?: boolean): void; stabilizeTimeout(milliseconds?: number): number | null; }