import { HttpResponseModel } from "@odata2ts/http-client-api"; import { ODataCollectionResponseV2, ODataCollectionResponseV4, ODataComplexModelResponseV2, ODataEntityModelResponseV2, ODataModelResponseV4, ODataValueResponseV2, ODataValueResponseV4 } from "@odata2ts/odata-core"; import { ResponseDataConverter } from "./ResponseDataConverter"; export type ExtractDataTypeFromV4ResponseStructure = ResponseStructure extends ODataValueResponseV4 | ODataModelResponseV4 | ODataCollectionResponseV4 ? T : ResponseStructure; export type ExtractDataTypeFromV2ResponseStructure = ResponseStructure extends ODataValueResponseV2 | ODataEntityModelResponseV2 | ODataComplexModelResponseV2 | ODataCollectionResponseV2 ? T : ResponseStructure; export declare abstract class MainResponseConverter { protected converter: ResponseDataConverter; constructor(converter: ResponseDataConverter); abstract convert(response: HttpResponseModel): HttpResponseModel; protected applyConverter(value: Type): import("../QueryObjectModel").FlexibleConversionModel; }