import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { ThemeService } from '../../core/theme/theme.service';
import { LayoutControlService } from '../../core/layout-control/layout-control.service';
import * as i0 from "@angular/core";
export declare class TextareaComponent implements ControlValueAccessor, OnInit, OnDestroy {
    private layoutControlService;
    private elementRef;
    private themeService;
    private req;
    private res;
    set required(val: any);
    get required(): any;
    placeholder: string;
    tabindex: number;
    minHeight: number;
    maxHeight: number;
    small: boolean;
    label: string;
    caption: string;
    resizable: boolean;
    error: string;
    disabled: boolean;
    fullWidth: boolean;
    focusEvent: EventEmitter<any>;
    blurEvent: EventEmitter<any>;
    elementClone: ElementRef;
    textarea: ElementRef;
    value: string;
    focused: boolean;
    rows: number;
    textareaId: string;
    constructor(layoutControlService: LayoutControlService, elementRef: ElementRef, themeService: ThemeService);
    ngOnInit(): void;
    onFocus(): void;
    onBlur(): void;
    change(target: any): void;
    writeValue(value: any): void;
    onChange(value: any): void;
    onTouched(): void;
    isEmpty(): boolean;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TextareaComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TextareaComponent, "sdk-textarea", never, { "required": "required"; "placeholder": "placeholder"; "tabindex": "tabindex"; "minHeight": "minHeight"; "maxHeight": "maxHeight"; "small": "small"; "label": "label"; "caption": "caption"; "resizable": "resizable"; "error": "error"; "disabled": "disabled"; "fullWidth": "fullWidth"; }, { "focusEvent": "focusEvent"; "blurEvent": "blurEvent"; }, never, never, false>;
}
