import { ControlValueAccessor } from '@angular/forms';
import { Any } from '@angular-ru/cdk/typings';
import { Observable } from 'rxjs';
export declare class ControlValueAccessorPatcher<ModelValue = Any, ViewValue = ModelValue> {
    private readonly accessor;
    private readonly onViewValueChangedSubject$;
    private readonly onModelValueChangedSubject$;
    private writeViewValueFunction;
    private registerOnViewValueChangeFunction;
    private onModelValueChangeFunction?;
    readonly onViewValueChanged$: Observable<ViewValue>;
    readonly onModelValueChanged$: Observable<ModelValue>;
    constructor(accessor: ControlValueAccessor);
    pushModelValue(modelValue: ModelValue): void;
    pushViewValue(viewValue: ViewValue): void;
    detach(): void;
    private patchAccessorFunctions;
    private saveOriginalAccessorFunctions;
}
//# sourceMappingURL=control-value-accessor-patcher.d.ts.map