import { DoCheck, ElementRef, InjectionToken, NgZone, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core'; import { FormGroupDirective, NgControl, NgForm } from '@angular/forms'; import { CanUpdateErrorState, ErrorStateMatcher } from '@koobiq/components/core'; import { KbqFormFieldControl } from '@koobiq/components/form-field'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; export declare const KBQ_TEXTAREA_VALUE_ACCESSOR: InjectionToken<{ value: any; }>; export declare class KbqTextarea implements KbqFormFieldControl, OnInit, OnChanges, OnDestroy, DoCheck, CanUpdateErrorState { protected elementRef: ElementRef; ngControl: NgControl; parentForm: NgForm; parentFormGroup: FormGroupDirective; defaultErrorStateMatcher: ErrorStateMatcher; private parent; private ngZone; private readonly useLegacyValidation; /** Whether the component is in an error state. */ errorState: boolean; /** Parameter enables or disables the ability to automatically increase the height. * If set to false, the textarea becomes vertically resizable. */ get canGrow(): boolean; set canGrow(value: boolean); protected readonly isBrowser: boolean; protected readonly renderer: Renderer2; private readonly window; private _canGrow; /** Maximum number of lines to which the textarea will grow. Default unlimited */ maxRows: number; /** An object used to control when error messages are shown. */ errorStateMatcher: ErrorStateMatcher; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ focused: boolean; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ readonly stateChanges: Subject; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ controlType: string; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ get disabled(): boolean; set disabled(value: boolean); /** * Implemented as part of KbqFormFieldControl. * @docs-private */ get id(): string; set id(value: string); /** * Implemented as part of KbqFormFieldControl. * @docs-private */ placeholder: string; /** Distance from the last line to the bottom border */ freeRowsHeight: number; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ get required(): boolean; set required(value: boolean); /** * Implemented as part of KbqFormFieldControl. * @docs-private */ get value(): string; set value(value: string); /** Flag that will be set to true when the maximum number of lines is reached. * Maximum number of rows can be set using the maxRows input. */ get maxRowLimitReached(): boolean; protected uid: string; protected previousNativeValue: any; private _disabled; private _id; private _required; private valueAccessor; private growSubscription; private lineHeight; private minHeight; private rowsCount; constructor(elementRef: ElementRef, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, defaultErrorStateMatcher: ErrorStateMatcher, inputValueAccessor: any, parent: any, ngZone: NgZone); ngOnInit(): void; ngOnChanges(): void; ngOnDestroy(): void; ngDoCheck(): void; updateErrorState(): void; onBlur(): void; /** Grow textarea height to avoid vertical scroll */ grow: () => void; /** Focuses the textarea. */ focus(): void; /** Callback for the cases where the focused state of the textarea changes. */ focusChanged(isFocused: boolean): void; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ get empty(): boolean; /** * Implemented as part of KbqFormFieldControl. * @docs-private */ onContainerClick(): void; /** Does some manual dirty checking on the native textarea `value` property. */ protected dirtyCheckNativeValue(): void; /** Checks whether the textarea is invalid based on the native validation. */ protected isBadInput(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; static ngAcceptInputType_canGrow: unknown; static ngAcceptInputType_freeRowsHeight: unknown; }