import { OnInit, OnChanges } from '@angular/core';
import { FormControl } from '@angular/forms';
import { FudisInputType } from '../../../types/forms';
import { FudisIdService } from '../../../services/id/id.service';
import { FudisFocusService } from '../../../services/focus/focus.service';
import { FudisComponentChanges } from '../../../types/miscellaneous';
import { TextFieldComponentBaseDirective } from '../../../directives/form/text-field-component-base/text-field-component-base.directive';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class TextInputComponent extends TextFieldComponentBaseDirective implements OnInit, OnChanges {
    constructor(_focusService: FudisFocusService, _idService: FudisIdService);
    /**
     * FormControl binded to the HTML input element
     */
    control: FormControl<string | null | number>;
    /**
     * HTML type attribute
     */
    type: FudisInputType;
    /**
     * Browser's automated assistance in filling out form field values, describing what input is
     * expected from the user.
     */
    autocomplete: string | string[];
    /**
     * HTML name attribute (Note: in order to autocomplete to work properly, TextInput should have
     * specified name attribute as well)
     */
    name: string | null;
    /**
     * Max number for number input HTML attribute
     */
    protected _maxNumber: BehaviorSubject<number | null>;
    /**
     * Min number for number input HTML attribute
     */
    protected _minNumber: BehaviorSubject<number | null>;
    /**
     * Subscription for handling the valueChanges observable
     */
    private _subscription;
    ngOnInit(): void;
    ngOnChanges(changes: FudisComponentChanges<TextInputComponent>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TextInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TextInputComponent, "fudis-text-input", never, { "control": { "alias": "control"; "required": true; }; "type": { "alias": "type"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "name": { "alias": "name"; "required": false; }; }, {}, never, ["fudis-error-message"], false, never>;
}
