interface MarkerDialogCloseHost { _markerDialog: unknown | null; _deviceInboxReturn: T | null; _deviceInbox: T | null; updateComplete: Promise; renderRoot: ParentNode; } export function finishMarkerDialogClose( host: MarkerDialogCloseHost, ): void { host._markerDialog = null; if (!host._deviceInboxReturn) return; const restored = { ...host._deviceInboxReturn } as T; host._deviceInbox = restored; host._deviceInboxReturn = null; if (!restored.anchor) return; void host.updateComplete.then(() => requestAnimationFrame(() => { const selector = `.device-inbox-row[data-binding="${CSS.escape(restored.anchor!)}"]`; host.renderRoot.querySelector(selector)?.scrollIntoView({ block: 'nearest' }); })); }