import { OnDestroy } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { Any } from '@angular-ru/cdk/typings';
import { ControlValueInterceptorDescriptor } from './control-value-interceptor-descriptor';
import * as i0 from "@angular/core";
export declare class ControlValueInterceptor<ModelValue = unknown, ViewValue = ModelValue> implements OnDestroy {
    private onDestroy$;
    private readonly interceptor?;
    private controlValueOperators;
    constructor(accessors: ControlValueAccessor[]);
    ngOnDestroy(): void;
    attach<MediatorModelValue = Any, MediatorViewValue = MediatorModelValue>(descriptor: ControlValueInterceptorDescriptor<MediatorModelValue, MediatorViewValue>): void;
    detach<MediatorModelValue = Any, MediatorViewValue = MediatorModelValue>(descriptor: ControlValueInterceptorDescriptor<MediatorModelValue, MediatorViewValue>): void;
    private toModelValue;
    private toViewValue;
    private makeSequencesAndPassValues;
    private listenModelConvertToViewValue;
    private listenViewConvertToModelValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<ControlValueInterceptor<any, any>, [{ self: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ControlValueInterceptor<any, any>>;
}
//# sourceMappingURL=control-value-interceptor.d.ts.map