type SpriteAnimationFromMode = "current-frame" | "beginning"; interface SpriteFrameChangeEvent extends InstanceEvent { animationName: string; animationFrame: number; } interface SpriteAnimationEndEvent extends InstanceEvent { animationName: string; } interface SpriteInstanceEventMap extends WorldInstanceEventMap { "framechange": SpriteFrameChangeEvent; "animationend": SpriteAnimationEndEvent; } /** Represents the Sprite object. * @see {@link https://www.construct.net/make-games/manuals/construct-3/scripting/scripting-reference/plugin-interfaces/sprite | ISpriteInstance documentation } */ declare class ISpriteInstance extends IWorldInstance { addEventListener>(type: K, listener: (ev: SpriteInstanceEventMap[K]) => any): void; removeEventListener>(type: K, listener: (ev: SpriteInstanceEventMap[K]) => any): void; getImagePointCount(): number; getImagePointX(nameOrIndex: ImagePointParameter): number; getImagePointY(nameOrIndex: ImagePointParameter): number; getImagePointZ(nameOrIndex: ImagePointParameter): number; getImagePoint(nameOrIndex: ImagePointParameter): Vec3Arr; getPolyPointCount(): number; getPolyPointX(index: number): number; getPolyPointY(index: number): number; getPolyPoint(index: number): Vec2Arr; stopAnimation(): void; startAnimation(from?: SpriteAnimationFromMode): void; setAnimation(name: string, from?: SpriteAnimationFromMode): void; getAnimation(name: string): IAnimation | null; readonly animation: IAnimation; readonly animationName: string; animationFrame: number; animationFrameTag: string; animationSpeed: number; animationRepeatToFrame: number; readonly imageWidth: number; readonly imageHeight: number; getImageSize(): Vec2Arr; replaceCurrentAnimationFrame(blob: Blob): Promise; setSolidCollisionFilter(isInclusive: boolean, tags: string | Iterable): void; }