import type { MarkerDomSize, MarkerForm, MarkerState } from "./markerDomTypes"; /** * Raw inputs from the map/entity layer before priority resolution (plan §4, §14). */ export type MarkerRenderStateInput = { selected: boolean; hovered: boolean; expandedRank: number | null; }; type AdaptiveMarkerStateInput = Readonly<{ isMounting?: boolean | null; selected: boolean; hovered: boolean; }>; /** * Priority: selected → expanded → hovered → default (plan §4). */ export declare const resolveMarkerState: (renderState: MarkerRenderStateInput) => MarkerState; export declare const resolveAdaptiveMarkerState: (input: AdaptiveMarkerStateInput, isPromoted?: boolean) => MarkerState; /** * Pill when state would show a label and `labelVisible` is not false (plan §4, §14). * `labelVisible` defaults to true when omitted. */ export declare const resolveMarkerForm: (state: MarkerState, labelVisible: boolean | undefined) => MarkerForm; /** * Direction needs an icon slot; xs has none — bump to `sm` (plan §5). */ export declare const resolveEffectiveSize: (size: MarkerDomSize, direction: number | undefined) => MarkerDomSize; /** * Final tier for DOM layout: direction bump (xs→sm), then xs→sm when pill needs label/icon * tiers (`xs` has no pill text/icon — plan §3). */ export declare const resolveMarkerDomSize: (size: MarkerDomSize, direction: number | undefined, form: MarkerForm) => MarkerDomSize; export {};