import { ISharedBikesFeatureProperties, ISharedCarsFeatureProperties, ISharedVehiclesFeature } from "../interfaces/ISharedVehiclesFeature"; import { IBikeStatus } from "../models/BikeStatusModel"; import { IGeoJSONFeatureCollection, TGeoCoordinates } from "@golemio/core/dist/output-gateway"; declare abstract class FeatureCollectionBuilder> { buildFeatureCollection(locations: IBikeStatus[]): IGeoJSONFeatureCollection; buildFeatureItem(location: IBikeStatus): ISharedVehiclesFeature; abstract mapItems(location: IBikeStatus): T & Record<"point", TGeoCoordinates>; } declare class BikesFeatureCollectionBuilder extends FeatureCollectionBuilder { mapItems(location: IBikeStatus): { id: string; in_rack: boolean; label: string; location_note: string; name: string; res_url: string; company: { name: string; web: string; }; type: { description: string; id: number; }; updated_at: number; point: TGeoCoordinates; }; } declare class CarsFeatureCollectionBuilder extends FeatureCollectionBuilder { mapItems(location: IBikeStatus): { id: string; name: string; res_url: string; company: { name: string; web: string; }; availability: { description: string; id: number; }; fuel: { description: string; id: number; }; updated_at: number; point: TGeoCoordinates; }; } declare const bikesFeatureCollectionBuilder: BikesFeatureCollectionBuilder; declare const carsFeatureCollectionBuilder: CarsFeatureCollectionBuilder; export { bikesFeatureCollectionBuilder, carsFeatureCollectionBuilder };