import type { MapFocus } from "./mapFocus"; /** * Builds the set of item ids that should render as expanded by walking tiers * in order and filling up to `limit`. * * When `getPosition` is provided and a tier would overflow the remaining * budget, farthest-point spread sampling is applied so the chosen markers * are distributed across the viewport rather than biased toward whatever * order the server happened to return. * * When `previousIds` is provided, candidates that appear in it are * pre-selected within each tier before the spread runs on the remaining * candidates. This produces hysteresis: markers that were already expanded * stay expanded across incremental data updates. Tier order is always * respected — a lower-tier incumbent never displaces a higher-tier newcomer. */ export declare const buildExpandedIds: (items: ReadonlyArray, getId: (item: TAsset) => string, focus: MapFocus, limit: number, getPosition?: (item: TAsset) => readonly [number, number, ...Array], previousIds?: ReadonlySet) => ReadonlySet;