sig
  class type t =
    object ('a)
      method _isLayoutRoot : bool Js.t Js.prop
      method addChildEls : unit Js.meth
      method addCls : 'Js.t -> 'Js.t Js.meth
      method addClsWithUI : 'Js.t -> 'Js.t -> unit Js.meth
      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 addPropertyToState :
        'Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.optdef -> bool Js.t Js.meth
      method addStateEvents : 'Js.t -> unit Js.meth
      method addUIClsToElement : Js.js_string Js.t -> unit Js.meth
      method afterComponentLayout :
        Js.number Js.t ->
        Js.number Js.t -> 'Js.t -> 'Js.t -> unit Js.meth
      method afterRender : unit Js.meth
      method afterSetPosition :
        Js.number Js.t -> Js.number Js.t -> unit Js.meth
      method alignTo :
        'Js.t ->
        Js.js_string Js.t Js.optdef ->
        Js.number Js.t Js.js_array Js.t Js.optdef ->
        'Js.t Js.optdef -> 'Js.t Js.meth
      method anchorTo :
        'Js.t ->
        Js.js_string Js.t Js.optdef ->
        Js.number Js.t Js.js_array Js.t Js.optdef ->
        'Js.t Js.optdef ->
        'Js.t Js.optdef -> 'Js.callback Js.optdef -> 'Js.t Js.meth
      method animate : 'a1 Js.t -> 'b1 Js.t Js.meth
      method applyState : 'c1 Js.t -> unit Js.meth
      method beforeBlur : Ext_EventObject.t Js.t -> unit Js.meth
      method beforeComponentLayout :
        Js.number Js.t -> Js.number Js.t -> unit Js.meth
      method beforeDestroy : unit Js.meth
      method beforeFocus : Ext_EventObject.t Js.t -> unit Js.meth
      method beforeLayout : unit Js.meth
      method calculateConstrainedPosition :
        'd1 Js.t Js.optdef ->
        Js.number Js.t Js.js_array Js.t Js.optdef ->
        bool Js.t Js.optdef ->
        Js.number Js.t Js.js_array Js.t Js.optdef ->
        Js.number Js.t Js.js_array Js.t Js.meth
      method callParent : 'e1 Js.t -> 'f1 Js.t Js.meth
      method callSuper : 'g1 Js.t -> 'h1 Js.t Js.meth
      method clearListeners : unit Js.meth
      method clearManagedListeners : unit Js.meth
      method contentPaddingProperty : Js.js_string Js.t Js.prop
      method destroy : unit Js.meth
      method disable : bool Js.t Js.optdef -> unit Js.meth
      method doAutoRender : unit Js.meth
      method doComponentLayout : 'i1 Js.t Js.meth
      method draggable : bool Js.t Js.readonly_prop
      method enable : bool Js.t Js.optdef -> unit Js.meth
      method enableBubble : 'j1 Js.t -> unit Js.meth
      method ensureAttachedToBody : bool Js.t Js.optdef -> unit Js.meth
      method findPlugin :
        Js.js_string Js.t -> Ext_AbstractPlugin.t Js.t Js.meth
      method fireEvent : Js.js_string Js.t -> 'k1 Js.t -> bool Js.t Js.meth
      method fireEventArgs :
        Js.js_string Js.t -> 'l1 Js.t Js.js_array Js.t -> bool Js.t Js.meth
      method frameSize : 'm1 Js.t Js.readonly_prop
      method getActiveAnimation : 'n1 Js.t Js.meth
      method getAlignToXY :
        'o1 Js.t ->
        Js.js_string Js.t Js.optdef ->
        Js.number Js.t Js.js_array Js.t Js.optdef ->
        Js.number Js.t Js.js_array Js.t Js.meth
      method getAnchorXY :
        Js.js_string Js.t Js.optdef ->
        bool Js.t Js.optdef ->
        'p1 Js.t Js.optdef -> Js.number Js.t Js.js_array Js.t Js.meth
      method getBox :
        bool Js.t Js.optdef -> bool Js.t Js.optdef -> 'q1 Js.t Js.meth
      method getBubbleTarget : 'r1 Js.t Js.meth
      method getConstrainVector :
        's1 Js.t Js.optdef ->
        Js.number Js.t Js.js_array Js.t Js.optdef ->
        Js.number Js.t Js.js_array Js.t Js.optdef -> 't1 Js.t Js.meth
      method getEl : Ext_dom_Element.t Js.t Js.meth
      method getHeight : Js.number Js.t Js.meth
      method getId : Js.js_string Js.t Js.meth
      method getInitialConfig :
        Js.js_string Js.t Js.optdef -> 'u1 Js.t Js.meth
      method getInsertPosition : 'v1 Js.t -> Dom_html.element Js.t Js.meth
      method getItemId : Js.js_string Js.t Js.meth
      method getLoader : Ext_ComponentLoader.t Js.t Js.meth
      method getLocalX : Js.number Js.t Js.meth
      method getLocalXY : Js.number Js.t Js.js_array Js.t Js.meth
      method getLocalY : Js.number Js.t Js.meth
      method getOffsetsTo :
        'w1 Js.t -> Js.number Js.t Js.js_array Js.t Js.meth
      method getPlugin :
        Js.js_string Js.t -> Ext_AbstractPlugin.t Js.t Js.meth
      method getRegion : Ext_util_Region.t Js.t Js.meth
      method getSize : 'x1 Js.t Js.meth
      method getSizeModel : 'y1 Js.t -> 'z1 Js.t Js.meth
      method getState : 'a2 Js.t Js.meth
      method getViewRegion : Ext_util_Region.t Js.t Js.meth
      method getWidth : Js.number Js.t Js.meth
      method getX : Js.number Js.t Js.meth
      method getXTypes : Js.js_string Js.t Js.meth
      method getXY : Js.number Js.t Js.js_array Js.t Js.meth
      method getY : Js.number Js.t Js.meth
      method hasCls : Js.js_string Js.t -> bool Js.t Js.meth
      method hasListener : Js.js_string Js.t -> bool Js.t Js.meth
      method hasListeners : 'b2 Js.t Js.readonly_prop
      method hasUICls : Js.js_string Js.t -> unit Js.meth
      method initConfig : 'c2 Js.t -> 'Js.t Js.meth
      method initEvents : unit Js.meth
      method initRenderData : 'd2 Js.t Js.meth
      method is : Js.js_string Js.t -> bool Js.t Js.meth
      method isComponent : bool Js.t Js.prop
      method isDescendantOf : 'e2 Js.t -> bool Js.t Js.meth
      method isDisabled : bool Js.t Js.meth
      method isDraggable : bool Js.t Js.meth
      method isDroppable : bool Js.t Js.meth
      method isFloating : bool Js.t Js.meth
      method isHidden : bool Js.t Js.meth
      method isLayoutRoot : unit Js.meth
      method isLayoutSuspended : bool Js.t Js.meth
      method isObservable : bool Js.t Js.prop
      method isVisible : bool Js.t Js.optdef -> bool Js.t Js.meth
      method isXType :
        Js.js_string Js.t -> bool Js.t Js.optdef -> bool Js.t Js.meth
      method maskOnDisable : bool Js.t Js.prop
      method mon :
        'f2 Js.t ->
        'g2 Js.t ->
        'h2 Js.callback Js.optdef ->
        'i2 Js.t Js.optdef -> 'j2 Js.t Js.optdef -> 'k2 Js.t Js.meth
      method move :
        Js.js_string Js.t ->
        Js.number Js.t -> 'l2 Js.t Js.optdef -> unit Js.meth
      method mun :
        'm2 Js.t ->
        'n2 Js.t ->
        'o2 Js.callback Js.optdef -> 'p2 Js.t Js.optdef -> unit Js.meth
      method nextNode : Js.js_string Js.t Js.optdef -> 'Js.t Js.meth
      method nextSibling : Js.js_string Js.t Js.optdef -> 'Js.t Js.meth
      method on :
        'q2 Js.t ->
        'r2 Js.callback Js.optdef ->
        's2 Js.t Js.optdef -> 't2 Js.t Js.optdef -> 'u2 Js.t Js.meth
      method onAdded : 'v2 Js.t -> Js.number Js.t -> unit Js.meth
      method onDisable : unit Js.meth
      method onEnable : unit Js.meth
      method onPosition : Js.number Js.t -> Js.number Js.t -> unit Js.meth
      method onRemoved : bool Js.t -> unit Js.meth
      method onRender :
        Ext_dom_Element.t Js.t -> Js.number Js.t -> unit Js.meth
      method onResize :
        'w2 Js.t -> 'x2 Js.t -> 'y2 Js.t -> 'z2 Js.t -> unit Js.meth
      method ownerCt : 'a3 Js.t Js.readonly_prop
      method postBlur : Ext_EventObject.t Js.t -> unit Js.meth
      method previousNode : Js.js_string Js.t Js.optdef -> 'Js.t Js.meth
      method previousSibling : Js.js_string Js.t Js.optdef -> 'Js.t Js.meth
      method registerFloatingItem : 'b3 Js.t -> unit Js.meth
      method relayEvents :
        'c3 Js.t ->
        Js.js_string Js.t Js.js_array Js.t ->
        Js.js_string Js.t Js.optdef -> 'd3 Js.t Js.meth
      method removeAnchor : 'Js.t Js.meth
      method removeChildEls : 'e3 Js.callback -> unit Js.meth
      method removeCls : 'f3 Js.t -> 'Js.t Js.meth
      method removeClsWithUI : 'g3 Js.t -> unit Js.meth
      method removeListener :
        Js.js_string Js.t ->
        'h3 Js.callback -> 'i3 Js.t Js.optdef -> unit Js.meth
      method removeManagedListener :
        'j3 Js.t ->
        'k3 Js.t ->
        'l3 Js.callback Js.optdef -> 'm3 Js.t Js.optdef -> unit Js.meth
      method removeUIClsFromElement : Js.js_string Js.t -> unit Js.meth
      method render :
        'n3 Js.t Js.optdef -> 'o3 Js.t Js.optdef -> unit Js.meth
      method rendered : bool Js.t Js.readonly_prop
      method resumeEvent : Js.js_string Js.t -> unit Js.meth
      method resumeEvents : unit Js.meth
      method savePropToState :
        Js.js_string Js.t ->
        'p3 Js.t -> Js.js_string Js.t Js.optdef -> bool Js.t Js.meth
      method savePropsToState : 'q3 Js.t -> 'r3 Js.t -> 's3 Js.t Js.meth
      method saveState : unit Js.meth
      method self : Ext_Class.t Js.t Js.prop
      method sequenceFx : 't3 Js.t Js.meth
      method setBorder : 'u3 Js.t -> unit Js.meth
      method setBox : 'v3 Js.t -> 'w3 Js.t Js.optdef -> 'Js.t Js.meth
      method setDisabled : bool Js.t -> unit Js.meth
      method setDocked : 'x3 Js.t -> bool Js.t Js.optdef -> 'Js.t Js.meth
      method setHeight : Js.number Js.t -> 'Js.t Js.meth
      method setLocalX : Js.number Js.t -> 'Js.t Js.meth
      method setLocalXY :
        'y3 Js.t -> Js.number Js.t Js.optdef -> 'Js.t Js.meth
      method setLocalY : Js.number Js.t -> 'Js.t Js.meth
      method setMargin : 'z3 Js.t -> unit Js.meth
      method setRegion :
        Ext_util_Region.t Js.t -> 'a4 Js.t Js.optdef -> 'Js.t Js.meth
      method setSize : 'b4 Js.t -> 'c4 Js.t -> 'Js.t Js.meth
      method setUI : Js.js_string Js.t -> unit Js.meth
      method setVisible : bool Js.t -> 'Js.t Js.meth
      method setWidth : Js.number Js.t -> 'Js.t Js.meth
      method setX : Js.number Js.t -> 'd4 Js.t Js.optdef -> 'Js.t Js.meth
      method setXY :
        Js.number Js.t Js.js_array Js.t ->
        'e4 Js.t Js.optdef -> 'Js.t Js.meth
      method setY : Js.number Js.t -> 'f4 Js.t Js.optdef -> 'Js.t Js.meth
      method statics : Ext_Class.t Js.t Js.meth
      method stopAnimation : Ext_dom_Element.t Js.t Js.meth
      method suspendEvent : Js.js_string Js.t -> unit Js.meth
      method suspendEvents : bool Js.t -> unit Js.meth
      method syncFx : 'g4 Js.t Js.meth
      method translatePoints :
        'h4 Js.t -> Js.number Js.t Js.optdef -> 'i4 Js.t Js.meth
      method un :
        Js.js_string Js.t ->
        'j4 Js.callback -> 'k4 Js.t Js.optdef -> unit Js.meth
      method up :
        'l4 Js.t Js.optdef -> 'm4 Js.t Js.optdef -> 'n4 Js.t Js.meth
      method update :
        'o4 Js.t ->
        bool Js.t Js.optdef -> 'p4 Js.callback Js.optdef -> unit Js.meth
      method updateLayout : 'q4 Js.t Js.optdef -> unit Js.meth
    end
  class type configs =
    object ('a)
      method afterComponentLayout :
        ('Js.t,
         Js.number Js.t -> Js.number Js.t -> 'Js.t -> 'Js.t -> unit)
        Js.meth_callback Js.writeonly_prop
      method afterRender :
        ('Js.t, unit -> unit) Js.meth_callback Js.writeonly_prop
      method afterSetPosition :
        ('Js.t, Js.number Js.t -> Js.number Js.t -> unit) Js.meth_callback
        Js.writeonly_prop
      method autoEl : 'Js.t Js.prop
      method autoRender : 'Js.t Js.prop
      method autoShow : bool Js.t Js.prop
      method baseCls : Js.js_string Js.t Js.prop
      method beforeComponentLayout :
        ('Js.t, Js.number Js.t -> Js.number Js.t -> unit) Js.meth_callback
        Js.writeonly_prop
      method beforeDestroy :
        ('Js.t, unit -> unit) Js.meth_callback Js.writeonly_prop
      method beforeLayout :
        ('Js.t, unit -> unit) Js.meth_callback Js.writeonly_prop
      method border : 'Js.t Js.prop
      method childEls : 'Js.t Js.js_array Js.t Js.prop
      method cls : Js.js_string Js.t Js.prop
      method componentCls : Js.js_string Js.t Js.prop
      method componentLayout : 'Js.t Js.prop
      method contentEl : Js.js_string Js.t Js.prop
      method data : 'Js.t Js.prop
      method disabled : bool Js.t Js.prop
      method disabledCls : Js.js_string Js.t Js.prop
      method draggable : bool Js.t Js.prop
      method floating : bool Js.t Js.prop
      method frame : bool Js.t Js.prop
      method height : Js.number Js.t Js.prop
      method hidden : bool Js.t Js.prop
      method hideMode : Js.js_string Js.t Js.prop
      method html : 'Js.t Js.prop
      method id : Js.js_string Js.t Js.prop
      method itemId : Js.js_string Js.t Js.prop
      method listeners : 'Js.t Js.prop
      method loader : 'Js.t Js.prop
      method margin : 'Js.t Js.prop
      method maxHeight : Js.number Js.t Js.prop
      method maxWidth : Js.number Js.t Js.prop
      method minHeight : Js.number Js.t Js.prop
      method minWidth : Js.number Js.t Js.prop
      method onAdded :
        ('Js.t, 'Js.t -> Js.number Js.t -> unit) Js.meth_callback
        Js.writeonly_prop
      method onDisable :
        ('Js.t, unit -> unit) Js.meth_callback Js.writeonly_prop
      method onEnable :
        ('Js.t, unit -> unit) Js.meth_callback Js.writeonly_prop
      method onPosition :
        ('Js.t, Js.number Js.t -> Js.number Js.t -> unit) Js.meth_callback
        Js.writeonly_prop
      method onRemoved :
        ('Js.t, bool Js.t -> unit) Js.meth_callback Js.writeonly_prop
      method onRender :
        ('Js.t, Ext_dom_Element.t Js.t -> Js.number Js.t -> unit)
        Js.meth_callback Js.writeonly_prop
      method onResize :
        ('Js.t, 'Js.t -> 'Js.t -> 'Js.t -> 'Js.t -> unit)
        Js.meth_callback Js.writeonly_prop
      method overCls : Js.js_string Js.t Js.prop
      method padding : 'Js.t Js.prop
      method plugins : 'Js.t Js.prop
      method renderData : 'Js.t Js.prop
      method renderSelectors : 'Js.t Js.prop
      method renderTo : 'Js.t Js.prop
      method renderTpl : 'Js.t Js.prop
      method rtl : bool Js.t Js.prop
      method saveDelay : Js.number Js.t Js.prop
      method shrinkWrap : 'Js.t Js.prop
      method stateEvents : Js.js_string Js.t Js.js_array Js.t Js.prop
      method stateId : Js.js_string Js.t Js.prop
      method stateful : bool Js.t Js.prop
      method style : 'Js.t Js.prop
      method tpl : 'a1 Js.t Js.prop
      method tplWriteMode : Js.js_string Js.t Js.prop
      method ui : Js.js_string Js.t Js.prop
      method width : Js.number Js.t Js.prop
      method xtype : Js.js_string Js.t Js.prop
    end
  class type events =
    object
      method activate :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method added :
        (Ext_AbstractComponent.t Js.t ->
         'Js.t -> Js.number Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method afterrender :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method beforeactivate :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method beforedeactivate :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method beforedestroy :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method beforehide :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method beforerender :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method beforeshow :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method beforestaterestore :
        (Ext_state_Stateful.t Js.t -> 'Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method beforestatesave :
        (Ext_state_Stateful.t Js.t -> 'Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method blur :
        (Ext_AbstractComponent.t Js.t ->
         Ext_EventObject.t Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method boxready :
        (Ext_AbstractComponent.t Js.t ->
         Js.number Js.t -> Js.number Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method deactivate :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method destroy :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method disable :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method enable :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method focus :
        (Ext_AbstractComponent.t Js.t ->
         Ext_EventObject.t Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method hide :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method move :
        (Ext_AbstractComponent.t Js.t ->
         Js.number Js.t -> Js.number Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method removed :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> 'Js.t -> unit)
        Js.callback Js.writeonly_prop
      method render :
        (Ext_AbstractComponent.t Js.t -> 'Js.t -> unit) Js.callback
        Js.writeonly_prop
      method resize :
        (Ext_AbstractComponent.t Js.t ->
         Js.number Js.t ->
         Js.number Js.t ->
         Js.number Js.t -> Js.number Js.t -> 'a1 Js.t -> unit)
        Js.callback Js.writeonly_prop
      method show :
        (Ext_AbstractComponent.t Js.t -> 'b1 Js.t -> unit) Js.callback
        Js.writeonly_prop
      method staterestore :
        (Ext_state_Stateful.t Js.t -> 'c1 Js.t -> 'd1 Js.t -> unit)
        Js.callback Js.writeonly_prop
      method statesave :
        (Ext_state_Stateful.t Js.t -> 'e1 Js.t -> 'f1 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 cancelLayout : 'Js.t -> unit 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 flushLayouts : 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
      method resumeLayouts : bool Js.t Js.optdef -> unit Js.meth
      method suspendLayouts : unit Js.meth
      method updateLayout : 'Js.t -> bool Js.t Js.optdef -> unit Js.meth
    end
  val get_static : unit -> Ext_AbstractComponent.statics Js.t
  val static : Ext_AbstractComponent.statics Js.t
  val cancelLayout : 'Js.t -> unit
  val flushLayouts : unit -> unit
  val resumeLayouts : bool Js.t Js.optdef -> unit
  val suspendLayouts : unit -> unit
  val updateLayout : 'Js.t -> bool Js.t Js.optdef -> unit
  val of_configs :
    Ext_AbstractComponent.configs Js.t -> Ext_AbstractComponent.t Js.t
  val to_configs :
    Ext_AbstractComponent.t Js.t -> Ext_AbstractComponent.configs Js.t
end