sig
  class type impl =
    object method close : unit method write : string -> unit end
  type rotation = {
    seconds_elapsed : float option;
    signal_caught : Signal.t option;
  }
  type t = string -> Output.rotation -> Layout.t lazy_t -> Output.impl
  val register : string -> Output.t -> unit
  val register_unnamed : Output.t -> string
  val get : string -> Output.t
  val void : Output.t
  val file : Output.t
  val growlnotify : Output.t
  val bell : Output.t
  val say : Output.t
  val signals : bool array
end