import { EventEmitter } from "../../stencil-public-runtime";
export declare class IbkTextfield {
  /** Referencia al componente */
  host: HTMLElement;
  /** Texto de ayuda dentro del campo de texto */
  placeholder: string;
  /** Texto de ayuda encima del campo de texto */
  label: string;
  /** Tipo de contenido que se ingresará en el campo de texto */
  type: 'text' | 'password' | 'dni' | 'document' | 'email' | 'number' | 'expiration' | 'cvv' | 'phone' | 'date';
  /** Icono posicionado a la derecha del campo de texto */
  trailingIcon: string;
  /** Icono posicionado a la izquierda del campo de texto */
  leadingIcon: string;
  /** Cuando se encuentra dentro de un "ibk-form" al hacer submit si el campo de texto se encuentra vacío, mostrará un mensaje de error */
  required: boolean;
  /** Personaliza el mensaje de campo requerido */
  requiredMessage: string;
  /** Se mostrará un mensaje de error */
  error: boolean;
  /** Personaliza el mensaje de error */
  errorMessage: string;
  /** Contenido del campo de texto */
  value: string;
  /** Se incluye el subtitulo entre el label (si existiera) y el campo de texto */
  subtitle: string;
  /** Configura un ancho fijo para el componente */
  width: number;
  /** El campo de texto no se podrá editar */
  disabled: boolean;
  /** Define la cantidad máxima de caracteres en el componente */
  maxLength: number;
  /** Define si el textfield no contará con manejo de errores. Se omitirá el espacio generado para el mensaje de error */
  noHandlingError: boolean;
  /** Estado que determina si el campo de texto ha sido tocado o no */
  touched: boolean;
  /** Emite un evento mientras se escribe en el campo de texto, envía el contenido actual como parámetro */
  onchange: EventEmitter<string>;
  /** Emite un evento al hacer focusin o focusout del campo de texto, envía como detalle "out" o "in" */
  onfocus: EventEmitter<string>;
  /** Muestra un icono a la izquierda con una X que sirve para borrar el contenido del campo de texto */
  _erasable: boolean;
  /** Estado activo o inactivo del campo de texto */
  _focus: boolean;
  /** Estado que determina si la contraseña está visible o no */
  _showingPwd: boolean;
  /** Almacena el "ibk-form-group" que lo contiene si existiera */
  _grouper: HTMLElement;
  /** Almacena el keyCode al presionar una tecla dentro del campo de texto */
  private _keyCode;
  componentWillLoad(): void;
  onInputFocusIn(): void;
  onInputFocusOut(): void;
  /** Configura la clase del componente basado en estados y modificadores */
  containerClass(): string;
  /** Configura el tipo de campo de texto en base a la configuración del componente */
  setInputType: () => string;
  /** Define el máximo de caracteres en base a la configuración del componente */
  setMaxLength: () => number;
  /** Configura el icono del lado izquierdo en base a la configuración del componente */
  setTrailingIcon: () => string;
  /** Determina la función a realizar en base al icono actual */
  trailingIconFunction: () => void;
  /** Determina el mensaje de error a mostrar en base a la configuración del componente */
  setErrorMessage: () => string;
  onKeyDown(e: any): void;
  onKeyUp(): void;
  /** Valida el campo de texto después de haber sido tocado */
  _validateTouchedInput: () => void;
  /** Escucha y emite el evento editing cuando cambia el contenido */
  onInputChange: (e: any) => void;
  render(): any;
}
