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