import { HoverEffect } from '../types';
export default class DotMatrixHover implements HoverEffect {
    private readonly id;
    private element;
    private canvas;
    private ctx;
    private tempCanvas;
    private tempCtx;
    private isHovering;
    private mousePos;
    private animationFrame;
    private imageData;
    private lastRenderTime;
    private readonly FPS;
    private readonly frameInterval;
    private frameCount;
    private ledPath;
    private radius;
    private softEdge;
    private ledSize;
    private ledSpacing;
    private scale;
    private glow;
    private fadeExp;
    private colorMode;
    private animationType;
    private animationSpeed;
    private animationIntensity;
    private driftOffsets;
    constructor(options?: {
        radius?: number;
        softEdge?: number;
        ledSize?: number;
        ledSpacing?: number;
        scale?: number;
        glow?: boolean;
        fadeExp?: number;
        colorMode?: 'mono' | 'rgb';
        animationType?: 'none' | 'wave' | 'pulse' | 'drift' | 'ripple' | 'rotation';
        animationSpeed?: number;
        animationIntensity?: number;
    });
    private buildLedPath;
    private initDriftOffsets;
    private updateDriftOffsets;
    private getAnimationOffset;
    private onMouseEnter;
    private onMouseLeave;
    private onMouseMove;
    private updateImageData;
    private render;
    attach(element: HTMLElement): void;
    detach(): void;
    destroy(): void;
    setRadius(radius: number): void;
    setLedSize(ledSize: number): void;
    setLedSpacing(ledSpacing: number): void;
    setGlow(glow: boolean): void;
    setSoftEdge(softEdge: number): void;
    setScale(scale: number): void;
    setFadeExp(fadeExp: number): void;
    setColorMode(colorMode: 'mono' | 'rgb'): void;
    setAnimationType(animationType: 'none' | 'wave' | 'pulse' | 'drift' | 'ripple' | 'rotation'): void;
    setAnimationSpeed(animationSpeed: number): void;
    setAnimationIntensity(animationIntensity: number): void;
    addDriftOffset(x: number, y: number, vx: number, vy: number): void;
}
//# sourceMappingURL=DotMatrixHover.d.ts.map