sig
  class type t =
    object ('a)
      method addCls : 'b Js.t -> 'a Js.t Js.meth
      method addEvents : 'c Js.t -> unit Js.meth
      method addListener :
        'd Js.t ->
        'e Js.callback Js.optdef ->
        'f Js.t Js.optdef -> 'g Js.t Js.optdef -> 'h Js.t Js.meth
      method addManagedListener :
        'i Js.t ->
        'j Js.t ->
        'k Js.callback Js.optdef ->
        'l Js.t Js.optdef -> 'm Js.t Js.optdef -> 'n Js.t Js.meth
      method animate : 'o Js.t -> 'p Js.t Js.meth
      method callParent : 'q Js.t -> 'r Js.t Js.meth
      method callSuper : 's Js.t -> 't Js.t Js.meth
      method clearListeners : unit Js.meth
      method clearManagedListeners : unit Js.meth
      method dd : Ext_dd_DragSource.t Js.t Js.prop
      method destroy : unit Js.meth
      method enableBubble : 'u Js.t -> unit Js.meth
      method fireEvent : Js.js_string Js.t -> 'v Js.t -> bool Js.t Js.meth
      method fireEventArgs :
        Js.js_string Js.t -> 'w Js.t Js.js_array Js.t -> bool Js.t Js.meth
      method getActiveAnimation : 'x Js.t Js.meth
      method getBBox : 'y Js.t Js.meth
      method getInitialConfig :
        Js.js_string Js.t Js.optdef -> 'z 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 hide : bool Js.t -> 'a Js.t Js.meth
      method initConfig : 'b1 Js.t -> 'a Js.t Js.meth
      method isObservable : bool Js.t Js.prop
      method isSprite : bool Js.t Js.prop
      method mon :
        'c1 Js.t ->
        'd1 Js.t ->
        'e1 Js.callback Js.optdef ->
        'f1 Js.t Js.optdef -> 'g1 Js.t Js.optdef -> 'h1 Js.t Js.meth
      method mun :
        'i1 Js.t ->
        'j1 Js.t ->
        'k1 Js.callback Js.optdef -> 'l1 Js.t Js.optdef -> unit Js.meth
      method on :
        'm1 Js.t ->
        'n1 Js.callback Js.optdef ->
        'o1 Js.t Js.optdef -> 'p1 Js.t Js.optdef -> 'q1 Js.t Js.meth
      method redraw : 'a Js.t Js.meth
      method relayEvents :
        'r1 Js.t ->
        Js.js_string Js.t Js.js_array Js.t ->
        Js.js_string Js.t Js.optdef -> 's1 Js.t Js.meth
      method remove : bool Js.t Js.meth
      method removeCls : 't1 Js.t -> 'a Js.t Js.meth
      method removeListener :
        Js.js_string Js.t ->
        'u1 Js.callback -> 'v1 Js.t Js.optdef -> unit Js.meth
      method removeManagedListener :
        'w1 Js.t ->
        'x1 Js.t ->
        'y1 Js.callback Js.optdef -> 'z1 Js.t Js.optdef -> unit Js.meth
      method resumeEvent : Js.js_string Js.t -> unit Js.meth
      method resumeEvents : unit Js.meth
      method self : Ext_Class.t Js.t Js.prop
      method sequenceFx : 'a2 Js.t Js.meth
      method setAttributes : 'b2 Js.t -> bool Js.t -> 'a Js.t Js.meth
      method setStyle :
        'c2 Js.t -> Js.js_string Js.t Js.optdef -> 'a Js.t Js.meth
      method show : bool Js.t -> 'a 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 : 'd2 Js.t Js.meth
      method un :
        Js.js_string Js.t ->
        'e2 Js.callback -> 'f2 Js.t Js.optdef -> unit Js.meth
    end
  class type configs =
    object
      method _type : Js.js_string Js.t Js.prop
      method draggable : bool Js.t Js.prop
      method fill : Js.js_string Js.t Js.prop
      method font : Js.js_string Js.t Js.prop
      method group : 'a Js.t Js.prop
      method height : Js.number Js.t Js.prop
      method listeners : 'b Js.t Js.prop
      method opacity : Js.number Js.t Js.prop
      method path : Js.js_string Js.t Js.prop
      method radius : Js.number Js.t Js.prop
      method radiusX : Js.number Js.t Js.prop
      method radiusY : Js.number Js.t Js.prop
      method src : Js.js_string Js.t Js.prop
      method stroke : Js.js_string Js.t Js.prop
      method stroke_width : Js.number Js.t Js.prop
      method text : Js.js_string Js.t Js.prop
      method width : Js.number Js.t Js.prop
      method x : Js.number Js.t Js.prop
      method y : Js.number Js.t Js.prop
    end
  class type events =
    object
      method beforedestroy :
        (Ext_draw_Sprite.t Js.t -> 'a Js.t -> unit) Js.callback
        Js.writeonly_prop
      method click :
        (Ext_EventObject.t Js.t -> Dom_html.element Js.t -> 'b Js.t -> unit)
        Js.callback Js.writeonly_prop
      method destroy :
        (Ext_draw_Sprite.t Js.t -> 'c Js.t -> unit) Js.callback
        Js.writeonly_prop
      method mousedown :
        (Ext_EventObject.t Js.t -> Dom_html.element Js.t -> 'd Js.t -> unit)
        Js.callback Js.writeonly_prop
      method mousemove :
        (Ext_EventObject.t Js.t -> Dom_html.element Js.t -> 'e Js.t -> unit)
        Js.callback Js.writeonly_prop
      method mouseout :
        (Ext_EventObject.t Js.t -> Dom_html.element Js.t -> 'f Js.t -> unit)
        Js.callback Js.writeonly_prop
      method mouseover :
        (Ext_EventObject.t Js.t -> Dom_html.element Js.t -> 'g Js.t -> unit)
        Js.callback Js.writeonly_prop
      method mouseup :
        (Ext_EventObject.t Js.t -> Dom_html.element Js.t -> 'h Js.t -> unit)
        Js.callback Js.writeonly_prop
      method render :
        (Ext_draw_Sprite.t Js.t -> 'i Js.t -> unit) Js.callback
        Js.writeonly_prop
    end
  class type statics =
    object
      method addMembers : 'a Js.t -> unit Js.meth
      method addStatics : 'b Js.t -> 'c Js.t Js.meth
      method capture :
        'd Js.t -> 'e Js.callback -> 'f Js.t Js.optdef -> unit Js.meth
      method create : 'g Js.t Js.meth
      method createAlias : 'h Js.t -> 'i Js.t -> unit Js.meth
      method getName : Js.js_string Js.t Js.meth
      method observe : 'j Js.callback -> 'k Js.t -> unit Js.meth
      method releaseCapture : 'l Js.t -> unit Js.meth
    end
  val of_configs : Ext_draw_Sprite.configs Js.t -> Ext_draw_Sprite.t Js.t
  val to_configs : Ext_draw_Sprite.t Js.t -> Ext_draw_Sprite.configs Js.t
end