sig
  val cast : 'Gobject.obj -> Gtk.text_tag
  module P :
    sig
      val background : ([> `texttag ], string) Gobject.property
      val background_full_height : ([> `texttag ], bool) Gobject.property
      val background_full_height_set : ([> `texttag ], bool) Gobject.property
      val background_gdk : ([> `texttag ], Gdk.color) Gobject.property
      val background_set : ([> `texttag ], bool) Gobject.property
      val background_stipple : ([> `texttag ], Gdk.bitmap) Gobject.property
      val background_stipple_set : ([> `texttag ], bool) Gobject.property
      val direction :
        ([> `texttag ], GtkEnums.text_direction) Gobject.property
      val editable : ([> `texttag ], bool) Gobject.property
      val editable_set : ([> `texttag ], bool) Gobject.property
      val family : ([> `texttag ], string) Gobject.property
      val family_set : ([> `texttag ], bool) Gobject.property
      val font : ([> `texttag ], string) Gobject.property
      val font_desc :
        ([> `texttag ], Pango.font_description) Gobject.property
      val foreground : ([> `texttag ], string) Gobject.property
      val foreground_gdk : ([> `texttag ], Gdk.color) Gobject.property
      val foreground_set : ([> `texttag ], bool) Gobject.property
      val foreground_stipple : ([> `texttag ], Gdk.bitmap) Gobject.property
      val foreground_stipple_set : ([> `texttag ], bool) Gobject.property
      val indent : ([> `texttag ], int) Gobject.property
      val indent_set : ([> `texttag ], bool) Gobject.property
      val invisible : ([> `texttag ], bool) Gobject.property
      val invisible_set : ([> `texttag ], bool) Gobject.property
      val justification :
        ([> `texttag ], GtkEnums.justification) Gobject.property
      val justification_set : ([> `texttag ], bool) Gobject.property
      val language : ([> `texttag ], string) Gobject.property
      val language_set : ([> `texttag ], bool) Gobject.property
      val left_margin : ([> `texttag ], int) Gobject.property
      val left_margin_set : ([> `texttag ], bool) Gobject.property
      val name : ([> `texttag ], string) Gobject.property
      val pixels_above_lines : ([> `texttag ], int) Gobject.property
      val pixels_above_lines_set : ([> `texttag ], bool) Gobject.property
      val pixels_below_lines : ([> `texttag ], int) Gobject.property
      val pixels_below_lines_set : ([> `texttag ], bool) Gobject.property
      val pixels_inside_wrap : ([> `texttag ], int) Gobject.property
      val pixels_inside_wrap_set : ([> `texttag ], bool) Gobject.property
      val right_margin : ([> `texttag ], int) Gobject.property
      val right_margin_set : ([> `texttag ], bool) Gobject.property
      val rise : ([> `texttag ], int) Gobject.property
      val rise_set : ([> `texttag ], bool) Gobject.property
      val scale : ([> `texttag ], float) Gobject.property
      val scale_set : ([> `texttag ], bool) Gobject.property
      val size : ([> `texttag ], int) Gobject.property
      val size_points : ([> `texttag ], float) Gobject.property
      val size_set : ([> `texttag ], bool) Gobject.property
      val stretch : ([> `texttag ], PangoEnums.stretch) Gobject.property
      val stretch_set : ([> `texttag ], bool) Gobject.property
      val strikethrough : ([> `texttag ], bool) Gobject.property
      val strikethrough_set : ([> `texttag ], bool) Gobject.property
      val style : ([> `texttag ], PangoEnums.style) Gobject.property
      val style_set : ([> `texttag ], bool) Gobject.property
      val tabs_set : ([> `texttag ], bool) Gobject.property
      val underline : ([> `texttag ], PangoEnums.underline) Gobject.property
      val underline_set : ([> `texttag ], bool) Gobject.property
      val variant : ([> `texttag ], PangoEnums.variant) Gobject.property
      val variant_set : ([> `texttag ], bool) Gobject.property
      val weight : ([> `texttag ], int) Gobject.property
      val weight_set : ([> `texttag ], bool) Gobject.property
      val wrap_mode : ([> `texttag ], GtkEnums.wrap_mode) Gobject.property
      val wrap_mode_set : ([> `texttag ], bool) Gobject.property
    end
  module S :
    sig
      val event :
        ([> `texttag ],
         origin:unit Gtk.obj -> GdkEvent.any -> Gtk.text_iter -> bool)
        GtkSignal.t
    end
  val create :
    ?name:string -> [ `texttag ] Gobject.param list -> Gtk.text_tag
  external get_priority : [> `texttag ] Gtk.obj -> int
    = "ml_gtk_text_tag_get_priority"
  external set_priority : [> `texttag ] Gtk.obj -> int -> unit
    = "ml_gtk_text_tag_set_priority"
  external event :
    [> `texttag ] Gtk.obj ->
    'Gtk.obj -> 'Gdk.event -> Gtk.text_iter -> bool
    = "ml_gtk_text_tag_event"
end