import type { EApiRouteType } from '../../../enum/decorator/api/index';
import type { IApiControllerProperties } from '../../../interface/decorator/api/index';
import type { TApiControllerPropertiesRouteBaseRequestTransformers, TApiControllerPropertiesRouteBaseResponseTransformers } from '../../../type/decorator/api/controller/index';
import type { TApiControllerTransformDataData, TApiControllerTransformDataObjectToTransform } from '../../../type/utility/index';
/**
 * Transforms data between request/response objects and entity objects.
 * Handles both static and dynamic transformations for body, query, request, and response data.
 * @param {TApiControllerPropertiesRouteBaseRequestTransformers<E, R> | TApiControllerPropertiesRouteBaseResponseTransformers<E, R> | undefined} transformers - Configuration for data transformations
 * @param {IApiControllerProperties<E>} properties - Controller configuration properties
 * @param {TApiControllerTransformDataObjectToTransform<E>} objectToTransform - The object to apply transformations to
 * @param {TApiControllerTransformDataData} data - Data sources to use for transformations including headers, IP address, and authentication
 * @returns {void}
 * @template E - The entity type
 * @template R - The route type
 */
export declare function ApiControllerTransformData<E, R extends EApiRouteType>(transformers: TApiControllerPropertiesRouteBaseRequestTransformers<E, R> | TApiControllerPropertiesRouteBaseResponseTransformers<E, R> | undefined, properties: IApiControllerProperties<E>, objectToTransform: TApiControllerTransformDataObjectToTransform<E>, data: TApiControllerTransformDataData): void;
