import { InjectionToken } from '@decorators/di';
import { ContainerManager } from './helpers';
import { ClassConstructor, Server } from './types';
export declare class Application {
    private containerManager;
    static create(rootModule: ClassConstructor, server?: Server): Promise<Application>;
    constructor(containerManager: ContainerManager);
    inject<T>(target: InjectionToken | ClassConstructor): Promise<T>;
    scan<T>(target: InjectionToken | ClassConstructor): Promise<T[]>;
}
