import type React from 'react';
import type { LinearGenomeViewModel } from '..';
interface AnchorPosition {
    offsetX: number;
    clientX: number;
    clientY: number;
}
export declare function useRangeSelect(ref: React.RefObject<HTMLDivElement | null>, model: LinearGenomeViewModel, shiftOnly?: boolean): {
    open: boolean;
    guideX: number | undefined;
    mouseDown: (event: React.MouseEvent<HTMLDivElement>) => void;
    mouseMove: (event: React.MouseEvent<HTMLDivElement>) => void;
    mouseOut: () => void;
    handleMenuItemClick: (_: unknown, callback: () => void) => void;
    rubberbandOn?: undefined;
    handleClose?: undefined;
    leftBpOffset?: undefined;
    rightBpOffset?: undefined;
    anchorPosition?: undefined;
    numOfBpSelected?: undefined;
    width?: undefined;
    left?: undefined;
} | {
    open: boolean;
    rubberbandOn: boolean;
    mouseDown: (event: React.MouseEvent<HTMLDivElement>) => void;
    mouseMove: (event: React.MouseEvent<HTMLDivElement>) => void;
    mouseOut: () => void;
    handleClose: () => void;
    handleMenuItemClick: (_: unknown, callback: () => void) => void;
    leftBpOffset: {
        coord: number;
        index: number;
        refName: string;
        oob: boolean;
        assemblyName: string;
        offset: number;
        start: number;
        end: number;
        reversed?: boolean;
    };
    rightBpOffset: {
        coord: number;
        index: number;
        refName: string;
        oob: boolean;
        assemblyName: string;
        offset: number;
        start: number;
        end: number;
        reversed?: boolean;
    };
    anchorPosition: AnchorPosition | undefined;
    numOfBpSelected: number;
    width: number;
    left: number;
    guideX?: undefined;
};
export {};
