import { IDisposable } from './disposable'; export interface IReference extends IDisposable { readonly object: T; } export declare abstract class ReferenceCollection { private references; constructor(); acquire(key: string): IReference; protected abstract createReferencedObject(key: string): T; protected abstract destroyReferencedObject(key: string, object: T): void; } export declare class ImmortalReference implements IReference { object: T; constructor(object: T); dispose(): void; } //# sourceMappingURL=lifecycle.d.ts.map