/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Subscription } from 'rxjs';
import { NgControl } from '@angular/forms';
import { ElementRef, EventEmitter, NgZone, Renderer2, ChangeDetectorRef, Injector } from '@angular/core';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare abstract class TextFieldsBase {
    protected localizationService: LocalizationService;
    protected ngZone: NgZone;
    protected changeDetector: ChangeDetectorRef;
    protected renderer: Renderer2;
    protected injector: Injector;
    protected hostElement: ElementRef;
    /**
     * Sets the `title` attribute of the internal textarea input element of the component.
     *
     * @remarks
     * This property is related to accessibility.
     */
    title: string | undefined;
    /**
     * Sets the disabled state of the TextArea component. To learn how to disable the component in reactive forms, refer to the article on [Forms Support](https://www.telerik.com/kendo-angular-ui/components/inputs/textarea/forms#managing-the-textarea-disabled-state-in-reactive-forms).
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Sets the read-only state of the TextArea component.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Provides a value for the TextArea component.
     */
    value: string;
    /**
     * Determines whether the whole value will be selected when the TextArea is clicked. Defaults to `false`.
     *
     * @default false
     */
    selectOnFocus: boolean;
    /**
     * The hint, which is displayed when the Textarea is empty.
     */
    placeholder: string;
    /**
     * Fires each time the user focuses the internal textarea element of the component.
     * This event is useful when you need to distinguish between focusing the textarea element and focusing one of its adornments.
     */
    inputFocus: EventEmitter<any>;
    /**
     * Fires each time the internal textarea element gets blurred.
     * This event is useful when adornments are used, in order to distinguish between blurring the textarea element and blurring the whole TextArea component.
     */
    inputBlur: EventEmitter<any>;
    /**
     * Represents the visible textarea element of the component.
     */
    input: ElementRef;
    get disabledClass(): boolean;
    direction: string;
    /**
     * @hidden
     */
    protected control: NgControl;
    protected subscriptions: Subscription;
    protected _isFocused: boolean;
    protected focusChangedProgrammatically: boolean;
    constructor(localizationService: LocalizationService, ngZone: NgZone, changeDetector: ChangeDetectorRef, renderer: Renderer2, injector: Injector, hostElement: ElementRef);
    ngOnDestroy(): void;
    /**
     * @hidden
     */
    handleInputBlur: () => void;
    /**
     * @hidden
     * Called when the status of the component changes to or from `disabled`.
     * Depending on the value, it enables or disables the appropriate DOM element.
     *
     * @param isDisabled
     */
    setDisabledState(isDisabled: boolean): void;
    ngChange: Function;
    ngTouched: Function;
    static ɵfac: i0.ɵɵFactoryDeclaration<TextFieldsBase, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TextFieldsBase, "kendo-textfield-base", never, { "title": { "alias": "title"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "selectOnFocus": { "alias": "selectOnFocus"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, { "inputFocus": "inputFocus"; "inputBlur": "inputBlur"; }, never, never, true, never>;
}
