import { EventEmitter } from '../../stencil-public-runtime';
import { OptionsSetFocus } from './interfaces/optionsSetFocus';
export declare class EzClassicTextArea {
  _element: HTMLElement;
  private _textAreaElem?;
  /** Nome da textarea */
  name?: string;
  /** Texto do rótulo exibido acima da área de texto */
  label?: string;
  /** Texto de placeholder exibido quando a área de texto está vazia */
  placeholder?: string;
  /** Valor atual da área de texto */
  value?: string;
  /** Texto de ajuda exibido abaixo da textarea */
  helpText?: string;
  /** Estado visual da textarea: default, error, success ou warning */
  state?: "default" | "error" | "success" | "warning";
  /** Define se a textarea está habilitada */
  enabled?: boolean;
  /** Se a área de texto é somente leitura */
  readonly?: boolean;
  /** Número máximo de caracteres permitidos */
  maxlength?: number;
  /** Comportamento de redimensionamento da área de texto */
  resize?: 'none' | 'both' | 'horizontal' | 'vertical';
  /** Nome do ícone à esquerda */
  leftIconName?: string;
  /** Nome do ícone à direita */
  rightIconName?: string;
  /** Título do ícone à direita (tooltip) */
  rightIconTooltip?: string;
  /** Título do ícone à esquerda (tooltip) */
  leftIconTooltip?: string;
  /** Define se o ícone da esquerda é clicável */
  leftIconClickable?: boolean;
  /** Define se o ícone da direita é clicável */
  rightIconClickable?: boolean;
  /** Define o número de linhas da área de texto */
  rows?: number;
  /** Evento emitido quando o valor da área de texto muda */
  ezChange: EventEmitter<string>;
  /** Evento emitido quando a área de texto perde foco */
  ezBlur: EventEmitter<string>;
  /**
   * Evento disparado quando um ícone é clicado.
   * Payload: { icon: "left" | "right" }
   */
  iconClick: EventEmitter<{
    icon: "left" | "right";
  }>;
  /** Aplica o foco no campo. */
  setFocus(option?: OptionsSetFocus): Promise<void>;
  /** Remove o foco do campo. */
  setBlur(): Promise<void>;
  private onBlur;
  private handleInput;
  private handleIconClick;
  private addInfoId;
  componentDidLoad(): void;
  render(): any;
}
