import type { Container } from "./Container"; import type { IParticleValueAnimation } from "./Interfaces/IParticleValueAnimation"; import type { ICoordinates } from "./Interfaces/ICoordinates"; import type { IParticleImage } from "./Interfaces/IParticleImage"; import { Updater } from "./Particle/Updater"; import type { IHsl, IRgb } from "./Interfaces/Colors"; import type { IShapeValues } from "../Options/Interfaces/Particles/Shape/IShapeValues"; import type { IBubbleParticleData } from "./Interfaces/IBubbleParticleData"; import type { IParticle } from "./Interfaces/IParticle"; import type { IParticles } from "../Options/Interfaces/Particles/IParticles"; import { ParticlesOptions } from "../Options/Classes/Particles/ParticlesOptions"; import { MoveDirection, MoveDirectionAlt, ShapeType } from "../Enums"; import type { RecursivePartial } from "../Types"; import { Infecter } from "./Particle/Infecter"; import type { IDelta } from "./Interfaces/IDelta"; import { Mover } from "./Particle/Mover"; import type { ILink } from "./Interfaces/ILink"; import type { IParticleHslAnimation } from "./Interfaces/IParticleHslAnimation"; import type { Stroke } from "../Options/Classes/Particles/Stroke"; import type { IParticleLoops } from "./Interfaces/IParticleLoops"; import { Vector } from "./Particle/Vector"; export declare class Particle implements IParticle { readonly id: number; private readonly container; destroyed: boolean; lastPathTime: number; lifeDelay: number; lifeDelayTime: number; lifeDuration: number; lifeTime: number; livesRemaining: number; misplaced: boolean; spawning: boolean; splitCount: number; unbreakable: boolean; readonly pathDelay: number; readonly updater: Updater; readonly infecter: Infecter; readonly mover: Mover; readonly sides: number; readonly strokeWidth: number; readonly options: ParticlesOptions; readonly loops: IParticleLoops; links: ILink[]; randomIndexData?: number; linksDistance?: number; linksWidth?: number; maxDistance?: number; moveDrift?: number; moveSpeed?: number; sizeAnimationSpeed?: number; readonly close: boolean; readonly direction: MoveDirection | keyof typeof MoveDirection | MoveDirectionAlt; readonly fill: boolean; readonly stroke: Stroke; readonly position: Vector; readonly offset: Vector; readonly shadowColor: IRgb | undefined; readonly color?: IParticleHslAnimation; readonly opacity: IParticleValueAnimation; readonly rotate: IParticleValueAnimation; readonly size: IParticleValueAnimation; readonly strokeColor?: IParticleHslAnimation; readonly velocity: Vector; readonly shape: ShapeType | string; readonly image?: IParticleImage; readonly initialPosition: Vector; readonly initialVelocity: Vector; readonly shapeData?: IShapeValues; readonly bubble: IBubbleParticleData; constructor(id: number, container: Container, position?: ICoordinates, overrideOptions?: RecursivePartial); move(delta: IDelta): void; update(delta: IDelta): void; draw(delta: IDelta): void; getPosition(): ICoordinates; getRadius(): number; getMass(): number; getFillColor(): IHsl | undefined; getStrokeColor(): IHsl | undefined; destroy(override?: boolean): void; reset(): void; private split; private setColorAnimation; private calcPosition; private checkOverlap; private calculateVelocity; private loadImageShape; }