Module Belt_internalMapInt

module Belt_internalMapInt: sig .. end

type key = int 
module N: Belt_internalAVLtree
module A: Belt_Array
module S: Belt_SortArray
type 'a t = (key, 'a) N.t 
val add : (key, 'a) N.t ->
key -> 'a -> (key, 'a) N.t
val get : (key, 'a) N.t -> key -> 'a option
val getUndefined : (key, 'a) N.t ->
key -> 'a Js.Undefined.t
val getExn : (key, 'a) N.t -> key -> 'a
val getWithDefault : (key, 'a) N.t -> key -> 'a -> 'a
val has : (key, 'a) N.t -> key -> bool
val remove : (key, 'a) N.t ->
key -> (key, 'a) N.t
val splitAux : key ->
(key, 'a) N.node ->
'a t * 'a option * 'a t
val split : key ->
(key, 'a) N.node Js.null ->
(key, 'a) N.t * 'a option *
(key, 'a) N.t
val mergeU : (key, 'a) N.t ->
(key, 'b) N.t ->
(key -> 'a option -> 'b option -> 'c option [@bs]) ->
(key, 'c) N.t
val merge : (key, 'a) N.t ->
(key, 'b) N.t ->
(key -> 'a option -> 'b option -> 'c option) ->
(key, 'c) N.t
val compareAux : (key, 'a) N.node list ->
(key, 'b) N.node list -> ('a -> 'b -> int [@bs]) -> int
val cmpU : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> int [@bs]) -> int
val cmp : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> int) -> int
val eqAux : (key, 'a) N.node list ->
(key, 'b) N.node list -> ('a -> 'b -> bool [@bs]) -> bool
val eqU : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> bool [@bs]) -> bool
val eq : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> bool) -> bool
val addMutate : 'a t ->
key -> 'a -> 'a t
val fromArray : (key * 'a) array -> (key, 'a) N.t