import type { Container } from "./Container"; import type { IVelocity } from "../Interfaces/IVelocity"; import type { ISize } from "../Interfaces/ISize"; import type { IOpacity } from "../Interfaces/IOpacity"; import type { ICoordinates } from "../Interfaces/ICoordinates"; import type { IParticleImage } from "../Interfaces/IParticleImage"; import { ShapeType } from "../Enums/ShapeType"; import { Updater } from "./Particle/Updater"; import type { IRgb } from "../Interfaces/IRgb"; import { RotateDirection } from "../Enums/RotateDirection"; import type { IStroke } from "../Interfaces/Options/Particles/IStroke"; import type { IShapeValues } from "../Interfaces/Options/Particles/Shape/IShapeValues"; import type { IBubbleParticleData } from "../Interfaces/IBubbleParticleData"; import type { IParticle } from "../Interfaces/IParticle"; import { Emitter } from "./Emitter"; import { MoveDirection } from "../Enums/MoveDirection"; import type { IParticles } from "../Interfaces/Options/Particles/IParticles"; export declare class Particle implements IParticle { angle: number; rotateDirection: RotateDirection; randomIndexData?: number; links: IParticle[]; readonly close: boolean; readonly direction: MoveDirection; readonly fill: boolean; readonly stroke: IStroke; readonly size: ISize; readonly initialPosition?: ICoordinates; readonly position: ICoordinates; readonly offset: ICoordinates; readonly color: IRgb | undefined; readonly strokeColor: IRgb | undefined; readonly shadowColor: IRgb | undefined; readonly opacity: IOpacity; readonly velocity: IVelocity; readonly shape?: ShapeType | string; readonly image?: IParticleImage; readonly initialVelocity: IVelocity; readonly shapeData?: IShapeValues; readonly bubble: IBubbleParticleData; lineLinkedDistance?: number; lineLinkedWidth?: number; moveSpeed?: number; sizeValue?: number; randomMinimumSize?: number; sizeAnimationSpeed?: number; readonly updater: Updater; readonly container: Container; readonly emitter?: Emitter; readonly particlesOptions: IParticles; constructor(container: Container, position?: ICoordinates, emitter?: Emitter); update(index: number, delta: number): void; draw(): void; isOverlapping(): { collisionFound: boolean; iterations: number; }; checkOverlap(position?: ICoordinates): void; destroy(): void; private calcPosition; private calculateVelocity; }