import { AfterContentInit, AfterViewInit, ChangeDetectorRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { DokuFormFieldOptions } from './form-field-accessor';
import * as i0 from "@angular/core";
export declare class DokuFormField implements AfterContentInit, AfterViewInit, OnDestroy, OnChanges {
    private cdRef;
    /**
     * Whether to show the success behavior when the validation is valid.
     * @default false
     */
    showSuccessBehavior: boolean;
    /**
     * Override built-in error state handler.
     * @default undefined
     */
    isErrorState?: boolean;
    /**
     * Override built-in success state handler.
     */
    isSuccessState?: boolean;
    protected readonly classes = "d-form-field";
    protected fieldOptions?: DokuFormFieldOptions;
    protected hasFieldHint: boolean;
    protected hasFieldError: boolean;
    protected hasFieldSuccess: boolean;
    protected get shouldShowFieldHelper(): boolean;
    protected get isError(): boolean;
    protected set isError(value: boolean);
    private _isError;
    protected get isSuccess(): boolean;
    protected set isSuccess(value: boolean);
    private _isSuccess;
    private _isFocus;
    protected set isFocus(value: boolean);
    protected get isFocus(): boolean;
    protected isDisabled: boolean;
    protected isReadonly: boolean;
    protected isTextarea: boolean;
    private formFieldAccessor?;
    private fieldHint?;
    private fieldError?;
    private fieldSuccess?;
    private inputWrapperElementRef?;
    private destroy$;
    constructor(cdRef: ChangeDetectorRef);
    protected get inputWrapperElement(): HTMLElement;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterContentInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private handleFormFieldOptions;
    private handleRegisterOnFocus;
    private handleRegisterOnBlur;
    private handleRegisterOnDisable;
    private handleRegisterOnReadonly;
    private handleRegisterOnValidate;
    private handleOnClickWrapperElement;
    private handleTextarea;
    private isElementPrefixOrSuffixClicked;
    private checkElementChildren;
    private useCustomErrorStateMatcher;
    private useCustomSuccessStateMatcher;
    static ɵfac: i0.ɵɵFactoryDeclaration<DokuFormField, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DokuFormField, "doku-form-field", ["dokuFormField"], { "showSuccessBehavior": "showSuccessBehavior"; "isErrorState": "isErrorState"; "isSuccessState": "isSuccessState"; }, {}, ["formFieldAccessor", "fieldHint", "fieldError", "fieldSuccess"], ["doku-field-label", "[doku-field-prefix]", "*", "[doku-field-suffix]", "doku-field-hint", "doku-field-error", "doku-field-success"], true>;
}
