/// declare namespace Phaser.Loader { interface LoaderPlugin extends Phaser.Events.EventEmitter { spine(key: string | Phaser.Loader.FileTypes.SpineFileConfig | Phaser.Loader.FileTypes.SpineFileConfig[], jsonURL: string, atlasURL: string | string[], preMultipliedAlpha?: boolean, textureXhrSettings?: Phaser.Types.Loader.XHRSettingsObject, atlasXhrSettings?: Phaser.Types.Loader.XHRSettingsObject): LoaderPlugin } } declare namespace Phaser.GameObjects { interface GameObjectFactory { spine(x: number, y: number, key?: string, aimationName?: string, loop?: boolean): SpineGameObject } interface GameObjectCreator { spine(config: SpineGameObjectConfig, addToScene?: boolean): SpineGameObject } } declare class SpinePlugin extends Phaser.Plugins.ScenePlugin { constructor(scene: Phaser.Scene, pluginManager: Phaser.Plugins.PluginManager) readonly isWebGL: boolean cache: Phaser.Cache.BaseCache spineTextures: Phaser.Cache.BaseCache json: Phaser.Cache.BaseCache textures: Phaser.Textures.TextureManager drawDebug: boolean gl: WebGLRenderingContext renderer: Phaser.Renderer.Canvas.CanvasRenderer | Phaser.Renderer.WebGL.WebGLRenderer sceneRenderer: spine.webgl.SceneRenderer skeletonRenderer: spine.canvas.SkeletonRenderer | spine.webgl.SkeletonRenderer skeletonDebugRenderer: spine.webgl.SkeletonDebugRenderer plugin: typeof spine getAtlasCanvas(key: string): spine.TextureAtlas getAtlasWebGL(key: string): spine.TextureAtlas worldToLocal(x: number, y: number, skeleton: spine.Skeleton, bone?: spine.Bone): spine.Vector2 getVector2(x: number, y: number): spine.Vector2 getVector3(x: number, y: number, z: number): spine.Vector2 setDebugBones(value?: boolean): SpinePlugin setDebugRegionAttachments(value?: boolean): SpinePlugin setDebugBoundingBoxes(value?: boolean): SpinePlugin setDebugMeshHull(value?: boolean): SpinePlugin setDebugMeshTriangles(value?: boolean): SpinePlugin setDebugPaths(value?: boolean): SpinePlugin setDebugSkeletonXY(value?: boolean): SpinePlugin setDebugClipping(value?: boolean): SpinePlugin setEffect(effect?: spine.VertexEffect): SpinePlugin createSkeleton(key: string, skeletonJSON?: object): any | null createAnimationState(skeleton: spine.Skeleton): any getBounds(skeleton: spine.Skeleton): any onResize(): void add(x: number, y: number, key?: string, animationName?: string, loop?: boolean): SpineGameObject make(config: SpineGameObjectConfig, addToScene?: boolean): SpineGameObject }