import { Container, type interfaces } from 'inversify';
import { type ServiceIdentifier } from './instantiation';
export declare const providerContainer: Container;
export declare class InstantiationService {
    private readonly _services;
    private _isDisposed;
    constructor();
    registerInstance<T>(id: ServiceIdentifier<T>, value: T): T;
    registerSingleton<T>(id: interfaces.ServiceIdentifier<T>, value: T): T;
    registerSingleton<T>(id: interfaces.Newable<T>): T;
    registerSingleton<T>(id: ServiceIdentifier<T>, ctor: interfaces.Newable<T>): T;
    get<T>(id: ServiceIdentifier<T>): T;
    dispose(): void;
    private _getOrCreateInstance;
    private _throwIfDisposed;
}
