import { TDMModel, TransformDir, Constructor, SerializeMapper, DeserializeMapper } from '@tdm/core/tdm'; import { AdapterStatic } from '../fw'; export declare class Store { protected constructor(); getIdentityKey(target: any, direction?: TransformDir): string | undefined; hasTarget(target: any): boolean; serialize(target: Constructor, mapper: SerializeMapper): any; /** * Deserialize and instance of "DeserializeMapper" into an instance of tge target supplied * @param target * @param mapper * @returns */ deserialize(mapper: DeserializeMapper): TDMModel | TDMModel[] | undefined; /** * Deserialize and instance of "DeserializeMapper" into a plain object (object literal) * @param mapper */ deserializePlain(mapper: DeserializeMapper): any; /** * Search for a target registered in the repository by it's name. * @see ModelMetadataArgs#resName * @param name */ findModel(name: string): any | undefined; getModelName(target: any): string | undefined; /** * Marks mixins as part of the functionality of a target, in a specific adapter. * This will not apply the mixin, it's just metadata about he relation. * @param target * @param adapterClass * @param mixins */ markMixins(target: any, adapterClass: AdapterStatic, ...mixins: any[]): void; /** * Creates a new Store instance. * @param instance optional, used internally * @returns */ static create(instance?: Store): Store; } export declare const store: Store;