export interface SubcableFeatureProperties {
  id: string;
  name: string;
  color: string;
  feature_id: string;
  coordinates: [number, number];
}

export type SubcableGeoJson = GeoJSON.FeatureCollection<
  GeoJSON.MultiLineString,
  SubcableFeatureProperties
>;

export interface SubcableLandingPoint {
  id: string;
  name: string;
  country: string;
  is_tbd: boolean;
}

export interface SubcableDetail {
  id: string;
  name: string;
  length: string | null;
  rfs: string | null;
  rfs_year: number | null;
  is_planned: boolean;
  owners: string | null;
  suppliers: string | null;
  landing_points: SubcableLandingPoint[];
  notes: string | null;
  url: string | null;
}

export interface SubcableDetailsIndex {
  version: number;
  generated_at: string;
  by_id: Record<string, SubcableDetail>;
}
