import { EventEmitter } from '../../stencil-public-runtime';
import { AttributeDef } from '../../models/attributeDef';
import { OptionsMenuConfig } from '../../models/optionsMenuConfig';
export declare class UxplAttributeField {
  /**
   * Definition of attribute { id: 'text', label: 'Example Attribute' }
   */
  attribute: AttributeDef;
  /**
   * Placeholder used in input field
   */
  placeholder?: string;
  /**
   * Whether to show the remove button on this attribute
   */
  showRemove?: boolean;
  /**
   * Height of the popup
   */
  menuHeight?: string;
  /**
   * Menu config of popup
   */
  menuConfig: OptionsMenuConfig;
  /**
 * default icon color for popup if not specified in model
 */
  defaultColor: string;
  /**
   * Fired when X button is clicked (typically remove field from list)
   */
  uxplRemoved: EventEmitter<null>;
  /**
   * Fired when attribute type or label is changed
   */
  uxplChanged: EventEmitter<AttributeDef>;
  active: boolean;
  iconName: string;
  iconUrl: string;
  menuEl: HTMLUxplOptionsMenuElement;
  selectedTypeId: string;
  selectedLabel: string;
  watchHandlerMenuConfig(newValue: OptionsMenuConfig): void;
  componentWillLoad(): void;
  private setDefaultType;
  private handleClose;
  private setActive;
  private valueChanged;
  private emitSelected;
  private setMenuRef;
  private handleSelected;
  private handleClosed;
  render(): any;
}
