import { EventEmitter } from '../../../stencil-public-runtime';
import { CustomElementFilterProps } from '../types/custom-element-filter';
import { SnkFilterItemConfig } from './snk-filter-item';
export declare class SnkFilterDetail {
  _element: HTMLElement;
  _editor: HTMLElement;
  _applyButton: HTMLEzButtonElement;
  _idContentEditor: string;
  _customElementObject: CustomElementFilterProps;
  originalConfig: SnkFilterItemConfig;
  /**
   * Define as configurações do componente snk-filter-detail.
   */
  config: SnkFilterItemConfig;
  /**
   * Usado pra flexibilizar os verbetes e mensagens de acordo com o SnkMessageBuilder.
   */
  getMessage: (key: string, props?: any) => string;
  /**
   * Controla a visibilidade do botão de fixar elemento
   */
  showHardFixed: boolean;
  /**
   * Define se o filtro pode ser removido.
   */
  removalBlocked: boolean;
  /**
   * Emitido quando há uma alteração nos filtros.
   */
  filterChange: EventEmitter<SnkFilterItemConfig>;
  /**
   * Define o foco no campo do editor.
   */
  setFocusField(): Promise<void>;
  clearValue(): Promise<void>;
  observeConfig(newValue: SnkFilterItemConfig): void;
  componentDidLoad(): void;
  changeConfig(newConfig: SnkFilterItemConfig): void;
  getContentEditor(): CustomElementFilterProps;
  handleValueChanged({ detail }: CustomEvent<any>): void;
  removeItem(): void;
  removeItemFromGroup(item: any): any;
  getPopUpHeaderButtons(): any;
  buildIcon(title: string, iconName: string, action: Function): any;
  buildIdButton(buttonElement: HTMLButtonElement, title: string): void;
  clearBinarySelectValues(): void;
  apply(): any;
  isVisible(): boolean;
  clear(): void;
  filterCanBeCleared(): boolean;
  onKeyDonwListener(event: KeyboardEvent): void;
  private buildRightSlot;
  private removeValueFromConfig;
  componentWillLoad(): void;
  render(): any;
}
