import { ICustomEditor } from '../../../utils/customEditor/interfaces/ICustomEditor';
import { IFormViewField } from '../interfaces';
import { Record } from '@sankhyalabs/core';
export declare class EzCustomFormInput {
  gui: HTMLElement;
  /**
   * Instância do editor customizado.
   */
  customEditor: ICustomEditor;
  /**
   * Campo que o elemento customizado representa.
   */
  formViewField: IFormViewField;
  /**
   * Valores dos campos do formulário.
   */
  value: any;
  /**
   * Define de qual contexto o editor está sendo acionado.
   */
  detailContext: string;
  /**
   * Builder original do FormView que será chamado caso o custom não retorne nenhum valor.
   */
  builderFallback: (field: IFormViewField) => HTMLElement;
  /**
   * Define os registros da linha selecionada.
   */
  selectedRecord: Record;
  /**
   * Aplica foco no campo.
   */
  setFocus(): Promise<void>;
  /**
   * Remove o foco do campo.
   */
  setBlur(): Promise<void>;
  /**
   * Retorna se o conteúdo é inválido.
   */
  isInvalid(): Promise<boolean>;
  watchValue(): void;
  watchCustomEditor(): void;
  watchFormViewField(newValue: IFormViewField | string, oldValue: IFormViewField): void;
  watchDetailContext(): void;
  watchBuilderFallback(): void;
  watchSelectedRecord(newValue: Record | string, oldValue: Record): void;
  private getContent;
  private setValue;
  private getValue;
  private handleValue;
  componentWillLoad(): void;
  render(): any;
}
