--- /dev/null
+
+type t
+
+external create :
+ dictionary:[> `Document] GdomeT.t ->
+ mml: [> `Document] GdomeT.t ->
+ tex: [> `Document] GdomeT.t ->
+ log:(string -> unit) ->
+ t
+ = "ml_mathml_editor_new"
+
+external freeze : editor:t -> bool
+ = "ml_mathml_editor_freeze"
+
+external thaw : editor:t -> bool
+ = "ml_mathml_editor_thaw"
+
+external reset : editor:t -> unit
+ = "ml_mathml_editor_reset"
+
+external push : editor:t -> ch:char -> unit
+ = "ml_mathml_editor_push"
+
+external drop : editor:t -> alt:bool -> unit
+ = "ml_mathml_editor_drop"
+
+external get_tex : editor:t -> string
+ = "ml_mathml_editor_get_tex"
+
+external get_tml : editor:t -> TDocument.t
+ = "ml_mathml_editor_get_tml"
+
+external get_mml : editor:t -> TDocument.t
+ = "ml_mathml_editor_get_mml"
+