import { EventEmitter } from '../../stencil-public-runtime';
import { SelectOption } from "../../models/selectInputConfig";
export declare class UxplSelect {
  el: HTMLElement;
  /**
   * fieldId
   */
  fieldId: string;
  /**
   * label
   */
  /**
   * type
   */
  type: string;
  /**
   * Whether multiple selections allowed
   */
  multiple: boolean;
  /**
   * Max height for pop up eg: 150px
   */
  maxHeight: string;
  /**
   * Width for pop up eg: 150px
   */
  width: string;
  /**
   * value (id from MenuOption[])
   */
  value: string;
  /**
   * array of ids from MenuOption[]
   */
  values: string[];
  /**
   * options
   */
  options: SelectOption[];
  /**
   * yPosition (above/below)
   */
  yPosition: string;
  /**
   * hint
   */
  hint: string;
  /**
   * selector caption when no value eg: 'Select'
   */
  selectCaption: string;
  /**
   * placeholder
   */
  placeholder: string;
  /**
   * disabled
   */
  disabled: boolean;
  /**
   * allow input
   */
  allowInput: boolean;
  /**
   * required
   */
  required: boolean;
  /**
   * required
   */
  valid: boolean;
  /**
   * Value changed
   */
  uxplSelection: EventEmitter<SelectOption[] | SelectOption>;
  /**
   * Value changed
   */
  uxplChanged: EventEmitter<SelectOption[] | SelectOption>;
  active: boolean;
  watchHandlerOpt(newValue: SelectOption[], oldValue: SelectOption[]): void;
  watchHandlerVal(newValue: string, oldValue: string): void;
  watchHandlerVals(newValues: string[], oldValues: string[]): void;
  textInput: HTMLInputElement;
  private mode;
  optionsInternal: SelectOption[];
  private toggleActive;
  private size;
  private selected;
  private get selectedValueString();
  emitSelected(): void;
  setSelected(option: SelectOption, manualChange?: boolean): void;
  private calculateSelectedOptions;
  componentWillLoad(): void;
  componentDidLoad(): void;
  handleInput(): void;
  handleKeyDown(e: any): void;
  render(): any;
}
