/** Geocoding result from Nominatim */ export interface GeocodingResult { lat: number; lon: number; displayName: string; } /** A land parcel from URA ArcGIS Master Plan 2019 */ export interface LandParcel { landUse: string; grossPlotRatio: string | null; region: string; planningArea: string; subzone: string; } /** An HDB resale transaction from data.gov.sg */ export interface HdbResaleRecord { month: string; town: string; flatType: string; block: string; streetName: string; storeyRange: string; floorAreaSqm: string; flatModel: string; leaseCommenceDate: string; remainingLease: string; resalePrice: number; } /** A nearby amenity from Overpass API (OpenStreetMap) */ export interface NearbyAmenity { category: string; name: string; lat: number; lon: number; distanceMeters: number; address: string | null; tags: Record; } /** Stored state for the last search performed */ export interface SearchState { type: "land-use" | "hdb-resale" | "nearby-amenities"; query: Record; results: LandParcel[] | HdbResaleRecord[] | NearbyAmenity[]; timestamp: string; }