import { KonvaEventObject } from 'konva/lib/Node';
import { default as Konva } from 'konva';
import { EditorState, CanvasElements } from '../types';

interface UseMouseHandlersProps {
    editorState: EditorState;
    setEditorState: React.Dispatch<React.SetStateAction<EditorState>>;
    canvasElements: CanvasElements;
    setCanvasElements: React.Dispatch<React.SetStateAction<CanvasElements>>;
    selectionState: {
        selectedImageIndex: number | null;
        selectedTextBoxIndex: number | null;
        selectedLineId: string | null;
    };
    clearSelection: () => void;
    selectImage: (index: number | null) => void;
    selectTextBox: (index: number | null) => void;
    toggleTextEditing: (isEditing: boolean) => void;
    saveStateToHistory: () => void;
    transformerRef: React.RefObject<Konva.Transformer>;
    textBoxRefs: React.MutableRefObject<(Konva.Text | null)[]>;
}
export declare const useMouseHandlers: ({ editorState, setEditorState, setCanvasElements, clearSelection, selectImage, selectTextBox, toggleTextEditing, saveStateToHistory, transformerRef, textBoxRefs, }: UseMouseHandlersProps) => {
    handleStageClick: (e: KonvaEventObject<MouseEvent>) => void;
    handleImageClick: (index: number, e: KonvaEventObject<MouseEvent>) => void;
    handleTextClick: (index: number, e: KonvaEventObject<MouseEvent>) => void;
    handleLineClick: (id: string, e: KonvaEventObject<Event>) => void;
    handleTextDblClick: (index: number) => void;
    handleImageTransform: (index: number, node: Konva.Image) => void;
    handleTextTransformStart: () => void;
    handleTextTransformEnd: (index: number) => void;
};
export {};
//# sourceMappingURL=use-mouse-handlers.d.ts.map