import { AnyTransformerDefinition, BooleanTransformerDefinition, ClampTransformerDefinition, FormulaTransformerDefinition, ITransformer, InlineTransform, MapTransformerDefinition, RoundTransformerDefinition, ScaleTransformerDefinition, TransformContext, TransformDirection } from './transformer.types'; declare abstract class BaseTransformer implements ITransformer { protected readonly direction: TransformDirection; constructor(direction?: TransformDirection); abstract read(value: unknown, context?: TransformContext): unknown; abstract write(value: unknown, context?: TransformContext): unknown; canRead(): boolean; canWrite(): boolean; } export declare class ScaleTransformer extends BaseTransformer { private readonly inputMin; private readonly inputMax; private readonly outputMin; private readonly outputMax; private readonly inputRangeValid; private readonly outputRangeValid; constructor(def: ScaleTransformerDefinition); read(value: unknown): unknown; write(value: unknown): unknown; } export declare class MapTransformer extends BaseTransformer { private readonly readMap; private readonly writeMap; private readonly writeFn?; private readonly writeFormula?; constructor(def: MapTransformerDefinition); read(value: unknown): unknown; write(value: unknown): unknown; } export declare class FormulaTransformer extends BaseTransformer { private readonly readFn?; private readonly writeFn?; private readonly readFormula?; private readonly writeFormula?; constructor(def: FormulaTransformerDefinition); read(value: unknown): unknown; write(value: unknown): unknown; } export declare class BooleanTransformer extends BaseTransformer { private readonly trueValue; private readonly falseValue; private readonly invert; constructor(def: BooleanTransformerDefinition); read(value: unknown): unknown; write(value: unknown): unknown; } export declare class ClampTransformer extends BaseTransformer { private readonly min; private readonly max; constructor(def: ClampTransformerDefinition); read(value: unknown): unknown; write(value: unknown): unknown; } export declare class RoundTransformer extends BaseTransformer { private readonly precision; constructor(def: RoundTransformerDefinition); read(value: unknown): unknown; write(value: unknown): unknown; } export declare class IdentityTransformer extends BaseTransformer { constructor(); read(value: unknown): unknown; write(value: unknown): unknown; } export declare function createTransformer(def: AnyTransformerDefinition): ITransformer; export declare function createInlineTransformer(transform: InlineTransform): ITransformer; export {};