import { type DependencyKey, type IContainer, type Instance, type ResolveManyOptions, type ResolveOneOptions, type Tag } from './IContainer';
import { type IRegistration } from '../registration/IRegistration';
import { type constructor } from '../utils';
export declare abstract class AutoMockedContainer implements IContainer {
    isDisposed: boolean;
    createScope(): IContainer;
    dispose(): void;
    register(): this;
    getParent(): undefined;
    getScopes(): never[];
    getInstances(): Instance[];
    hasTag(tag: Tag): boolean;
    removeScope(): void;
    useModule(): this;
    getRegistrations(): never[];
    addRegistration(registration: IRegistration): this;
    abstract resolveMany<T>(alias: DependencyKey, options?: ResolveManyOptions): T[];
    abstract resolveByClass<T>(target: constructor<T>, options?: {
        args?: unknown[];
    }): T;
    abstract resolveOneByKey<T>(keyOrAlias: DependencyKey, options?: ResolveOneOptions): T;
    abstract resolveOneByAlias<T>(keyOrAlias: DependencyKey, options?: ResolveOneOptions): T;
    abstract resolveOne<T>(alias: constructor<T> | DependencyKey, options?: ResolveManyOptions): T;
}
