import { CanvasConfig } from './CanvasConfig.js';
export declare class RevealBoundaryStore {
    id: number;
    container: HTMLElement;
    clientX: number;
    clientY: number;
    paintedClientX: number;
    paintedClientY: number;
    mouseInBoundary: boolean;
    canvasList: CanvasConfig[];
    animationQueue: CanvasConfig[];
    animationFrame: number | null;
    mouseUpClientX: null;
    mouseUpClientY: null;
    mouseDownAnimateStartFrame: null;
    mouseDownAnimateCurrentFrame: null;
    mouseDownAnimateReleasedFrame: null;
    mouseDownAnimateLogicFrame: null;
    mousePressed: boolean;
    mouseReleased: boolean;
    maxRadius: number;
    requestedAnimationFrame: boolean;
    constructor(id: number, $el: HTMLElement);
    addReveal: ($canvas: HTMLCanvasElement, $container: HTMLElement) => void;
    removeReveal: ($el: HTMLCanvasElement) => void;
    updateMaxRadius: (x: number) => void;
    requestPaintAll: (cleanup?: boolean | undefined) => void;
    onPointerMoveOnScreen: (x: number, y: number) => boolean;
    /**
     * Repaint all canvas while user's pointer has entered the boundary.
     */
    onPointerEnterBoundary: () => void;
    /**
     * Clear all canvas while user's pointer leave the bounary.
     */
    onPointerLeaveBoundary: () => void;
    /**
     * The painting method that draw everything on your screen.
     * @param frame current frame index.
     * @param skipSamePointerPositionCheck Literally.
     */
    private paintAll;
    /**
     * Clear all canvas.
     */
    clearAll: () => void;
    /**
     * This is the effect while user pressed on the reveal highlight,
     * the ripple start to spread slowly.
     */
    initializeAnimation: () => void;
    /**
     * This is the effect while user released it's pointer, the spreading
     * ripple animation will start to accelerate.
     */
    switchAnimation: () => void;
    /**
     * Cleanup all animations.
     * @param skipPaint Only cleanup data or also clean up the canvas
     * @param forceClean Clean the canvas or not
     */
    cleanupAnimation: (skipPaint?: boolean | undefined, forceClean?: boolean | undefined) => void;
    /**
     * Clean up the config of an animation, but the canvas won't cleaned up.
     * @param config The config to be cleaned up.
     */
    cleanUpAnimationUnit: (config: CanvasConfig, skipPaint?: boolean | undefined, forceClean?: boolean | undefined) => void;
    getRevealAnimationConfig: () => CanvasConfig | null;
}
//# sourceMappingURL=RevealBoundryStore.d.ts.map