import { type ReactNode } from 'react'; import type { TruncationMode } from '../../../../../typography/text-ellipsis/TextEllipsis.js'; interface HorizontalBarLabelProps { x: number; y: number; barWidth: number; barHeight: number; canvasWidth: number; isReversed: boolean; text: string; insideColor: string; outsideColor: string; truncationMode: TruncationMode; } /** * HTML "split-clip" label for a single horizontal bar. * * The label renders twice: an outer copy (`outsideColor`) spans from the bar's * leading edge to the chart's opposite edge so long labels overflow the bar * up to the chart bounds; a wrapper at the bar's bounds clips an inner copy * (`insideColor`) via `overflow: hidden`. Where the two overlap, the inner * copy paints on top so the section *inside the bar* picks up the contrast * color while the section *outside the bar* keeps the neutral text color. * * When `isReversed` is true (the numerical X axis has `reversed` set, i.e. * RTL bars) the layout mirrors: bars grow right-to-left and the label anchors * at the bar's right edge (the zero-baseline side), allowing overflow toward * the left edge. */ export declare function HorizontalBarLabel({ x, y, barWidth, barHeight, canvasWidth, isReversed, text, insideColor, outsideColor, truncationMode, }: Readonly): ReactNode; export declare namespace HorizontalBarLabel { var displayName: string; } export {};