sig
  type t
  val create :
    ?max_size:int -> ?max_entries:int -> Zed_utf8.t list -> LTerm_history.t
  val add :
    LTerm_history.t ->
    ?skip_empty:bool -> ?skip_dup:bool -> Zed_utf8.t -> unit
  val contents : LTerm_history.t -> Zed_utf8.t list
  val size : LTerm_history.t -> int
  val length : LTerm_history.t -> int
  val old_count : LTerm_history.t -> int
  val set_old_count : LTerm_history.t -> int -> unit
  val max_size : LTerm_history.t -> int
  val set_max_size : LTerm_history.t -> int -> unit
  val max_entries : LTerm_history.t -> int
  val set_max_entries : LTerm_history.t -> int -> unit
  val load :
    LTerm_history.t ->
    ?log:(int -> string -> unit) ->
    ?skip_empty:bool -> ?skip_dup:bool -> string -> unit Lwt.t
  val save :
    LTerm_history.t ->
    ?max_size:int ->
    ?max_entries:int ->
    ?skip_empty:bool ->
    ?skip_dup:bool -> ?append:bool -> ?perm:int -> string -> unit Lwt.t
  val entry_size : Zed_utf8.t -> int
end