/**
 * Shared utilities for annotation rendering.
 */
import type { AnnotationColor, Point, Rect } from "./types";
/**
 * Convert annotation color to CSS rgba() string.
 */
export declare function colorToRgba(color: AnnotationColor | undefined, opacity: number, defaultColor?: string): string;
/**
 * Convert annotation color to CSS rgb() string.
 */
export declare function colorToRgb(color: AnnotationColor | undefined, defaultColor?: string): string;
/**
 * Scale a point from page coordinates to screen pixels.
 */
export declare function scalePoint(point: Point, scale: number): Point;
/**
 * Scale bounds from page coordinates to screen pixels.
 */
export declare function scaleBounds(bounds: Rect, scale: number): Rect;
/**
 * Apply bounds as inline styles to an element.
 */
export declare function applyBoundsStyle(el: HTMLElement, bounds: Rect, scale: number): void;
/**
 * Create an SVG element sized to cover the annotation layer.
 */
export declare function createSvgOverlay(): SVGSVGElement;
/**
 * Create SVG namespace element helper.
 */
export declare function createSvgElement<K extends keyof SVGElementTagNameMap>(tagName: K): SVGElementTagNameMap[K];
/**
 * Check if two bounds are approximately equal (for highlight matching).
 */
export declare function boundsMatch(a: Rect, b: Rect, epsilon?: number): boolean;
//# sourceMappingURL=utils.d.ts.map