import { ElementRef, EventEmitter, OnChanges, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { FormFieldAbstract } from '../form/form-field.abstract';
import { InputModel } from './input.model';
import { PrefixDirective } from '../../directives/prefix.directive';
import { SuffixDirective } from '../../directives/suffix.directive';
export declare class InputComponent extends FormFieldAbstract implements ControlValueAccessor, OnChanges, OnInit {
    static readonly defaultProps: InputModel;
    formControlWrapperRef: ElementRef;
    materializePrefixQueryList: QueryList<PrefixDirective>;
    materializeSuffixQueryList: QueryList<SuffixDirective>;
    onFocusEmitter: EventEmitter<void>;
    onChangeEmitter: EventEmitter<string>;
    onBlurEmitter: EventEmitter<Event>;
    autocompleteInput: string;
    classNameInput: string;
    disabledInput: boolean;
    floatLabelInput: string;
    hasCounterInput: boolean;
    idInput: string | null;
    maxLengthInput: number;
    nameInput: string;
    placeholderInput: string;
    requiredInput: boolean;
    typeInput: 'text' | 'password';
    validateOnBlurInput: boolean;
    validateOnChangeInput: boolean;
    valueInput: string;
    autocomplete: string;
    className: string;
    disabled: boolean;
    floatLabel: string;
    hasCounter: boolean;
    id: string | null;
    isFocused: boolean;
    maxLength: number;
    name: string;
    placeholder: string;
    required: boolean;
    type: string;
    value: string;
    constructor();
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    initValues(): void;
    onBlur(event: any): void;
    onFocus(event: Event): void;
    onChange(event: any): void;
    setDisabledState(isDisabled: boolean): void;
    writeValue(value: string): void;
    registerOnChange(fn: (value: string) => void): void;
    registerOnTouched(fn: () => void): void;
    onInputChange(value: string): void;
    onTouched(): void;
}
