sig
  class type t =
    object ('a)
      method addEvents : 'Js.t -> unit Js.meth
      method addListener :
        'Js.t ->
        'Js.callback Js.optdef ->
        'Js.t Js.optdef -> 'Js.t Js.optdef -> 'Js.t Js.meth
      method addManagedListener :
        'Js.t ->
        'Js.t ->
        'Js.callback Js.optdef ->
        'Js.t Js.optdef -> 'Js.t Js.optdef -> 'Js.t Js.meth
      method bindStore : 'Js.t Js.optdef -> unit Js.meth
      method bindStoreListeners :
        #Ext_data_AbstractStore.t Js.t -> unit Js.meth
      method callParent : 'Js.t -> 'Js.t Js.meth
      method callSuper : 'Js.t -> 'Js.t Js.meth
      method clearListeners : unit Js.meth
      method clearManagedListeners : unit Js.meth
      method deselect : 'Js.t -> bool Js.t Js.optdef -> unit Js.meth
      method deselectAll : bool Js.t Js.optdef -> unit Js.meth
      method deselectRange : 'Js.t -> 'Js.t -> unit Js.meth
      method enableBubble : 'Js.t -> unit Js.meth
      method fireEvent : Js.js_string Js.t -> 'Js.t -> bool Js.t Js.meth
      method fireEventArgs :
        Js.js_string Js.t -> 'Js.t Js.js_array Js.t -> bool Js.t Js.meth
      method getCount : Js.number Js.t Js.meth
      method getCurrentPosition : unit Js.meth
      method getInitialConfig :
        Js.js_string Js.t Js.optdef -> 'Js.t Js.meth
      method getLastSelected : Ext_data_Model.t Js.t Js.meth
      method getSelection : Ext_data_Model.t Js.js_array Js.t Js.meth
      method getSelectionMode : Js.js_string Js.t Js.meth
      method getStore : #Ext_data_AbstractStore.t Js.t Js.meth
      method getStoreListeners : Ext_data_Store.t Js.t -> 'Js.t Js.meth
      method hasListener : Js.js_string Js.t -> bool Js.t Js.meth
      method hasListeners : 'a1 Js.t Js.readonly_prop
      method hasSelection : bool Js.t Js.meth
      method initConfig : 'b1 Js.t -> 'Js.t Js.meth
      method isFocused : Ext_data_Model.t Js.t -> unit Js.meth
      method isLocked : bool Js.t Js.meth
      method isObservable : bool Js.t Js.prop
      method isRangeSelected : 'c1 Js.t -> 'd1 Js.t -> bool Js.t Js.meth
      method isSelected : 'e1 Js.t -> bool Js.t Js.meth
      method mon :
        'f1 Js.t ->
        'g1 Js.t ->
        'h1 Js.callback Js.optdef ->
        'i1 Js.t Js.optdef -> 'j1 Js.t Js.optdef -> 'k1 Js.t Js.meth
      method mun :
        'l1 Js.t ->
        'm1 Js.t ->
        'n1 Js.callback Js.optdef -> 'o1 Js.t Js.optdef -> unit Js.meth
      method on :
        'p1 Js.t ->
        'q1 Js.callback Js.optdef ->
        'r1 Js.t Js.optdef -> 's1 Js.t Js.optdef -> 't1 Js.t Js.meth
      method onBindStore :
        #Ext_data_AbstractStore.t Js.t -> bool Js.t -> unit Js.meth
      method onUnbindStore :
        #Ext_data_AbstractStore.t Js.t -> bool Js.t -> unit Js.meth
      method relayEvents :
        'u1 Js.t ->
        Js.js_string Js.t Js.js_array Js.t ->
        Js.js_string Js.t Js.optdef -> 'v1 Js.t Js.meth
      method removeListener :
        Js.js_string Js.t ->
        'w1 Js.callback -> 'x1 Js.t Js.optdef -> unit Js.meth
      method removeManagedListener :
        'y1 Js.t ->
        'z1 Js.t ->
        'a2 Js.callback Js.optdef -> 'b2 Js.t Js.optdef -> unit Js.meth
      method resumeEvent : Js.js_string Js.t -> unit Js.meth
      method resumeEvents : unit Js.meth
      method select :
        'c2 Js.t ->
        bool Js.t Js.optdef -> bool Js.t Js.optdef -> unit Js.meth
      method selectAll : bool Js.t -> unit Js.meth
      method selectNext :
        bool Js.t Js.optdef -> bool Js.t Js.optdef -> bool Js.t Js.meth
      method selectPrevious :
        bool Js.t Js.optdef -> bool Js.t Js.optdef -> bool Js.t Js.meth
      method selectRange :
        'd2 Js.t -> 'e2 Js.t -> bool Js.t Js.optdef -> unit Js.meth
      method selected : Ext_util_MixedCollection.t Js.t Js.readonly_prop
      method self : Ext_Class.t Js.t Js.prop
      method setLastFocused : Ext_data_Model.t Js.t -> unit Js.meth
      method setLocked : bool Js.t -> unit Js.meth
      method setSelectionMode : Js.js_string Js.t -> unit Js.meth
      method statics : Ext_Class.t Js.t Js.meth
      method suspendEvent : Js.js_string Js.t -> unit Js.meth
      method suspendEvents : bool Js.t -> unit Js.meth
      method un :
        Js.js_string Js.t ->
        'f2 Js.callback -> 'g2 Js.t Js.optdef -> unit Js.meth
      method unbindStoreListeners :
        #Ext_data_AbstractStore.t Js.t -> unit Js.meth
    end
  class type configs =
    object
      method allowDeselect : bool Js.t Js.prop
      method enableKeyNav : bool Js.t Js.prop
      method ignoreRightMouseSelection : bool Js.t Js.prop
      method listeners : 'Js.t Js.prop
      method mode : 'Js.t Js.prop
      method pruneRemoved : bool Js.t Js.prop
      method toggleOnClick : bool Js.t Js.prop
    end
  class type events =
    object
      method beforedeselect :
        (Ext_selection_RowModel.t Js.t ->
         Ext_data_Model.t Js.t -> Js.number Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method beforeselect :
        (Ext_selection_RowModel.t Js.t ->
         Ext_data_Model.t Js.t -> Js.number Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method deselect :
        (Ext_selection_RowModel.t Js.t ->
         Ext_data_Model.t Js.t -> Js.number Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method focuschange :
        (Ext_selection_Model.t Js.t ->
         Ext_data_Model.t Js.t -> Ext_data_Model.t Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method select :
        (Ext_selection_RowModel.t Js.t ->
         Ext_data_Model.t Js.t -> Js.number Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method selectionchange :
        (Ext_selection_Model.t Js.t ->
         Ext_data_Model.t Js.js_array Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
    end
  class type statics =
    object
      method addMembers : 'Js.t -> unit Js.meth
      method addStatics : 'Js.t -> 'Js.t Js.meth
      method capture :
        'Js.t -> 'Js.callback -> 'Js.t Js.optdef -> unit Js.meth
      method create : 'Js.t Js.meth
      method createAlias : 'Js.t -> 'Js.t -> unit Js.meth
      method getName : Js.js_string Js.t Js.meth
      method observe : 'Js.callback -> 'Js.t -> unit Js.meth
      method releaseCapture : 'Js.t -> unit Js.meth
    end
  val of_configs :
    Ext_selection_RowModel.configs Js.t -> Ext_selection_RowModel.t Js.t
  val to_configs :
    Ext_selection_RowModel.t Js.t -> Ext_selection_RowModel.configs Js.t
end