sig
  type lexbuf
  exception InvalidCodepoint of int
  exception MalFormed
  val create : (int array -> int -> int -> int) -> Sedlexing.lexbuf
  val from_gen : int Gen.t -> Sedlexing.lexbuf
  val from_stream : int Stream.t -> Sedlexing.lexbuf
  val from_int_array : int array -> Sedlexing.lexbuf
  val lexeme_start : Sedlexing.lexbuf -> int
  val lexeme_end : Sedlexing.lexbuf -> int
  val loc : Sedlexing.lexbuf -> int * int
  val lexeme_length : Sedlexing.lexbuf -> int
  val lexeme : Sedlexing.lexbuf -> int array
  val lexeme_char : Sedlexing.lexbuf -> int -> int
  val sub_lexeme : Sedlexing.lexbuf -> int -> int -> int array
  val rollback : Sedlexing.lexbuf -> unit
  val start : Sedlexing.lexbuf -> unit
  val next : Sedlexing.lexbuf -> int
  val mark : Sedlexing.lexbuf -> int -> unit
  val backtrack : Sedlexing.lexbuf -> int
  module Latin1 :
    sig
      val from_gen : char Gen.t -> Sedlexing.lexbuf
      val from_stream : char Stream.t -> Sedlexing.lexbuf
      val from_channel : Pervasives.in_channel -> Sedlexing.lexbuf
      val from_string : string -> Sedlexing.lexbuf
      val lexeme : Sedlexing.lexbuf -> string
      val sub_lexeme : Sedlexing.lexbuf -> int -> int -> string
      val lexeme_char : Sedlexing.lexbuf -> int -> char
    end
  module Utf8 :
    sig
      val from_gen : char Gen.t -> Sedlexing.lexbuf
      val from_stream : char Stream.t -> Sedlexing.lexbuf
      val from_channel : Pervasives.in_channel -> Sedlexing.lexbuf
      val from_string : string -> Sedlexing.lexbuf
      val lexeme : Sedlexing.lexbuf -> string
      val sub_lexeme : Sedlexing.lexbuf -> int -> int -> string
    end
  module Utf16 :
    sig
      type byte_order = Little_endian | Big_endian
      val from_gen :
        char Gen.t -> Sedlexing.Utf16.byte_order option -> Sedlexing.lexbuf
      val from_stream :
        char Stream.t ->
        Sedlexing.Utf16.byte_order option -> Sedlexing.lexbuf
      val from_channel :
        Pervasives.in_channel ->
        Sedlexing.Utf16.byte_order option -> Sedlexing.lexbuf
      val from_string :
        string -> Sedlexing.Utf16.byte_order option -> Sedlexing.lexbuf
      val lexeme :
        Sedlexing.lexbuf -> Sedlexing.Utf16.byte_order -> bool -> string
      val sub_lexeme :
        Sedlexing.lexbuf ->
        int -> int -> Sedlexing.Utf16.byte_order -> bool -> string
    end
end