import type { MapRuntimeFact } from "./useMapDataProductRuntime.js";

export type MapSubjectCardRow = { key: string; label: string; value: string };
export type MapSubjectCardSection = { id: string; label: string; rows: MapSubjectCardRow[] };
export type MapTelemetryReading = { id: string; label: string; value: string; observedAt?: string };
export type MapSubjectCardModel = {
  title: string;
  sourceId: string;
  sections: MapSubjectCardSection[];
  readings: MapTelemetryReading[];
};

export function buildMapSubjectCardModel(
  fact: MapRuntimeFact,
  context?: { title?: string; bindingId?: string; dataProductId?: string },
): MapSubjectCardModel | null;

export function normalizeTelemetryReadings(value: unknown): MapTelemetryReading[];
