sig
  type t = Stdlib.out_channel
  type open_flag =
    Stdlib.open_flag =
      Open_rdonly
    | Open_wronly
    | Open_append
    | Open_creat
    | Open_trunc
    | Open_excl
    | Open_binary
    | Open_text
    | Open_nonblock
  val stdout : Out_channel.t
  val stderr : Out_channel.t
  val open_bin : string -> Out_channel.t
  val open_text : string -> Out_channel.t
  val open_gen : Out_channel.open_flag list -> int -> string -> Out_channel.t
  val with_open_bin : string -> (Out_channel.t -> 'a) -> 'a
  val with_open_text : string -> (Out_channel.t -> 'a) -> 'a
  val with_open_gen :
    Out_channel.open_flag list ->
    int -> string -> (Out_channel.t -> 'a) -> 'a
  val seek : Out_channel.t -> int64 -> unit
  val pos : Out_channel.t -> int64
  val length : Out_channel.t -> int64
  val close : Out_channel.t -> unit
  val close_noerr : Out_channel.t -> unit
  val flush : Out_channel.t -> unit
  val flush_all : unit -> unit
  val output_char : Out_channel.t -> char -> unit
  val output_byte : Out_channel.t -> int -> unit
  val output_string : Out_channel.t -> string -> unit
  val output_bytes : Out_channel.t -> bytes -> unit
  val output : Out_channel.t -> bytes -> int -> int -> unit
  val output_substring : Out_channel.t -> string -> int -> int -> unit
  val set_binary_mode : Out_channel.t -> bool -> unit
  val set_buffered : Out_channel.t -> bool -> unit
  val is_buffered : Out_channel.t -> bool
end