import { EventEmitter } from '../../stencil-public-runtime';
/**
 * Option list item for `BsDropdownWithOptions` and `BsDropdownOptionList>`
 * components.
 *
 * Some of the props are **Parent-Provided** (provided by the parent
 * component) and should not to be set manually.
 *
 * All events that this component
 * emits are handled by the parent component and do not need to be listened for.
 */
export declare class BsDropdownOption {
  /**
   * Value of this option.
   */
  value: string;
  /**
   * Variant of this option. This can be any combination of values `"2-col"`,
   * `"description"`, `"negative"` separated by a space.  When using `"2-col"`
   * or `"description"` variants, each child of the `<li>` should be in some
   * kind of container element such as `<span>`.
   */
  variant: string;
  /**
   * **Parent-Provided** - The ID of the containing options list. Emitted as
   * part of the event when this item is selected.
   */
  optionsId: string;
  /** **Parent-Provided** - Whether this option is selected. */
  selected: boolean;
  /** **Parent-Provided** - Whether this option is currently focused. */
  focused: boolean;
  /** **Parent-Provided** - The index of this option in the options list. */
  index?: number;
  /** **Parent-Handled** - Emits when the mouse hovers this option. */
  optmouseenter: EventEmitter<number>;
  /** **Parent-Handled** - Emits when this option is selected. */
  optselect: EventEmitter<{
    id: string;
    index: number;
    value: string;
  }>;
  option: HTMLLIElement;
  componentDidLoad(): void;
  onFocusChange(isFocusedNow: boolean): void;
  handleKeyDown(ev: KeyboardEvent): void;
  /** Notify parent of mouse entering so it can set focus. */
  handleMouseEnter(): void;
  handleSelect(): void;
  /** Generate an ID. */
  get id(): string;
  render(): any;
}
