sig
  module Hashtbl :
    sig
      type ('a, 'b) t = ('a, 'b) Stdlib.Hashtbl.t
      val exists : ('a, 'b) ExtHashtbl.Hashtbl.t -> '-> bool
      val keys : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'Enum.t
      val values : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'Enum.t
      val enum : ('a, 'b) ExtHashtbl.Hashtbl.t -> ('a * 'b) Enum.t
      val of_enum : ('a * 'b) Enum.t -> ('a, 'b) ExtHashtbl.Hashtbl.t
      val find_default : ('a, 'b) ExtHashtbl.Hashtbl.t -> '-> '-> 'b
      val find_opt : ('a, 'b) Stdlib.Hashtbl.t -> '-> 'b option
      val find_option : ('a, 'b) Stdlib.Hashtbl.t -> '-> 'b option
      val remove_all : ('a, 'b) ExtHashtbl.Hashtbl.t -> '-> unit
      val map :
        ('-> 'c) ->
        ('a, 'b) ExtHashtbl.Hashtbl.t -> ('a, 'c) ExtHashtbl.Hashtbl.t
      val length : ('a, 'b) ExtHashtbl.Hashtbl.t -> int
      val reset : ('a, 'b) ExtHashtbl.Hashtbl.t -> unit
      val randomize : unit -> unit
      type statistics =
        Stdlib.Hashtbl.statistics = {
        num_bindings : int;
        num_buckets : int;
        max_bucket_length : int;
        bucket_histogram : int array;
      }
      val stats :
        ('a, 'b) ExtHashtbl.Hashtbl.t -> ExtHashtbl.Hashtbl.statistics
      val seeded_hash_param : int -> int -> int -> '-> int
      val seeded_hash : int -> '-> int
      val is_randomized : unit -> bool
      val filter_map_inplace :
        ('-> '-> 'b option) -> ('a, 'b) ExtHashtbl.Hashtbl.t -> unit
      val create : ?random:bool -> int -> ('a, 'b) ExtHashtbl.Hashtbl.t
      val clear : ('a, 'b) ExtHashtbl.Hashtbl.t -> unit
      val add : ('a, 'b) ExtHashtbl.Hashtbl.t -> '-> '-> unit
      val copy :
        ('a, 'b) ExtHashtbl.Hashtbl.t -> ('a, 'b) ExtHashtbl.Hashtbl.t
      val find : ('a, 'b) ExtHashtbl.Hashtbl.t -> '-> 'b
      val find_all : ('a, 'b) ExtHashtbl.Hashtbl.t -> '-> 'b list
      val mem : ('a, 'b) ExtHashtbl.Hashtbl.t -> '-> bool
      val remove : ('a, 'b) ExtHashtbl.Hashtbl.t -> '-> unit
      val replace : ('a, 'b) ExtHashtbl.Hashtbl.t -> '-> '-> unit
      val iter : ('-> '-> unit) -> ('a, 'b) ExtHashtbl.Hashtbl.t -> unit
      val fold :
        ('-> '-> '-> 'c) -> ('a, 'b) ExtHashtbl.Hashtbl.t -> '-> 'c
      val hash : '-> int
      val hash_param : int -> int -> '-> int
      val to_seq : ('a, 'b) ExtHashtbl.Hashtbl.t -> ('a * 'b) Stdlib.Seq.t
      val to_seq_keys : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'Stdlib.Seq.t
      val to_seq_values : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'Stdlib.Seq.t
      val add_seq :
        ('a, 'b) ExtHashtbl.Hashtbl.t -> ('a * 'b) Stdlib.Seq.t -> unit
      val replace_seq :
        ('a, 'b) ExtHashtbl.Hashtbl.t -> ('a * 'b) Stdlib.Seq.t -> unit
      val of_seq : ('a * 'b) Stdlib.Seq.t -> ('a, 'b) ExtHashtbl.Hashtbl.t
      module type HashedType = Hashtbl.HashedType
      module type S = Hashtbl.S
      module Make = Hashtbl.Make
      module type SeededHashedType = Hashtbl.SeededHashedType
      module type SeededS = Hashtbl.SeededS
      module MakeSeeded = Hashtbl.MakeSeeded
    end
end