import { SerializationMetaType } from '../../../utils';
declare class ItemRef {
    readonly isItemRef = true;
    id: string;
    constructor(id?: string);
    toJSON(meta?: SerializationMetaType): {
        id?: undefined;
    } | {
        id: string;
    };
    ['_itemObject']: any;
    fromJSON(data: any, meta?: SerializationMetaType): this;
}
interface Item {
    id: string;
    refs: Map<any, Set<ItemRef>>;
    object: any;
}
export declare class ReferenceManager {
    static Objects: Map<string, Item>;
    static Get(ref: ItemRef): any;
    static Add(id: string, object: any, refOwner: any): ItemRef;
    static Remove(id: string, refOwner: any, ref: ItemRef): void;
    static Delete(object: any): void;
    static RemoveOp(val: ItemRef | any, refOwner: any): void;
    static GetOp(val: ItemRef | any, warn?: boolean): any;
    static GetCached(valRaw: ItemRef | any): any;
}
export {};
//# sourceMappingURL=../../../src/plugins/extras/components/ReferenceManager.d.ts.map