import { InstanceTypeOrValue } from './types';
export declare class IoCContainer<T extends Record<string, any>> {
    private _resources;
    constructor();
    has<K extends keyof T>(name: K): any;
    private _resolveResourceDependency;
    private _registerResource;
    register<K extends keyof T>(name: K, entity: T[K]): this;
    registerClass<K extends keyof T>(name: K, service: T[K]): this;
    resolve<K extends keyof T>(name: K): InstanceTypeOrValue<T[K]>;
}
