sig
  type feedback = [ `File_cache_need_copy of B0_std.Fpath.t ]
  val pp_feedback : B00.File_cache.feedback B0_std.Fmt.t
  type key = string
  type t
  val create :
    ?feedback:(B00.File_cache.feedback -> unit) ->
    B0_std.Fpath.t -> (B00.File_cache.t, string) Stdlib.result
  val dir : B00.File_cache.t -> B0_std.Fpath.t
  val need_copy : B00.File_cache.t -> B0_std.Fpath.t option
  val mem : B00.File_cache.t -> B00.File_cache.key -> bool
  val add :
    B00.File_cache.t ->
    B00.File_cache.key ->
    string -> B0_std.Fpath.t list -> (bool, string) Stdlib.result
  val rem :
    B00.File_cache.t -> B00.File_cache.key -> (bool, string) Stdlib.result
  val find :
    B00.File_cache.t ->
    B00.File_cache.key ->
    ((B0_std.Fpath.t * B0_std.Fpath.t list) option, string) Stdlib.result
  val revive :
    B00.File_cache.t ->
    B00.File_cache.key ->
    B0_std.Fpath.t list ->
    ((string * B0_std.Fpath.t list) option, string) Stdlib.result
  val fold :
    B00.File_cache.t ->
    (B00.File_cache.key -> B0_std.Fpath.t -> B0_std.Fpath.t list -> '-> 'a) ->
    '-> ('a, string) Stdlib.result
  val keys :
    B00.File_cache.t -> (B00.File_cache.key list, string) Stdlib.result
  val is_unused :
    B00.File_cache.t -> B00.File_cache.key -> (bool, string) Stdlib.result
  val delete_unused : B00.File_cache.t -> (unit, string) Stdlib.result
  val trim_size :
    B00.File_cache.t ->
    max_byte_size:int -> pct:int -> (unit, string) Stdlib.result
  module Stats :
    sig
      type keys
      val keys_count : B00.File_cache.Stats.keys -> int
      val keys_file_count : B00.File_cache.Stats.keys -> int
      val keys_byte_size : B00.File_cache.Stats.keys -> int
      val keys_zero : B00.File_cache.Stats.keys
      val keys_sub :
        B00.File_cache.Stats.keys ->
        B00.File_cache.Stats.keys -> B00.File_cache.Stats.keys
      val pp_keys : B00.File_cache.Stats.keys B0_std.Fmt.t
      val of_keys :
        B00.File_cache.t ->
        B00.File_cache.key list ->
        (B00.File_cache.Stats.keys, string) Stdlib.result
      type cache
      val all_keys : B00.File_cache.Stats.cache -> B00.File_cache.Stats.keys
      val unused_keys :
        B00.File_cache.Stats.cache -> B00.File_cache.Stats.keys
      val pp : B00.File_cache.Stats.cache B0_std.Fmt.t
      val of_cache :
        B00.File_cache.t ->
        (B00.File_cache.Stats.cache, string) Stdlib.result
    end
end