import { ElementRef, EventEmitter } from "@angular/core";
import { ControlValueAccessor } from "@angular/forms";
import { NuiFormFieldControl } from "../form-field/public-api";
import * as i0 from "@angular/core";
/**
 * __Name :__
 * NUI Textbox component.
 *
 */
export declare class TextboxComponent implements ControlValueAccessor, NuiFormFieldControl {
    /**
     * Used to access input and textarea native elements
     */
    textboxInput: ElementRef;
    /**
     * Value used as a label for the text box.
     */
    caption: string;
    /**
     * Use to enable or disable input autocomplete from browser. Default value is "on".
     */
    autocomplete: "on" | "off";
    /**
     * Value used as a info in popover for the text box.
     */
    info: string;
    /**
     * Use to set a custom width for the input field.
     */
    customBoxWidth: string;
    /**
     * Event fired when input text is changed.
     */
    textChange: EventEmitter<string | number>;
    /**
     * The option to disable the text box.
     */
    disabled: boolean;
    /**
     * Help content provided below the text box.
     */
    hint: string;
    /**
     * Name of the element.
     */
    name: string;
    /**
     * Value used as a placeholder for the text box.
     */
    placeholder: string;
    /**
     * The option to make the text box read only.
     */
    readonly: boolean;
    /**
     * Makes textbox multiline (textarea), specifies rows count
     */
    rows: number;
    /**
     * Use to set type of input (number, password etc.).
     */
    type: string;
    /**
     * Input initial value
     */
    value: string;
    /**
     * Input to apply error state styles
     */
    isInErrorState: boolean;
    /**
     * Input to set aria label text
     */
    ariaLabel: string;
    /**
     * Input to apply busy state and show spinner
     */
    isBusy: boolean;
    /**
     * Event fired when textbox is focused out.
     */
    blurred: EventEmitter<any>;
    private optionalText;
    focus(): void;
    onBlurEventEmit(): void;
    onChangeEvent($event: any): void;
    onChange(value: any): void;
    _onTouched(): void;
    writeValue(value: string): void;
    registerOnChange(fn: () => void): void;
    registerOnTouched(fn: () => {}): void;
    setDisabledState(isDisabled: boolean): void;
    private changeValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<TextboxComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TextboxComponent, "nui-textbox", never, { "caption": "caption"; "autocomplete": "autocomplete"; "info": "info"; "customBoxWidth": "customBoxWidth"; "disabled": "disabled"; "hint": "hint"; "name": "name"; "placeholder": "placeholder"; "readonly": "readonly"; "rows": "rows"; "type": "type"; "value": "value"; "isInErrorState": "isInErrorState"; "ariaLabel": "ariaLabel"; "isBusy": "isBusy"; }, { "textChange": "textChange"; "blurred": "blurred"; }, never, never, false, never>;
}
