import { type Container, type ICoordinates, type IDelta, type IRgb, type Particle, type PluginManager, type RecursivePartial, RotateDirection, Vector } from "@tsparticles/engine"; import { Absorber } from "./Options/Classes/Absorber.js"; import type { IAbsorber } from "./Options/Interfaces/IAbsorber.js"; import type { IAbsorberSizeLimit } from "./Options/Interfaces/IAbsorberSizeLimit.js"; export type OrbitingParticle = Particle & { absorberOrbit?: Vector; absorberOrbitDirection?: RotateDirection; needsNewPosition?: boolean; }; export declare class AbsorberInstance { color: IRgb; limit: IAbsorberSizeLimit; mass: number; readonly name?: string; opacity: number; readonly options: Absorber; position: Vector; size: number; private readonly _container; private _currentDuration; private _currentSpawnDelay; private _duration?; private _firstSpawn; private readonly _immortal; private _lifeCount; private readonly _pluginManager; private _spawnDelay?; private readonly initialPosition?; constructor(pluginManager: PluginManager, container: Container, options: RecursivePartial, position?: ICoordinates); attract(particle: OrbitingParticle, delta: IDelta): void; draw(context: OffscreenCanvasRenderingContext2D): void; resize(): void; update(delta: IDelta): void; private readonly _calcPosition; private readonly _prepareToDie; private readonly _updateParticlePosition; private readonly play; }