sig
  type t = Linebuf.t
  type error_type =
    Linebuf.error_type =
      Null_retry
    | Too_many_nulls
    | Exception of string * exn
  type result =
    Linebuf.result =
      Success of int * string
    | Nothing_available
    | Error of error_type
    | Fatal_error of string * exn
  val open_linebuf :
    ?close_on_eof:bool ->
    ?null_hack:bool -> ?follow_deletes:bool -> string -> t
  val close_linebuf : t -> unit
  val closed_linebuf : t -> bool
  val try_read : t -> string option
  val try_read_lnum : t -> (int * string) option
  val try_read_lnum_verbose : t -> result
  val read : t -> string
  val tail : t -> unit
  val unsafe_tail : t -> unit
end