import { EventEmitter } from '../../stencil-public-runtime';
import { WaitingChange } from '@sankhyalabs/core';
import { TFocusOptions } from '../ez-text-input/ez-text-input';
export declare class EzDateTimeInput {
  private _calendar;
  private _textInput;
  private _changePending;
  private _focused;
  private _valuePromiseCallbacks;
  private _popover;
  private i18n;
  private _elem;
  /**
   * Emitido quando acontece a alteração de valor do campo.
   */
  ezChange: EventEmitter<Date>;
  /**
   * Emitido ao iniciar a alteração (digitação incompleta).
   */
  ezStartChange: EventEmitter<WaitingChange>;
  /**
   * Emitido quando não foi possível completar a alteração entre o evento ezStartChange e ezChange.
   */
  ezCancelWaitingChange: EventEmitter<void>;
  /**
   * Texto a ser apresentado como título do campo.
   */
  label: string;
  /**
   * Define o valor do campo.
   */
  value: Date;
  /**
   * Se false o usuário não pode interagir com o campo.
   */
  enabled: boolean;
  /**
   * Define uma mensagem de orientação ao usuário, colocando o campo em modo inválido.
   */
  errorMessage: string;
  /**
   * Se true considera segundos.
   */
  showSeconds: boolean;
  /**
   * Define o tamanho do campo.
   */
  mode: "slim" | "regular";
  /**
   * Se false deixa de exibir a mensagem de erro dentro do campo.
   */
  canShowError: boolean;
  /**
   * Se true o campo de texto receberá o foco ao ser renderizado.
   */
  autoFocus: boolean;
  /**
   * Texto alternativo ser apresentado como título do campo.
   */
  alternativePlaceholder: string;
  observeLabel(): void;
  observeErrorMessage(): void;
  observeValue(newValue: Date, oldValue: Date): void;
  /**
   * Aplica o foco no campo.
   */
  setFocus(options?: TFocusOptions): Promise<void>;
  /**
   * Remove o foco do campo.
   */
  setBlur(): Promise<void>;
  /**
   * Retorna se o conteúdo é inválido.
   */
  isInvalid(): Promise<boolean>;
  getValueAsync(): Promise<Date>;
  private handleKeyDown;
  private handleFocus;
  private handleClick;
  private changeValue;
  private hideCalendar;
  private getParsedDateTime;
  private handleBlur;
  private getTextValue;
  private handleInput;
  private setInputValue;
  disconnectedCallback(): void;
  componentWillLoad(): Promise<void>;
  componentDidLoad(): void;
  render(): any;
}
