import 'reflect-metadata'; import { ApplicationConfig } from './ApplicationConfig'; import { ServiceProvider } from './ServiceProvider'; import { Container } from './Container'; export declare class Application { /** * The application configuration */ readonly config: ApplicationConfig; /** * The service providers registered with the application */ readonly serviceProviders: ServiceProvider[]; /** * The IoC container for this application */ readonly ioc: Container; /** * Create a new Application * * @param config */ constructor(container: Container, config: ApplicationConfig); /** * Register a service provider with the application */ register(serviceProvider: ServiceProvider): void; /** * Boot the application. This should be called after all providers are registered */ boot(): void; }