import type { InteractivityContainer, InteractivityParticle } from "../types.js"; import { type IDelta } from "@tsparticles/engine"; import type { IInteractivityData } from "../Interfaces/IInteractivityData.js"; import type { IParticlesInteractor } from "../Interfaces/IParticlesInteractor.js"; import { InteractorType } from "../Enums/InteractorType.js"; export declare abstract class ParticlesInteractorBase implements IParticlesInteractor { type: InteractorType; protected readonly container: TContainer; abstract maxDistance: number; protected constructor(container: TContainer); abstract clear(particle: TParticle, delta: IDelta): void; abstract init(): void; abstract interact(particle: TParticle, interactivityData: IInteractivityData, delta: IDelta): void; abstract isEnabled(particle: TParticle, interactivityData: IInteractivityData): boolean; abstract reset(interactivityData: IInteractivityData, particle: TParticle): void; }