import type { PageViewContext } from "../page-viewer/pageViewContext";
import type { OverlayMetrics } from "./overlay/geometry";
import { type PlaceholderZone } from "./overlay/placeholderZones";
export declare function PlaceholderDropZones({ size, pageViewContext, scopeInsertModeToHoveredComponent, avoidOverlaps, activeTargetKey, openInsertMenuKey, onInsertMenuOpenChange, }: {
    size: "large" | "small";
    pageViewContext?: PageViewContext;
    scopeInsertModeToHoveredComponent?: boolean;
    avoidOverlaps?: boolean;
    activeTargetKey?: string | null;
    openInsertMenuKey?: string | null;
    onInsertMenuOpenChange?: (key: string, open: boolean) => void;
}): import("react/jsx-runtime").JSX.Element | null;
export type DropZoneOverlapOptions = {
    edgePadding: number;
    overlapThreshold: number;
    shiftStep: number;
};
export declare function applyDropZoneOverlapAvoidance(zones: PlaceholderZone[], metrics: OverlayMetrics, options?: DropZoneOverlapOptions): PlaceholderZone[];
