sig
  val cast : 'Gobject.obj -> Gtk.action_group Gobject.obj
  module P :
    sig
      val name : ([> `actiongroup ], string) Gobject.property
      val sensitive : ([> `actiongroup ], bool) Gobject.property
      val visible : ([> `actiongroup ], bool) Gobject.property
    end
  module S :
    sig
      val connect_proxy :
        ([> `actiongroup ],
         Gtk.action Gobject.obj -> Gtk.widget Gobject.obj -> unit)
        GtkSignal.t
      val disconnect_proxy :
        ([> `actiongroup ],
         Gtk.action Gobject.obj -> Gtk.widget Gobject.obj -> unit)
        GtkSignal.t
      val post_activate :
        ([> `actiongroup ], Gtk.action Gobject.obj -> unit) GtkSignal.t
      val pre_activate :
        ([> `actiongroup ], Gtk.action Gobject.obj -> unit) GtkSignal.t
    end
  val create :
    ?name:string ->
    Gtk.action_group Gobject.param list -> Gtk.action_group Gobject.obj
  external get_action :
    [> `actiongroup ] Gobject.obj -> string -> Gtk.action Gobject.obj
    = "ml_gtk_action_group_get_action"
  external list_actions :
    [> `actiongroup ] Gobject.obj -> Gtk.action Gobject.obj list
    = "ml_gtk_action_group_list_actions"
  external add_action :
    [> `actiongroup ] Gobject.obj -> Gtk.action Gobject.obj -> unit
    = "ml_gtk_action_group_add_action"
  external add_action_with_accel :
    [> `actiongroup ] Gobject.obj ->
    Gtk.action Gobject.obj -> string option -> unit
    = "ml_gtk_action_group_add_action_with_accel"
  external remove_action :
    [> `actiongroup ] Gobject.obj -> Gtk.action Gobject.obj -> unit
    = "ml_gtk_action_group_remove_action"
end