import { AsyncContextStore } from "@apiratorjs/async-context";
import { IDiConfigurator, ServiceToken } from "./types";
export declare class DiContainer {
    private readonly _diConfigurator;
    constructor(_diConfigurator: IDiConfigurator);
    resolve<T>(token: ServiceToken<T>): Promise<T>;
    runWithNewRequestScope(initialStore: AsyncContextStore, callback: (diContainer: DiContainer) => Promise<any> | any): Promise<void>;
    isInRequestScopeContext(): boolean;
    dispose(): Promise<void>;
    getRequestScopeContext(): AsyncContextStore | undefined;
}
//# sourceMappingURL=di-container.d.ts.map