import { CachedParkingSourcesRepository } from "../../helpers/data-access/CachedParkingSourcesRepository"; import { IGetParkingQueryOptions } from "./interfaces/IGetQueryOptions"; import { IPostalAddress } from "@golemio/core/dist/integration-engine/helpers/GeocodeApi"; import { SequelizeModel } from "@golemio/core/dist/output-gateway"; import { TGeoCoordinates } from "@golemio/core/dist/output-gateway/Geo"; import { IParkingsModels } from "."; import ICentroidPg from "./interfaces/ICentroidPg"; export interface IParkings { id: string; source: string; source_id: string; source_id_mapped: string; data_provider: string | null; name: string; category: string | null; date_modified: string | null; address: IPostalAddress | null; location: TGeoCoordinates; area_served: string | null; total_spot_number: number; valid_from: string | null; valid_to: string | null; distance?: number; parking_type: string | null; zone_type: string | null; centroid: ICentroidPg; measurements: { available_spots_last_updated: string; available_spots_number: number; }; parking_payments: { payment_web_url: string | null; payment_android_url: string | null; payment_ios_url: string | null; }; parking_tariffs_relation: { tariff_id: string; }; } export declare class ParkingsModel extends SequelizeModel { private readonly parkingSourcesRepository; static readonly MODEL_RELATION_ACTUAL_MEASUREMENTS = "measurements"; static readonly MODEL_RELATION_PARKING_LOCATIONS = "parking_locations"; static readonly MODEL_RELATION_PARKING_PAYMENTS = "parking_payments"; static readonly MODEL_RELATION_PARKING_TARIFFS_RELATIONS = "parking_tariffs_relation"; private readonly paymentsRepository; private readonly parkingTariffRelationsRepository; private readonly geoConfigHelper; constructor(parkingSourcesRepository: CachedParkingSourcesRepository); Associate: (m: IParkingsModels) => void; GetAll: (options?: IGetParkingQueryOptions) => Promise; GetOne: (id: string) => Promise; GetAllDetail: (options?: IGetParkingQueryOptions) => Promise; GetOneDetail: (id: string) => Promise; }