import { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
import { IApiControllerProperties } from '../../../interface/decorator/api';
import { TApiRequestTransformer } from '../../../type/api-request-transformer.type';
import { TApiControllerTransformDataData, TApiControllerTransformDataObjectToTransform } from '../../../type/utility';
import { EApiControllerRequestTarget, EApiControllerResponseTarget } from '../../../enum/decorator/api';
/**
 * Transforms data between request/response objects and entity objects.
 * Handles both static and dynamic transformations for body, query, parameters, and response data.
 * @template E - The entity type.
 * @param {object | undefined} targets - Target-specific transformer configuration.
 * @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}
 */
export declare function ApiControllerTransformData<E extends IApiBaseEntity>(targets: Partial<Record<EApiControllerRequestTarget | EApiControllerResponseTarget, {
    transformers?: Array<TApiRequestTransformer<E>>;
}>> | undefined, properties: IApiControllerProperties<E>, objectToTransform: TApiControllerTransformDataObjectToTransform<E>, data: TApiControllerTransformDataData): void;
