import { type DependencyKey, type IContainer, type IContainerModule, type ResolveManyOptions, type ResolveOneOptions, type Tag } from './IContainer';
import { type IProvider } from '../provider/IProvider';
import { type IRegistration } from '../registration/IRegistration';
import { type constructor } from '../utils';
export declare class EmptyContainer implements IContainer {
    get isDisposed(): boolean;
    getParent(): undefined;
    resolveByClass<T>(token: constructor<T>, options?: {
        args?: [];
    }): T;
    getScopes(): never[];
    getInstances(): never[];
    createScope(): IContainer;
    dispose(): void;
    register(key: DependencyKey, value: IProvider): this;
    hasTag(tag: Tag): boolean;
    getRegistrations(): never[];
    removeScope(): void;
    useModule(module: IContainerModule): this;
    addRegistration(registration: IRegistration): this;
    resolveMany<T>(alias: DependencyKey, options?: ResolveManyOptions): T[];
    resolveOne<T>(key: constructor<T> | DependencyKey, options?: ResolveManyOptions): T;
    resolveOneByKey<T>(key: DependencyKey, options?: ResolveOneOptions): T;
    resolveOneByAlias<T>(key: DependencyKey, options?: ResolveOneOptions): T;
}
