sig
  module Scanning :
    sig
      type scanbuf = Scanf.Scanning.scanbuf
      val stdib : BatScanf.Scanning.scanbuf
      val from_string : string -> BatScanf.Scanning.scanbuf
      val from_file : string -> BatScanf.Scanning.scanbuf
      val from_file_bin : string -> BatScanf.Scanning.scanbuf
      val from_function : (unit -> char) -> BatScanf.Scanning.scanbuf
      val from_input : BatIO.input -> BatScanf.Scanning.scanbuf
      val end_of_input : BatScanf.Scanning.scanbuf -> bool
      val beginning_of_input : BatScanf.Scanning.scanbuf -> bool
      val name_of_input : BatScanf.Scanning.scanbuf -> string
      val from_channel : BatIO.input -> BatScanf.Scanning.scanbuf
    end
  type ('a, 'b, 'c, 'd) scanner =
      ('a, BatScanf.Scanning.scanbuf, 'b, 'c, '-> 'd, 'd) format6 -> 'c
  exception Scan_failure of string
  val bscanf : BatScanf.Scanning.scanbuf -> ('a, 'b, 'c, 'd) BatScanf.scanner
  val fscanf : Pervasives.in_channel -> ('a, 'b, 'c, 'd) BatScanf.scanner
  val sscanf : string -> ('a, 'b, 'c, 'd) BatScanf.scanner
  val scanf : ('a, 'b, 'c, 'd) BatScanf.scanner
  val kscanf :
    BatScanf.Scanning.scanbuf ->
    (BatScanf.Scanning.scanbuf -> exn -> 'a) ->
    ('b, 'c, 'd, 'a) BatScanf.scanner
  val bscanf_format :
    BatScanf.Scanning.scanbuf ->
    ('a, 'b, 'c, 'd, 'e, 'f) format6 ->
    (('a, 'b, 'c, 'd, 'e, 'f) format6 -> 'g) -> 'g
  val sscanf_format :
    string ->
    ('a, 'b, 'c, 'd, 'e, 'f) format6 ->
    (('a, 'b, 'c, 'd, 'e, 'f) format6 -> 'g) -> 'g
  val format_from_string :
    string ->
    ('a, 'b, 'c, 'd, 'e, 'f) format6 -> ('a, 'b, 'c, 'd, 'e, 'f) format6
end