import { EventEmitter } from '../../../../stencil-public-runtime';
import { SnkFilterItemConfig } from '../snk-filter-item';
import { EPresentationMode } from './enum/presentationMode';
export declare class SnkFilterPeriod {
  _element: HTMLElement;
  _startDate: HTMLEzDateInputElement;
  _endDate: HTMLEzDateInputElement;
  _startDateLabel: string;
  _endDateLabel: string;
  _toLabel: string;
  _defaultEmptyValue: Period;
  /**
   * Define as configurações do componente snk-filter-period
   */
  config: SnkFilterItemConfig;
  /**
   * Usado pra flexibilizar os verbetes e mensagens de acordo com o SnkMessageBuilder.
   */
  getMessage: (key: string, props?: any) => string;
  /**
   * Define o valor do componente snk-filter-period
   */
  value: Period;
  /**
   * Define a variação do componente
   */
  presentationMode: EPresentationMode;
  /**
   * Usado para exibir mensagens de erro.
   */
  errorMessage: string;
  private internalChange;
  private valueStart;
  private valueEnd;
  configChanged(newValue: Period, oldValue: Period): void;
  private ezChangeListener;
  /**
  * Emitido quando o valor do filtro é alterado.
  */
  valueChanged: EventEmitter<any>;
  /**
   * Define o foco no componente snk-filter-period.
   */
  setFocus(): Promise<void>;
  /**
   * Limpa o valor do componente restaurando o valor original da configuração.
   */
  clearValue(): Promise<void>;
  componentDidLoad(): void;
  parseDate(date: Date | string): Date;
  getDate(prop: string): Date;
  /**
   * Exibe o componente snk-filter-period
   */
  show(): Promise<void>;
  buildLabel(): any;
  componentWillLoad(): void;
  render(): any;
}
export interface Period {
  start?: Date;
  end?: Date;
}
