import { ISerberPlugin } from '@berish/serber'; import { Entity } from '../../entity'; import { IRaw, RawTypeEnum } from '../abstract'; /** * Параметр, в котором мы указываем пустой массив на входе. * В него будут подгружены все Entities в момент десериализации. * Они будут пустые, но ссылочными. * Нужно, чтобы мы в одном месте смогли разом подгрузить всю информацию для них. * Если параметр не указан, но указан менеджер, при асинхронной десериализации каждый объект самостоятельно подгрузиться * (Подгрузка только name, data мы можем подгрузить только конкретно) */ export declare const SYMBOL_SERBER_CACHE_ENTITIES: unique symbol; /** * Параметр, в который мы указываем массив String значений * Показывает, при каких id не нужно добавлять в кеш значение */ export declare const SYMBOL_SERBER_CACHE_ENTITIES_IGNORE_IDS: unique symbol; export declare const SYMBOL_SERBER_FOR_LOAD_ENTITIES: unique symbol; export interface IEntityPointer extends IRaw { /** * Ссылка на оригинальный объект, имеет следующий вид '${id:string}:${className:string}' */ link: string; } export interface IEntityToEntityPointerPluginOptions { [SYMBOL_SERBER_CACHE_ENTITIES]?: Entity[]; [SYMBOL_SERBER_CACHE_ENTITIES_IGNORE_IDS]?: string[]; [SYMBOL_SERBER_FOR_LOAD_ENTITIES]?: Entity[]; } export declare const entityToEntityPointerPlugin: ISerberPlugin;