open Brr (** Constructor options *) type options val options : unit -> options val bounds : (options, El.t) J.prop val debug : (options, Jstr.t) J.prop val placeholder : (options, Jstr.t) J.prop val readonly : (options, Jstr.t) J.prop val theme : (options, Jstr.t) J.prop val scrollingContainer : (options, El.t) J.prop type delta val delta_to_json : delta -> Json.t val delta_of_json : Json.t -> delta type operations val ops : (delta, operations) J.prop type t (** Constructor. [quill element] will create the editor inside the given element *) val quill : ?options:options -> El.t -> (t, Jv.Error.t) Result.t (** Return the editor content *) val get_contents : t -> delta val set_contents : t -> delta -> unit (** [extract_content t index length] return the content starting from index, with length elements *) val extract_contents : t -> int -> int -> delta val on_text_change : t -> (string -> string -> string -> unit) -> unit (* [update_contents t delta] replace the content with the commands given by delta. *) val update_contents : t -> delta -> delta