sig
  type t
  type kind = Trigger | Switch
  val create :
    ?size:int ->
    ?border_radius:int ->
    ?border_color:Bogue.Draw.color ->
    ?fg:Bogue.Draw.color ->
    ?bg_on:Bogue.Style.background ->
    ?bg_off:Bogue.Style.background ->
    ?bg_over:Bogue.Style.background option ->
    ?label:Bogue.Label.t ->
    ?label_on:Bogue.Label.t ->
    ?label_off:Bogue.Label.t ->
    ?state:bool ->
    ?action:(bool -> unit) -> Bogue.Button.kind -> string -> Bogue.Button.t
  val state : Bogue.Button.t -> bool
  val reset : Bogue.Button.t -> unit
  val is_pressed : Bogue.Button.t -> bool
end