sig
  type point_definition = { offset : int; identifier : int; }
  val try_finally : '-> ('-> 'b) -> ('-> unit) -> 'b
  val try_in_channel : bool -> string -> (Stdlib.in_channel -> 'a) -> 'a
  val try_out_channel : bool -> string -> (Stdlib.out_channel -> 'a) -> 'a
  exception Invalid_file of string * string
  val write_runtime_data : Stdlib.out_channel -> unit
  val runtime_data_to_string : unit -> string option
  val random_filename : string -> string
  val write_points : Bisect_common.point_definition list -> string
  val read_runtime_data : string -> (string * (int array * string)) list
  val read_points : string -> Bisect_common.point_definition list
  val table : (string, int array * string) Stdlib.Hashtbl.t Stdlib.Lazy.t
  val register_file :
    string ->
    point_count:int -> point_definitions:string -> [ `Staged of int -> unit ]
  type options = (Stdlib.Arg.key * Stdlib.Arg.spec * Stdlib.Arg.doc) list
  val deprecated :
    string -> string -> Bisect_common.options -> Bisect_common.options
end