import type { Container } from "./Container"; import type { IVelocity } from "./Interfaces/IVelocity"; import type { IParticleSizeAnimation } from "./Interfaces/IParticleSizeAnimation"; import type { IParticleOpacityAnimation } from "./Interfaces/IParticleOpacityAnimation"; import type { ICoordinates } from "./Interfaces/ICoordinates"; import type { IParticleImage } from "./Interfaces/IParticleImage"; import { Updater } from "./Particle/Updater"; import type { IRgb } from "./Interfaces/IRgb"; import type { IStroke } from "../Options/Interfaces/Particles/IStroke"; 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 { MoveDirection, RotateDirection, ShapeType } from "../Enums"; import { RecursivePartial } from "../Types/RecursivePartial"; import type { ILink } from "./Interfaces/ILink"; import type { IHsl } from "./Interfaces/IHsl"; export declare class Particle implements IParticle { angle: number; destroyed: boolean; rotateDirection: RotateDirection; randomIndexData?: number; links: ILink[]; readonly close: boolean; readonly direction: MoveDirection; readonly fill: boolean; readonly stroke: IStroke; readonly size: IParticleSizeAnimation; infectionStage?: number; infectionTime?: number; infectionDelay?: number; infectionDelayStage?: number; readonly position: ICoordinates; readonly offset: ICoordinates; readonly color: IHsl | undefined; readonly strokeColor: IRgb | undefined; readonly shadowColor: IRgb | undefined; readonly opacity: IParticleOpacityAnimation; readonly velocity: IVelocity; readonly shape: ShapeType | string; readonly image?: IParticleImage; readonly initialVelocity: IVelocity; readonly shapeData?: IShapeValues; readonly bubble: IBubbleParticleData; readonly noiseDelay: number; readonly colorVelocity: number; lastNoiseTime: number; linksDistance?: number; linksWidth?: number; moveSpeed?: number; sizeValue?: number; randomMinimumSize?: number; sizeAnimationSpeed?: number; readonly updater: Updater; readonly container: Container; readonly particlesOptions: IParticles; private infectionTimeout?; constructor(container: Container, position?: ICoordinates, overrideOptions?: RecursivePartial); update(index: number, delta: number): void; draw(delta: number): void; isOverlapping(): { collisionFound: boolean; iterations: number; }; checkOverlap(position?: ICoordinates): void; startInfection(stage: number): void; updateInfectionStage(stage: number): void; updateInfection(delta: number): void; getPosition(): ICoordinates; destroy(): void; private nextInfectionStage; private calcPosition; private calculateVelocity; }