import type { MarkerDomSize } from "./markerDomTypes"; /** * Pill (hovered / expanded / selected) layout uses this tier for the indicator * disc, icon slot, label text size, direction arrow, and pill padding — independent * of the `size` prop so the pill stays visually consistent while the default circle * still follows the five-tier ladder. */ export declare const MARKER_PILL_CONTENT_LAYOUT_SIZE: "md"; /** * Canonical pixel dimensions for DOM markers. Single source of truth for * circle diameter, icon slot, pill text size, direction arrow size, and pill * vertical padding. * * Concentricity invariant: `pl === pillPaddingY` per size tier (both in * `cvaMapMarker` pill compound variants), ensuring the indicator disc is always * concentric with the pill's rounded left cap. * * `xs` has no pill tier — `pillPaddingY` is 0 (circle-only footprint). */ export declare const MARKER_SIZE_MAP: { readonly xs: { readonly circle: 8; readonly icon: 0; readonly text: 0; readonly dot: 0; readonly pillPaddingY: 0; }; readonly sm: { readonly circle: 12; readonly icon: 8; readonly text: 10; readonly dot: 4; readonly pillPaddingY: 4; }; readonly md: { readonly circle: 16; readonly icon: 12; readonly text: 12; readonly dot: 6; readonly pillPaddingY: 6; }; readonly lg: { readonly circle: 20; readonly icon: 14; readonly text: 14; readonly dot: 8; readonly pillPaddingY: 6; }; readonly xl: { readonly circle: 28; readonly icon: 16; readonly text: 14; readonly dot: 12; readonly pillPaddingY: 4; }; }; /** * Derived pill outer height: `circle + 2 × pillPaddingY`. * Use this anywhere a concrete pixel height is needed for collision geometry * or bounding-box calculations. For `xs` this equals the circle diameter. */ export declare const markerPillOuterHeightPx: (size: MarkerDomSize) => number; /** * Derives the maximum full pill envelope width for geometry and viewport budgeting in stick mode. * * This is wider than `maxLabelWidthPx` when optional visual slots (icon disc, direction indicator) * are present. Do NOT use this value to set a fixed rendered pill width — the pill remains * intrinsically sized. * * Layout accounted for (left-to-right): * left padding + disc slot (if icon) + gap + label budget + gap + direction slot (if direction) + right padding */ export declare const computeFullPillEnvelopeWidth: (size: MarkerDomSize, maxLabelWidthPx: number, hasIcon: boolean, hasDirection: boolean) => number; /** * Density ladder step for adaptive rendering: `xs` maps to `"symbol"` (skip 8px DOM dot; plan §3 / §8). */ export declare const downgradeMarkerDomSize: (size: MarkerDomSize) => MarkerDomSize | "symbol"; /** * One step up the five-tier ladder (inverse of {@link downgradeMarkerDomSize} for DOM tiers only). * `xl` stays `xl`. Stick-mode **anchor pin** uses a fixed `xs` base and `upgradeMarkerDomSize` when `selected` (`sm`). */ export declare const upgradeMarkerDomSize: (size: MarkerDomSize) => MarkerDomSize;