import { DoCheck, ElementRef, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { NgControl } from '@angular/forms';
import { InputDirective } from '@eui/components/shared';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from "@angular/core";
import * as i1 from "@eui/components/directives";
/**
 * @description
 * A custom input text component that extends InputDirective and provides additional functionality
 * such as validation states, clearable input, and loading states.
 */
export declare class EuiInputTextComponent extends InputDirective implements OnInit, OnDestroy, DoCheck {
    /**
     * @description
     * Gets the CSS classes for the component, including validation state classes
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get class(): string;
    /**
     * @description
     * Gets or sets the invalid state of the input
     * When used with NgControl, this state is automatically managed based on control state
     *
     * @returns {boolean} Current invalid state
     */
    get isInvalid(): boolean;
    /**
     * @param {BooleanInput} state - The invalid state to set
     */
    set isInvalid(state: BooleanInput);
    /** @internal */
    protected _isInvalid: boolean;
    protected control: NgControl;
    protected _elementRef: ElementRef;
    protected _renderer: Renderer2;
    /**
     * @description
     * Initializes the component and sets the root class name
     */
    ngOnInit(): void;
    /**
     * @description
     * Cleans up component resources
     */
    ngOnDestroy(): void;
    /**
     * @description
     * Checks and updates the invalid state when using NgControl
     */
    ngDoCheck(): void;
    /**
     * @description
     * Sets the invalid state of the input and updates related properties
     *
     * @param {BooleanInput} state - The invalid state to set
     * @protected
     */
    protected setInvalid(state?: BooleanInput): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiInputTextComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiInputTextComponent, "input[euiInputText]", never, { "isInvalid": { "alias": "isInvalid"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.EuiClearableDirective; inputs: { "euiClearable": "euiClearable"; "readonly": "readonly"; "disabled": "disabled"; }; outputs: {}; }, { directive: typeof i1.EuiLoadingDirective; inputs: { "euiLoading": "euiLoading"; "readonly": "readonly"; }; outputs: {}; }]>;
}
//# sourceMappingURL=eui-input-text.component.d.ts.map