import { MutableRefObject } from "react";
import { CanvasBrushChangeHandler, CanvasDataChangeHandler, CanvasGridChangeHandler, CanvasHoverPixelChangeHandler, CanvasInfoChangeHandler, CanvasStrokeEndHandler, LayerChangeHandler } from "../components/Canvas/types";
import { DottingRef } from "../components/Dotting";
declare const useHandlers: (ref: MutableRefObject<DottingRef | null>) => {
    addDataChangeListener: (listener: CanvasDataChangeHandler) => void;
    removeDataChangeListener: (listener: CanvasDataChangeHandler) => void;
    addGridChangeListener: (listener: CanvasGridChangeHandler) => void;
    removeGridChangeListener: (listener: CanvasGridChangeHandler) => void;
    addBrushChangeListener: (listener: CanvasBrushChangeHandler) => void;
    removeBrushChangeListener: (listener: CanvasBrushChangeHandler) => void;
    addStrokeEndListener: (listener: CanvasStrokeEndHandler) => void;
    removeStrokeEndListener: (listener: CanvasStrokeEndHandler) => void;
    addHoverPixelChangeListener: (listener: CanvasHoverPixelChangeHandler) => void;
    removeHoverPixelChangeListener: (listener: CanvasHoverPixelChangeHandler) => void;
    addLayerChangeEventListener: (listener: LayerChangeHandler) => void;
    removeLayerChangeEventListener: (listener: LayerChangeHandler) => void;
    addCanvasInfoChangeEventListener: (listener: CanvasInfoChangeHandler) => void;
    removeCanvasInfoChangeEventListener: (listener: CanvasInfoChangeHandler) => void;
    addCanvasElementEventListener: (event: string, listener: EventListenerOrEventListenerObject) => void;
    removeCanvasElementEventListener: (event: string, listener: EventListenerOrEventListenerObject) => void;
};
export default useHandlers;
