import { EventEmitter } from '../../stencil-public-runtime';
import { CssClassMap } from '../../interfaces';
/**
 *  @slot - Allows label content
 */
export declare class Checkbox {
  /**
   * The host element.
   */
  element: HTMLElement;
  /**
   * The checkbox ID & name
   */
  name: string;
  /**
   * Whether to use the large variant of the checkbox.
   */
  large: false;
  /**
   * Whether to use the inverted variant of the checkbox.
   */
  inverted: false;
  /**
   * The checkbox value
   */
  value: 0;
  /**
   * Whether to use the block style variant of the checkbox.
   */
  block: false;
  /**
   * Whether the checkbox is disabled.
   */
  disabled: boolean;
  /**
   * Is it Checked ?
   */
  checked: boolean;
  /**
   * Emitted when the checkbox is selected.
   */
  selected: EventEmitter;
  /**
   * Emitted when the checkbox is unselected.
   */
  unselected: EventEmitter;
  /**
   * Get the map of CSS classes for the checkbox.
   *
   * @return CssClassMap
   */
  getClassMap(): CssClassMap;
  /**
   * Propagate a focus event.
   *
   * Used to propagate `<input>` focus events through the Shadow DOM boundary
   * in the case that they aren't by the browser.
   *
   * @param {FocusEvent} event
   */
  private onFocusEvent;
  /**
   * on Change event change input's value.
   *
   * Used to emit the change of value when an input is checked.
   *
   * @param {InputEvent} event
   */
  private onChangeEvent;
  /**
   * prevent Event Propagation
   *
   * Prevents the propagation of click events to prevent click events firing twice on the component
   *
   * @param {MouseEvent} event
   */
  private preventPropagation;
  render(): any;
}
