import { Resolver, RegistrationBuilder } from "./interfaces"; import { Descriptor, ILifetime, ActivationType, ServiceContainer } from "../interfaces"; export declare class DescriptorBuilder { private readonly _container; private readonly _cb; private readonly _eb; private _lifetime; private _overrides?; private _cleanup?; private _factory?; private _pending; private _failed; constructor(container: ServiceContainer, cb: (d: Descriptor) => void, eb: (err: any) => void); build(): DescriptorBuilder; override(name: K, builder: RegistrationBuilder): this; override(services: { [name in K]: RegistrationBuilder; }): this; lifetime(lifetime: "singleton", typeId: string): this; lifetime(lifetime: ILifetime | Exclude): this; cleanup(cb: (item: T) => void): this; factory(f: (resolve: Resolver) => T): void; value(v: T): void; _resolveLifetime(activation: ActivationType, typeId?: string | object): ILifetime; _defer(): void; _complete(): void; _fail(err: any): void; }