import { PageViewContext } from "./pageViewContext";
import type { BridgeGeometrySnapshot } from "../bridge/protocol";
import type { Page } from "../pageModel";
export declare const BRIDGE_DOM_UPDATED_EVENT = "parhelia:bridge-dom-updated";
export declare function MiniMap({ compareView, scroll, pageViewContext, }: {
    compareView: boolean;
    scroll: number;
    mainViewIframeRef: React.RefObject<HTMLIFrameElement | null>;
    pageViewContext: PageViewContext;
}): import("react/jsx-runtime").JSX.Element | null;
export type BridgeMinimapMetrics = {
    viewportWidth: number;
    viewportHeight: number;
    documentHeight: number;
    scrollTop: number;
    scrollScale: number;
};
export declare function getBridgeMinimapMetrics(snapshot: PageViewContext["bridgeDom"], fallbackViewport: PageViewContext["viewport"], scrollOverride?: number, geometry?: BridgeGeometrySnapshot): BridgeMinimapMetrics | null;
export declare function getMinimapViewportHighlight(metrics: BridgeMinimapMetrics, scale: number): {
    top: number;
    height: number;
};
export type MiniMapSelectionRect = {
    x: number;
    y: number;
    width: number;
    height: number;
};
export type MiniMapSelectionBounds = {
    width?: number;
    height?: number;
};
export declare function getMiniMapSelectionHighlightRect(rect: MiniMapSelectionRect, bounds?: MiniMapSelectionBounds): {
    x: number;
    y: number;
    width: number;
    height: number;
};
export declare function getMiniMapSelectionRects(selection: readonly string[] | undefined, page: Page | undefined, geometry: BridgeGeometrySnapshot | undefined, scale: number): MiniMapSelectionRect[];
