import { IOptions } from './types';
declare const FAMILY_TREE = "__familyTree__";
export declare class Container {
    private _registrations;
    private _resolutionStack;
    private _parentContainer;
    options: IOptions;
    cache: any;
    [FAMILY_TREE]: Array<Container>;
    constructor(options?: IOptions, _parentContainer?: Container);
    get registrations(): any;
    private _registerAs;
    createScope(): Container;
    register(name: Object | string, registration?: any): Container;
    registerClass(name: Object | string, value?: any, options?: IOptions): Container;
    registerFunction(name: Object | string, value?: any, options?: IOptions): Container;
    registerValue(name: Object | string, value?: any, options?: IOptions): Container;
    resolve(name: string): any;
}
export default function createContainer(options?: IOptions, __parentContainer?: Container): Container;
export {};
