import { Annotation, ImageAnnotation, TextAnnotation } from '../../types/Score';
import React from 'react';
export declare function textAnnotationFromRange(answerTextNode: Element, range: Range): {
    startIndex: number;
    length: number;
} | undefined;
export declare function getOverlappingMessages(currentAnnotations: Annotation[], start: number, length: number): string;
export declare function getOverlappingMessagesFromTextAnnotations(currentAnnotations: TextAnnotation[], start: number, length: number): string;
export declare function toNodeLength(node: Node): number | undefined;
export declare function allNodesUnder(el: Node, documentObject?: Document): Node[];
export declare function showAndPositionElement(annotationRect: DOMRect, container: HTMLElement, popup: HTMLElement, topMargin: number): void;
export declare function hasTextSelectedInAnswerText(): boolean;
export declare function selectionHasNothingToUnderline(range: Range): boolean;
export declare function mergeAnnotation($answerText: Element, newAnnotation: TextAnnotation, annotations: TextAnnotation[]): Annotation[];
export declare function getImageStartIndex($image: Element, $answerText: Element): number | undefined;
export type NewImageAnnotation = {
    bbox: DOMRect;
    attachmentIndex: number;
    startX: number;
    startY: number;
    clientX: number;
    clientY: number;
};
export declare function annotationFromMousePosition(e: MouseEvent, { bbox, attachmentIndex, startX, startY, clientX, clientY }: NewImageAnnotation): ImageAnnotation;
export declare function imageAnnotationMouseDownInfo(e: React.MouseEvent<HTMLDivElement, MouseEvent>, image: HTMLImageElement): NewImageAnnotation;
export declare function preventDefaults(e: Event): void;
export declare function toggle(element: HTMLElement, isVisible: boolean): void;
export declare function isDesktopVersion(): boolean;
//# sourceMappingURL=editAnnotations.d.ts.map