(* BSD-2-Clause License *) type _ t = | Basic : Jv.t -> [> `Basic ] t | Geojson : Jv.t -> [> `Geojson ] t | Marker : Jv.t -> [> `Marker ] t | Tile : Jv.t -> [> `Tile ] t (** Basic layers *) val add_to : Map.t -> _ t -> unit val remove : _ t -> unit val remove_from : Map.t -> _ t -> unit val bind_popup : Brr.El.t -> _ t -> unit val unbind_popup : _ t -> unit val open_popup : _ t -> unit val close_popup : _ t -> unit val get_popup : _ t -> Popup.t val to_jv : _ t -> Jv.t (** Geojson layers *) val create_geojson : ?options:Jv.t -> Jv.t -> [ `Geojson ] t (** Marker layers *) val create_marker : Latlng.t -> [ `Marker ] t (** Tile layers *) val create_tile_osm : string option -> [ `Tile ] t