import { Destroyable, IDestroyable } from 'destroyable'; import { Vector } from 'xyzt'; export interface IParticleOptions { shapeSrc: string; shapeCenter: Vector; color: string; current: IParticleOptionsExternals; movement: IParticleOptionsExternals; friction: number; } export interface IParticleOptionsExternals { position: Vector; rotation: number; widthSize: number; } export declare class Particle extends Destroyable implements IDestroyable { private readonly options; zIndex: number; static compare(a: Particle, b: Particle): 0 | -1 | 1; private shapeData; constructor(options: IParticleOptions, zIndex: number); initializeSource(): Promise; get size(): Vector; get live(): boolean; update(delta: number): void; render(ctx: CanvasRenderingContext2D): void; destroy(): Promise; }