declare const REFERENCE_KEY: unique symbol; export interface Reference { [REFERENCE_KEY]: true; } export declare function asRef(obj: T): T extends undefined ? undefined : T & Reference; export declare function isRef(obj: any): obj is Reference; export declare class ReferenceMap { private refs; private refsById; private refCount; has(obj: Reference): boolean; get(obj: Reference): number | undefined; getByRefId(refId: number): Reference | undefined; create(obj: Reference): number; clear(): void; deleteByRefId(refId: number): void; set(ref: Reference, refId: number): void; snapshot(): number; get size(): number; rollbackTo(savedRefCount: number): void; } export {}; //# sourceMappingURL=reference.d.ts.map