type Lifetime = 'SINGLETON' | 'TRANSIENT' | 'SCOPED';
/**
 * Define the possible scopes for an entity
 * @public
 * @class
 * @public
 * @type Scope
 */
export declare class Scope {
    /**
     * A single instance of the entity will be injected for all dependencies
     */
    static SINGLETON: Scope;
    /**
     * A new instance of the entity is returned every time is requested
     */
    static TRANSIENT: Scope;
    /**
     * A single instance per scope is available
     */
    static SCOPED: Scope;
    private readonly id;
    private readonly primitive;
    constructor(id: string, primitive: Lifetime);
    getId(): string;
    /**
     * Convert the current scope to awilix Lifetime primitive
     *
     * @returns {awilix.Lifetime}
     * @public
     */
    asPrimitive(): Lifetime;
    /**
     * Lookup a scope from it name
     * @param {String} name the name of the scope to lookup
     *
     * @returns {Scope} the {@link Scope} retrieved from it name
     *
     * @default Scope.SINGLETON
     *
     * @public
     */
    static fromName(name: string): Scope;
}
export {};
