sig
  val add_screen :
    ?color:Bogue.Draw.color -> Bogue.Layout.t -> Bogue.Layout.t
  val attach :
    ?bg:Bogue.Draw.color ->
    ?show:bool -> Bogue.Layout.t -> Bogue.Layout.t -> Bogue.Layout.t
  val info :
    ?w:int ->
    ?h:int ->
    ?button_w:int ->
    ?button_h:int -> ?button:string -> string -> Bogue.Layout.t -> unit
  val yesno :
    ?w:int ->
    ?h:int ->
    ?button_w:int ->
    ?button_h:int ->
    ?yes:string ->
    ?no:string ->
    yes_action:(unit -> unit) ->
    no_action:(unit -> unit) -> string -> Bogue.Layout.t -> unit
  val one_button :
    ?w:int ->
    ?h:int ->
    ?on_close:(unit -> unit) ->
    button:string -> dst:Bogue.Layout.t -> Bogue.Layout.t -> unit
  val two_buttons :
    ?w:int ->
    ?h:int ->
    label1:string ->
    label2:string ->
    action1:(unit -> unit) ->
    action2:(unit -> unit) ->
    content:Bogue.Layout.t -> Bogue.Layout.t -> unit
  type position = LeftOf | RightOf | Above | Below | Mouse
  val tooltip :
    ?background:Bogue.Layout.background ->
    ?position:Bogue.Popup.position ->
    string ->
    target:Bogue.Layout.t -> Bogue.Widget.t -> Bogue.Layout.t -> unit
end