import { Container as BaseContainer, interfaces } from 'inversify';
import { ContainerConfig, ModuleOptions } from './interfaces';
export declare class Container extends BaseContainer {
    private _serviceIdentifiers;
    constructor(options: interfaces.ContainerOptions, _serviceIdentifiers: Map<interfaces.ServiceIdentifier<any>, interfaces.ServiceIdentifier<any>[]>);
    /**
     * get the loaded module
     */
    got<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T | undefined;
    /**
     * get loaded modules
     */
    gotAll<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T[] | undefined;
}
export declare function bindModules(container: Container, modules: ModuleOptions[]): void;
export declare function createContainer({ ServiceIdentifiers, modules, options, }: ContainerConfig): Container;
//# sourceMappingURL=createContainer.d.ts.map