export declare function shortestRectDistance(a: DOMRect, b: DOMRect): number; export declare function isHorizontalNeighbour(anchorRect: DOMRect, targetRect: DOMRect, overlapMin: number, attachRange: number): boolean; export declare function isVerticalNeighbour(anchorRect: DOMRect, targetRect: DOMRect, overlapMin: number, attachRange: number): boolean; export declare function roundRectPath(ctx: CanvasRenderingContext2D, x: number, y: number, w: number, h: number, r: number): void; export interface DrawDst { x: number; y: number; w: number; h: number; flipX: boolean; flipY: boolean; /** Source-rect origin in the anchor canvas, device px. Non-zero while the * anchor is overscanned (vector bend) so only its CSS box is sampled. */ sx?: number; sy?: number; } export declare function drawSource(ctx: CanvasRenderingContext2D, src: CanvasImageSource, sw: number, sh: number, dst: DrawDst): void; export interface BoxRect { x: number; y: number; w: number; h: number; r: number; } export declare function maskedFillPasses(ctx: CanvasRenderingContext2D, src: CanvasImageSource, sw: number, sh: number, tw: number, th: number, totalAlpha: number, grad: CanvasGradient, dst: DrawDst, fillBox: BoxRect, dpr: number, /** Override for the edge band the fill is clipped to, device px. Glyph * targets pass the whole box — letters have no "rim" to hug. */ bandDevPxOverride?: number): void; export declare function maskedStrokePasses(ctx: CanvasRenderingContext2D, src: CanvasImageSource, sw: number, sh: number, tw: number, th: number, strokeBox: BoxRect, intensity: number, strokeBandPx: number, grad: CanvasGradient, strokeExtraAlpha: number, dst: DrawDst): void; export declare function drawBorderHighlight(ctx: CanvasRenderingContext2D, strokeBox: BoxRect, strokeDevPx: number, g0x: number, g0y: number, g1x: number, g1y: number, alpha: number): void;