# Module GtkText.Buffer

    module Buffer: sig .. end

    include GtkTextProps.TextBuffer

    val get_line_count : Gtk.text_buffer -> int

    val get_char_count : Gtk.text_buffer -> int

    val insert : Gtk.text_buffer -> Gtk.text_iter -> string Gpointer.stable -> unit

    val insert : Gtk.text_buffer -> Gtk.text_iter -> string -> unit

    val insert_at_cursor : Gtk.text_buffer -> string Gpointer.stable -> unit

    val insert_at_cursor : Gtk.text_buffer -> string -> unit

    val insert_interactive : Gtk.text_buffer -> Gtk.text_iter -> string Gpointer.stable -> bool -> bool

    val insert_interactive : Gtk.text_buffer -> Gtk.text_iter -> string -> bool -> bool

    val insert_interactive_at_cursor : Gtk.text_buffer -> string Gpointer.stable -> bool -> bool

    val insert_interactive_at_cursor : Gtk.text_buffer -> string -> bool -> bool

    val insert_range : Gtk.text_buffer -> Gtk.text_iter -> Gtk.text_iter -> Gtk.text_iter -> unit

    val insert_range_interactive : Gtk.text_buffer ->
           Gtk.text_iter -> Gtk.text_iter -> Gtk.text_iter -> bool -> bool

    val delete : Gtk.text_buffer -> Gtk.text_iter -> Gtk.text_iter -> unit

    val delete_interactive : Gtk.text_buffer -> Gtk.text_iter -> Gtk.text_iter -> bool -> bool

    val set_text : Gtk.text_buffer -> string Gpointer.stable -> unit

    val set_text : Gtk.text_buffer -> string -> unit

    val get_text : Gtk.text_buffer -> Gtk.text_iter -> Gtk.text_iter -> bool -> string

    val get_slice : Gtk.text_buffer -> Gtk.text_iter -> Gtk.text_iter -> bool -> string

    val insert_pixbuf : Gtk.text_buffer -> Gtk.text_iter -> GdkPixbuf.pixbuf -> unit

    val create_mark : Gtk.text_buffer -> string option -> Gtk.text_iter -> bool -> Gtk.text_mark

    val move_mark : Gtk.text_buffer -> Gtk.text_mark -> Gtk.text_iter -> unit

    val move_mark_by_name : Gtk.text_buffer -> string -> Gtk.text_iter -> unit

    val delete_mark : Gtk.text_buffer -> Gtk.text_mark -> unit

    val delete_mark_by_name : Gtk.text_buffer -> string -> unit

    val get_mark : Gtk.text_buffer -> string -> Gtk.text_mark option

    val get_insert : Gtk.text_buffer -> Gtk.text_mark

    val get_selection_bound : Gtk.text_buffer -> Gtk.text_mark

    val place_cursor : Gtk.text_buffer -> Gtk.text_iter -> unit

    val select_range : Gtk.text_buffer -> Gtk.text_iter -> Gtk.text_iter -> unit

    val apply_tag : Gtk.text_buffer -> Gtk.text_tag -> Gtk.text_iter -> Gtk.text_iter -> unit

    val remove_tag : Gtk.text_buffer -> Gtk.text_tag -> Gtk.text_iter -> Gtk.text_iter -> unit

    val apply_tag_by_name : Gtk.text_buffer -> string -> Gtk.text_iter -> Gtk.text_iter -> unit

    val remove_tag_by_name : Gtk.text_buffer -> string -> Gtk.text_iter -> Gtk.text_iter -> unit

    val remove_all_tags : Gtk.text_buffer -> Gtk.text_iter -> Gtk.text_iter -> unit

    val create_tag_0 : Gtk.text_buffer -> string option -> Gtk.text_tag

    val create_tag_2 : Gtk.text_buffer -> string option -> string -> string -> Gtk.text_tag

    val get_iter_at_line_offset : Gtk.text_buffer -> int -> int -> Gtk.text_iter

    val get_iter_at_offset : Gtk.text_buffer -> int -> Gtk.text_iter

    val get_iter_at_line : Gtk.text_buffer -> int -> Gtk.text_iter

    val get_iter_at_line_index : Gtk.text_buffer -> int -> int -> Gtk.text_iter

    val get_iter_at_mark : Gtk.text_buffer -> Gtk.text_mark -> Gtk.text_iter

    val get_start_iter : Gtk.text_buffer -> Gtk.text_iter

    val get_end_iter : Gtk.text_buffer -> Gtk.text_iter

    val get_bounds : Gtk.text_buffer -> Gtk.text_iter * Gtk.text_iter

    val get_modified : Gtk.text_buffer -> bool

    val set_modified : Gtk.text_buffer -> bool -> unit

    val delete_selection : Gtk.text_buffer -> bool -> bool -> bool

    val get_selection_bounds : Gtk.text_buffer -> Gtk.text_iter * Gtk.text_iter

    val begin_user_action : Gtk.text_buffer -> unit

    val end_user_action : Gtk.text_buffer -> unit

    val create_child_anchor : Gtk.text_buffer -> Gtk.text_iter -> Gtk.text_child_anchor

    val insert_child_anchor : Gtk.text_buffer -> Gtk.text_iter -> Gtk.text_child_anchor -> unit

    val paste_clipboard : Gtk.text_buffer -> Gtk.clipboard -> Gtk.text_iter option -> bool -> unit

    val copy_clipboard : Gtk.text_buffer -> Gtk.clipboard -> unit

    val cut_clipboard : Gtk.text_buffer -> Gtk.clipboard -> bool -> unit

    val add_selection_clipboard : Gtk.text_buffer -> Gtk.clipboard -> unit

    val remove_selection_clipboard : Gtk.text_buffer -> Gtk.clipboard -> unit