sig
  module Decoder :
    sig
      type ogg
      val check_packet : Ogg.Stream.packet -> bool
      val get_callbacks :
        Flac.Decoder.write -> Ogg_flac.Decoder.ogg Flac.Decoder.callbacks
      val create :
        Ogg.Stream.packet ->
        Ogg.Stream.stream ->
        Ogg_flac.Decoder.ogg Flac.Decoder.callbacks ->
        Ogg_flac.Decoder.ogg Flac.Decoder.dec
      val update_ogg_stream :
        Ogg_flac.Decoder.ogg Flac.Decoder.t -> Ogg.Stream.stream -> unit
    end
  module Encoder :
    sig
      type ogg
      val callbacks : Ogg_flac.Encoder.ogg Flac.Encoder.callbacks
      val create :
        ?comments:(string * string) list ->
        Flac.Encoder.params ->
        Ogg.Stream.stream ->
        Ogg_flac.Encoder.ogg Flac.Encoder.t * Ogg.Stream.packet *
        Ogg.Stream.packet list
      val finish : Ogg_flac.Encoder.ogg Flac.Encoder.t -> unit
    end
  module Skeleton :
    sig
      val fisbone :
        ?start_granule:Stdlib.Int64.t ->
        ?headers:(string * string) list ->
        serialno:Stdlib.Nativeint.t ->
        samplerate:Stdlib.Int64.t -> unit -> Ogg.Stream.packet
    end
end