import { EventEmitter, ComponentInterface } from '../../stencil-public-runtime';
import { FormInput } from '../../utils/form-input';
import { BalAriaForm, BalAriaFormLinking } from '../../utils/form';
export declare class Textarea implements ComponentInterface, FormInput<string | undefined>, BalAriaFormLinking {
  private inputId;
  private inheritedAttributes;
  nativeInput?: HTMLTextAreaElement;
  inputValue: string | undefined;
  initialValue: string;
  el: HTMLElement;
  focused: boolean;
  ariaForm: BalAriaForm;
  name: string;
  invalid: boolean;
  autocapitalize: string;
  autofocus: boolean;
  debounce: number;
  protected debounceChanged(): void;
  placeholder?: string;
  maxLength?: number;
  minLength?: number;
  disabled: boolean;
  readonly: boolean;
  cols?: number;
  rows?: number;
  wrap?: BalProps.BalTextareaWrap;
  required: boolean;
  clickable: boolean;
  inputmode?: BalProps.BalTextareaInputMode;
  value?: string;
  balChange: EventEmitter<BalEvents.BalTextareaChangeDetail>;
  balInput: EventEmitter<BalEvents.BalTextareaInputDetail>;
  balBlur: EventEmitter<BalEvents.BalTextareaBlurDetail>;
  balKeyPress: EventEmitter<BalEvents.BalTextareaKeyPressDetail>;
  balFocus: EventEmitter<BalEvents.BalTextareaFocusDetail>;
  listenOnClick(ev: UIEvent): void;
  private resetHandlerTimer?;
  resetHandler(ev: UIEvent): void;
  connectedCallback(): void;
  componentDidLoad(): void;
  componentWillLoad(): void;
  setFocus(): Promise<void>;
  setBlur(): Promise<void>;
  getInputElement(): Promise<HTMLTextAreaElement | undefined>;
  setAriaForm(ariaForm: BalAriaForm): Promise<void>;
  private getValue;
  private onInput;
  private onFocus;
  private onBlur;
  private onClick;
  private handleClick;
  render(): any;
}
