/** Axis-aligned bounding box for a rect (x, y in pixels, w/h in pixels). */ export type BBox = { x: number; y: number; w: number; h: number; }; /** * True when two boxes overlap along the y axis (half-open interval). Used as * a cheap filter before checking horizontal occlusion. */ export declare function verticallyOverlaps(a: BBox, b: BBox): boolean; /** * Width of the leftmost horizontal segment of `bbox` that is not covered by * any of `blockers` at overlapping y. Returns `0` when the leading edge is * itself covered — the caller uses that as a signal to skip the label. * * `blockers` are treated as later-painted rects, i.e. drawn on top; the * caller must supply them in that order (see `RectLabelOverlay`). */ export declare function usableLeftSegmentWidth(bbox: BBox, blockers: BBox[]): number; /** * Count of characters in `text` that are not the ellipsis. Used to skip labels * where truncation would leave only visual noise (`…`, `…A`). */ export declare function countRealChars(text: string): number; //# sourceMappingURL=rect-label-utils.d.ts.map