sig
  type t
  val create : unit -> SFSprite.t
  val copy : sprite:SFSprite.t -> SFSprite.t
  val setPosition : sprite:SFSprite.t -> pos:float * float -> unit
  val setPosition2 : sprite:SFSprite.t -> x:float -> y:float -> unit
  val move : sprite:SFSprite.t -> offset:float * float -> unit
  val move2 : sprite:SFSprite.t -> offsetX:float -> offsetY:float -> unit
  val scale : sprite:SFSprite.t -> factors:float * float -> unit
  val scale2 : sprite:SFSprite.t -> factorX:float -> factorY:float -> unit
  val rotate : sprite:SFSprite.t -> angle:float -> unit
  val setScale : sprite:SFSprite.t -> scale:float * float -> unit
  val setScale2 : sprite:SFSprite.t -> scaleX:float -> scaleY:float -> unit
  val setRotation : sprite:SFSprite.t -> rotation:float -> unit
  val setOrigin : sprite:SFSprite.t -> origin:float * float -> unit
  val setColor : sprite:SFSprite.t -> color:SFColor.t -> unit
  val setTexture :
    sprite:SFSprite.t -> texture:SFTexture.t -> resetRect:bool -> unit
  val getScaleX : sprite:SFSprite.t -> float
  val getScaleY : sprite:SFSprite.t -> float
  val getScale : sprite:SFSprite.t -> float * float
  val getRotation : sprite:SFSprite.t -> float
end