import type { BootstrapConfig, OCPP2_0_1 } from '@citrineos/base'; import { CrudRepository, OCPPVersion } from '@citrineos/base'; import { Sequelize } from 'sequelize-typescript'; import type { ILogObj } from 'tslog'; import { Logger } from 'tslog'; import { type ILocationRepository } from '../../../index.js'; import { ChargingStation, Connector, Location, SequelizeRepository, StatusNotification } from '../index.js'; import { Evse, LatestStatusNotification } from '../model/index.js'; export declare class SequelizeLocationRepository extends SequelizeRepository implements ILocationRepository { chargingStation: CrudRepository; statusNotification: CrudRepository; latestStatusNotification: CrudRepository; connector: CrudRepository; constructor(config: BootstrapConfig, logger?: Logger, sequelizeInstance?: Sequelize, chargingStation?: CrudRepository, statusNotification?: CrudRepository, latestStatusNotification?: CrudRepository, connector?: CrudRepository); readLocationById(tenantId: number, id: number): Promise; readChargingStationByStationId(tenantId: number, stationId: string): Promise; setChargingStationIsOnlineAndOCPPVersion(tenantId: number, stationId: string, isOnline: boolean, ocppVersion: OCPPVersion | null): Promise; doesChargingStationExistByStationId(tenantId: number, stationId: string): Promise; addStatusNotificationToChargingStation(tenantId: number, stationId: string, statusNotification: StatusNotification): Promise; updateLatestStatusNotification(tenantId: number, stationId: string, statusNotification: StatusNotification): Promise; getChargingStationsByIds(tenantId: number, stationIds: string[]): Promise; createOrUpdateLocationWithChargingStations(tenantId: number, location: Partial): Promise; createOrUpdateChargingStation(tenantId: number, chargingStation: ChargingStation): Promise; createOrUpdateConnector(tenantId: number, connector: Connector): Promise; updateAllConnectorsByQuery(tenantId: number, value: Partial, query: object): Promise; updateChargingStationTimestamp(tenantId: number, stationId: string, timestamp: string): Promise; readConnectorByStationIdAndOcpp16ConnectorId(tenantId: number, stationId: string, ocpp16ConnectorId: number): Promise; readEvseByStationIdAndOcpp201EvseId(tenantId: number, stationId: string, ocpp201EvseId: number): Promise; readConnectorByStationIdAndOcpp201EvseType(tenantId: number, stationId: string, ocpp201EvseType: OCPP2_0_1.EVSEType): Promise; }