import { TransformFnParams } from 'class-transformer'; import { Constructor } from '../../util'; import { PolarisTransformationService } from '../public/common/polaris-transformation-service'; /** Used by the {@link PropertyTransformer} to obtain the {@link PolarisTransformationService} without a circular dependency to `PolarisRuntime`. */ export type PolarisTransformationServiceGetter = () => PolarisTransformationService; /** * This provides a wrapper around the transformation logic required by `class-transformer` and integrates it with the `PolarisTransformationService`. */ export declare class PropertyTransformer { private polarisType; private static transformationServiceGetter; constructor(polarisType: Constructor); /** * Configures the PropertyTransformer with the {@link PolarisTransformationServiceGetter}. * * This is called by the `PolarisRuntimeBase` constructor. */ static initPropertyTransformer(transformationServiceGetter: PolarisTransformationServiceGetter): void; /** * Transform method called by `class-transformer` * * @param transformParams The transformation parameters provided by class-transformer. * This object has four properties: * * `value` The property value before the transformation. * * `key` The name of the property within the source object. * * `obj` The transformation source object. * * `type` The transformation type. * * @returns The transformed object. * * @see https://github.com/typestack/class-transformer#additional-data-transformation */ transform(transformParams: TransformFnParams): any; }