import type { InteractivityContainer, InteractivityParticle } from "../types.js"; import { type IDelta } from "@tsparticles/engine"; import type { IExternalInteractor } from "../Interfaces/IExternalInteractor.js"; import type { IInteractivityData } from "../Interfaces/IInteractivityData.js"; import { InteractorType } from "../Enums/InteractorType.js"; export declare abstract class ExternalInteractorBase implements IExternalInteractor { 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(interactivityData: IInteractivityData, delta: IDelta): void; abstract isEnabled(interactivityData: IInteractivityData, particle?: TParticle): boolean; abstract reset(interactivityData: IInteractivityData, particle: TParticle): void; }