import { OnInit, EventEmitter, AfterViewInit, ElementRef, OnDestroy } from "@angular/core";
import { AbstractControl, UntypedFormControl } from "@angular/forms";
import { MatFormFieldAppearance } from "@angular/material/form-field";
import { ITextMask } from "../../../@interfaces/eagna.interface";
import * as i0 from "@angular/core";
export declare class InputComponent implements OnInit, OnDestroy, AfterViewInit {
    type: string;
    name?: string;
    label?: string;
    placeholder?: string;
    frmControl?: UntypedFormControl;
    disabled?: boolean;
    readonly?: boolean;
    required?: boolean;
    appearance?: MatFormFieldAppearance;
    classes?: string | string[];
    textTooltip?: string;
    labelTooltip?: string;
    onExit?: EventEmitter<boolean>;
    hintLabel: string;
    minlength: number;
    dontForceMinLength: boolean;
    maxlength: number;
    displayMaxLength: boolean;
    dontForceMaxLength: boolean;
    codeMask: ITextMask;
    dontFocus: boolean;
    textInput: ElementRef;
    private _subscription;
    hasRequiredField: (abstractControl: AbstractControl) => boolean;
    constructor();
    ngOnInit(): void;
    ngAfterViewInit(): void;
    getErrorMessage(): any;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "eagna-input", never, { "type": "type"; "name": "name"; "label": "label"; "placeholder": "placeholder"; "frmControl": "frmControl"; "disabled": "disabled"; "readonly": "readonly"; "required": "required"; "appearance": "appearance"; "classes": "classes"; "textTooltip": "textTooltip"; "labelTooltip": "labelTooltip"; "hintLabel": "hintLabel"; "minlength": "minlength"; "dontForceMinLength": "dontForceMinLength"; "maxlength": "maxlength"; "displayMaxLength": "displayMaxLength"; "dontForceMaxLength": "dontForceMaxLength"; "codeMask": "codeMask"; "dontFocus": "dontFocus"; }, { "onExit": "onExit"; }, never, never, false>;
}
