import { type PluginManager, type RecursivePartial } from "@tsparticles/engine";
import { ExternalInteractorBase, type IInteractivityData, type IModes, type InteractivityParticle, type Modes } from "@tsparticles/plugin-interactivity";
import type { IRepulseMode, RepulseContainer, RepulseMode } from "./Types.js";
export declare class Repulser extends ExternalInteractorBase<RepulseContainer> {
    #private;
    handleClickMode: (mode: string, interactivityData: IInteractivityData) => void;
    constructor(pluginManager: PluginManager, container: RepulseContainer);
    get maxDistance(): number;
    clear(): void;
    init(): void;
    interact(interactivityData: IInteractivityData): void;
    isEnabled(interactivityData: IInteractivityData, particle?: InteractivityParticle): boolean;
    loadModeOptions(options: Modes & RepulseMode, ...sources: RecursivePartial<(IModes & IRepulseMode) | undefined>[]): void;
    reset(): void;
}
