import { DataServiceAdapter } from './interface-registry'; import { DataService, JsonResultsAdapter } from './data-service'; import { MetadataStore, DataProperty } from './entity-metadata'; import { EntityManager } from './entity-manager'; import { MergeStrategy } from './query-options'; import { EntityQuery } from './entity-query'; /** For use by breeze plugin authors only. The class is for use in building a [[IDataServiceAdapter]] implementation. @adapter (see [[IDataServiceAdapter]]) @hidden */ export interface MergeOptions { mergeStrategy: MergeStrategy; includeDeleted?: boolean; noTracking?: boolean; } /** @hidden */ export interface MappingContextConfig { dataService: DataService; query?: EntityQuery | string; entityManager: EntityManager; mergeOptions: MergeOptions; } /** For use by breeze plugin authors only. The class is for use in building a [[IDataServiceAdapter]] implementation. @adapter (see [[IDataServiceAdapter]]) @hidden */ export declare class MappingContext { /** @hidden @internal */ _$typeName: string; rawValueFn: typeof DataProperty.getRawValueFromServer; dataService: DataService; query: EntityQuery | string; entityManager: EntityManager; mergeOptions: MergeOptions; adapter: DataServiceAdapter; refMap: Record; deferredFns: Function[]; jsonResultsAdapter: JsonResultsAdapter; metadataStore: MetadataStore; constructor(config: MappingContextConfig); getUrl(): string; visitAndMerge(nodes: any[], nodeContext: any): any; processDeferred(): void; }