sig
  class type output =
    object
      method box : GObj.widget
      method label : string
      method name : string
      method on_destroy : unit
      method set_label : string -> unit
    end
  class outputs :
    ?on_destroy:(unit -> unit) ->
    unit ->
    object
      method add_output : Ed_outputs.output -> unit
      method bind : name:string -> callback:(unit -> unit) -> unit
      method check_widgets : unit -> unit
      method notebook : GPack.notebook
      method output_by_name : string -> Ed_outputs.output
      method private output_pos : string -> int
      method outputs : GWindow.window
      method reparent : GObj.widget -> unit
      method show : string -> unit
      method toplevel : GWindow.window
      method xml : Glade.glade_xml Gtk.obj
    end
  val outputs : unit -> Ed_outputs.outputs
  val watch_and_insert :
    ?on_end:(unit -> unit) ->
    Pervasives.in_channel -> (string -> unit) -> GMain.Io.id
  val run_and_read_in_buffer :
    string -> (string -> unit) -> (int -> unit) -> unit
  class text_output :
    ?on_destroy:(unit -> unit) ->
    string ->
    object
      val mutable label : string
      method box : GObj.widget
      method contents : string
      method insert : string -> unit
      method label : string
      method name : string
      method on_destroy : unit
      method reset : unit
      method run : string -> ?reset:bool -> (int -> unit) -> unit
      method set_label : string -> unit
      method view : GSourceView2.source_view
    end
  class interactive_output :
    ?on_destroy:(unit -> unit) ->
    name:string ->
    command:string ->
    object
      val mutable label : string
      method box : GObj.widget
      method contents : string
      method insert : string -> unit
      method label : string
      method name : string
      method on_destroy : unit
      method reset : unit
      method run : string -> ?reset:bool -> (int -> unit) -> unit
      method set_label : string -> unit
      method view : GSourceView2.source_view
    end
end