sig
  type t = Linebuf.t
  type error_type =
    Linebuf.error_type =
      Null_retry
    | Too_many_nulls
    | Exception of string * exn
  type lnum = Linebuf.lnum = Known of int | Unknown
  type result =
    Linebuf.result =
      Success of lnum * string
    | Nothing_available
    | Error of error_type
    | Fatal_error of string * exn
  exception File_truncated_or_deleted
  val create :
    ?pos:Int64.t ->
    ?close_on_eof:bool ->
    ?null_hack:[ `Off | `Retry | `Retry_then_fail ] ->
    ?eprint_nulls:bool ->
    ?follow_deletes:bool -> ?signal_on_truncate_or_delete:bool -> string -> t
  val close : t -> unit
  val is_closed : t -> bool
  val try_read : t -> string option
  val try_read_lnum : t -> (lnum * string) option
  val try_read_lnum_verbose : t -> result
  val read : t -> string
  val tail : t -> unit
  val unsafe_tail : t -> unit
  val name : t -> string
  val reset : t -> unit
end