import type { EmitterModeOptions, IEmitterModeOptions } from "./types.js";
import { ExternalInteractorBase, type IInteractivityData, type IModes, type InteractivityParticle, type Modes } from "@tsparticles/plugin-interactivity";
import { type IDelta, type RecursivePartial } from "@tsparticles/engine";
import type { EmitterContainer } from "./EmitterContainer.js";
import type { EmitterInstance } from "./EmitterInstance.js";
import type { EmittersInstancesManager } from "./EmittersInstancesManager.js";
export declare class EmittersInteractor extends ExternalInteractorBase<EmitterContainer> {
    #private;
    handleClickMode: (mode: string, interactivityData: IInteractivityData) => void;
    readonly maxDistance: number;
    constructor(instancesManager: EmittersInstancesManager, container: EmitterContainer);
    clear(): void;
    init(): void;
    interact(_interactivityData: IInteractivityData, delta: IDelta): void;
    isEnabled(interactivityData: IInteractivityData, particle?: InteractivityParticle): boolean;
    loadModeOptions(options: Modes & EmitterModeOptions, ...sources: RecursivePartial<(IModes & IEmitterModeOptions) | undefined>[]): void;
    removeEmitter(emitter: EmitterInstance): void;
    reset(): void;
}
