import { IDeliveryClientConfig } from '../config'; import { ItemContracts } from '../data-contracts'; import { IContentItem, IContentItemsContainer, IItemQueryConfig } from '../models'; import { IRichTextHtmlParser } from '../parser'; export interface MapItemResult { item: TItem; processedItems: IContentItemsContainer; preparedItems: IContentItemsContainer; processingStartedForCodenames: string[]; } export interface MapItemsResult { items: TItem[]; processedItems: IContentItemsContainer; preparedItems: IContentItemsContainer; processingStartedForCodenames: string[]; } export declare class ItemMapper { readonly config: IDeliveryClientConfig; readonly richTextHtmlParser: IRichTextHtmlParser; private readonly elementMapper; constructor(config: IDeliveryClientConfig, richTextHtmlParser: IRichTextHtmlParser); /** * Maps single item to its proper strongly typed model from the given Cloud response * @param response Cloud response used to map the item * @param queryConfig Query configuration */ mapSingleItem(response: ItemContracts.IViewContentItemContract, queryConfig: IItemQueryConfig): MapItemResult; /** * Maps multiple items to their strongly typed model from the given Cloud response * @param response Cloud response used to map the item * @param queryConfig Query configuration */ mapMultipleItems(response: ItemContracts.IListContentItemsContract, queryConfig: IItemQueryConfig): MapItemsResult; private mapItem; }