import React from "react";

/**
 * Props for things that you can click.
 */
export interface Clickable {
  /**
   * Click handler callback -- were we clicked?
   */
  onClick?: React.MouseEventHandler;
}

/**
 * Can we select the thing?
 */
export interface Selectable {
  /**
   * Currently selected.
   *
   * Multual exclusion of selection isn't implied here if you need mutual
   * exclusion, then enforce it in a container of `Selectable` things.
   */
  selected?: boolean;
}

/**
 * Notes can resize, but they aren't moved by themeselves.
 */
export type Size = {
  width: number;
  height: number;
};
