import { DestroyRef, ElementRef, OnInit } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import * as i0 from "@angular/core";
export declare class CovalentTextfieldValueAccessorDirective implements ControlValueAccessor, OnInit {
    private _elementRef;
    _ngControl: NgControl;
    private _destroyRef;
    private _onChange;
    private _onTouched;
    constructor(_elementRef: ElementRef<any>, _ngControl: NgControl, _destroyRef: DestroyRef);
    ngOnInit(): void;
    writeValue(value: string): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    /**
     * Gets the updateOn strategy of the control.
     * @returns The updateOn strategy of the control, defaulting to 'change' if not set.
     */
    private getUpdateOn;
    handleInput(): void;
    handleChange(): void;
    handleBlur(): void;
    setDisabledState(isDisabled: boolean): void;
    private _isCheckBox;
    private _isRadio;
    private _isTextAreaOrField;
    private _updateValidity;
    static ɵfac: i0.ɵɵFactoryDeclaration<CovalentTextfieldValueAccessorDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<CovalentTextfieldValueAccessorDirective, "cv-textfield[formControl],     cv-textarea[formControl],     cv-select[formControl],     cv-checkbox[formControl],     cv-checkbox-icon[formControl],     cv-radio[formControl],      cv-radio-icon[formControl],     cv-textfield[formControlName],     cv-textarea[formControlName],     cv-select[formControlName],     cv-checkbox[formControlName],     cv-checkbox-icon[formControlName],     cv-radio[formControlName],      cv-radio-icon[formControlName],", never, {}, {}, never, never, true, never>;
}
