export interface LabelCandidate { id: string | number; text: string; x: number; y: number; width: number; height: number; priority: number; collisionMode: "auto" | "always" | "hide"; kind: "label" | "icon"; } export interface LabelLayoutResult { visible: LabelCandidate[]; hidden: LabelCandidate[]; } /** * Viewport declutter shared by ObjectManager labels/icons. * Higher priority wins; ties use stable id order. */ export declare function layoutObjectLabels(candidates: LabelCandidate[], options?: { padding?: number; maxLabels?: number; }): LabelLayoutResult; export declare function measureLabelText(ctx: CanvasRenderingContext2D, text: string, font: string): { width: number; height: number; }; //# sourceMappingURL=object-label-layout.d.ts.map