import { IDeliveryClientConfig } from '../config';
import { ICloudResponseDebug, IItemQueryConfig } from '../interfaces';
import { ContentItem, ElementResponses, ItemResponses, TaxonomyResponses, TypeResponses } from '../models';
import { IRichTextHtmlParser } from '../parser';
import { IBaseResponse } from '../services';
export declare class ResponseMapper {
    private readonly config;
    private readonly richTextHtmlParser;
    private readonly typeMapper;
    private readonly itemMapper;
    private readonly taxonomyMapper;
    private readonly elementMapper;
    constructor(config: IDeliveryClientConfig, richTextHtmlParser: IRichTextHtmlParser);
    /**
     * Gets response for getting a single type
     * @param response Response data
     */
    mapSingleTypeResponse(response: IBaseResponse): TypeResponses.DeliveryTypeResponse;
    /**
     * Gets resposne for getting multiple types
     * @param response Response data
     * @param options Options
     */
    mapMultipleTypeResponse(response: IBaseResponse): TypeResponses.DeliveryTypeListingResponse;
    /**
     * Gets response for getting single item
     * @param response Response data
     * @param queryConfig Query configuration
     */
    mapSingleResponse<TItem extends ContentItem>(response: IBaseResponse, queryConfig: IItemQueryConfig): ItemResponses.DeliveryItemResponse<TItem>;
    /**
     * Gets response for getting multiple items
     * @param response Response data
     * @param queryConfig Query configuration
     */
    mapMultipleResponse<TItem extends ContentItem>(response: IBaseResponse, queryConfig: IItemQueryConfig): ItemResponses.DeliveryItemListingResponse<TItem>;
    /**
     * Gets response for getting single taxonomy item
     * @param response Response data
     */
    mapTaxonomyResponse(response: IBaseResponse): TaxonomyResponses.TaxonomyResponse;
    /**
     * Gets response for getting multiples taxonomies
     * @param response Response data
     */
    mapTaxonomiesResponse(response: IBaseResponse): TaxonomyResponses.TaxonomiesResponse;
    /**
    * Gets response for getting single content type element
    * @param response Response data
    */
    mapElementResponse(response: IBaseResponse): ElementResponses.ElementResponse;
    mapResponseDebug(response: IBaseResponse): ICloudResponseDebug;
}
