import { type FactoryProvider, type ProviderToken } from '@angular/core';
export declare abstract class TuiValueTransformer<From, To = unknown> {
    abstract toControlValue(componentValue: From): To;
    abstract fromControlValue(controlValue: To): From;
}
export declare function tuiValueTransformerFrom<T extends {
    valueTransformer: TuiValueTransformer<unknown>;
}>(token: ProviderToken<T>): FactoryProvider;
export declare class TuiNonNullableValueTransformer<T> extends TuiValueTransformer<T | null, T> {
    private prevValue;
    fromControlValue(value: T): T;
    toControlValue(value: T | null): T;
}
export declare const TUI_IDENTITY_VALUE_TRANSFORMER: TuiValueTransformer<any, any>;
