import { ElementRef, OnInit, Renderer2 } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
export declare abstract class FormFieldDirective implements OnInit, ControlValueAccessor {
    protected abstract element: ElementRef;
    protected abstract renderer: Renderer2;
    protected oldState: {
        cursorStart: number;
        cursorEnd: number;
        value: string;
    };
    protected isDisabled: boolean;
    protected onChange: (...arg: any[]) => undefined;
    protected onTouch: () => undefined;
    ngOnInit(): void;
    onKeyDown(): void;
    onBlur(): void;
    writeValue(value: string): void;
    setDisabledState(isDisabled: boolean): void;
    protected getValueFromKeyboardEvent(event: KeyboardEvent): string;
    protected setCursorPosition(start: number, end?: number): void;
    resetField(): void;
    updateFieldValue(value: string): void;
    registerOnChange(fn: (...arg: any[]) => undefined): void;
    registerOnTouched(fn: () => undefined): void;
}
