import { SequelizeRepository } from './Base.js'; import { EventData, VariableMonitoring, VariableMonitoringStatus } from '../model/index.js'; import type { IVariableMonitoringRepository } from '../../../interfaces/index.js'; import type { BootstrapConfig, CallAction } from '@citrineos/base'; import { CrudRepository, OCPP2_0_1 } from '@citrineos/base'; import { Sequelize } from 'sequelize-typescript'; import type { ILogObj } from 'tslog'; import { Logger } from 'tslog'; export declare class SequelizeVariableMonitoringRepository extends SequelizeRepository implements IVariableMonitoringRepository { eventData: CrudRepository; variableMonitoringStatus: CrudRepository; constructor(config: BootstrapConfig, logger?: Logger, sequelizeInstance?: Sequelize, eventData?: CrudRepository, variableMonitoringStatus?: CrudRepository); createOrUpdateByMonitoringDataTypeAndStationId(tenantId: number, value: OCPP2_0_1.MonitoringDataType, componentId: string, variableId: string, stationId: string): Promise; createVariableMonitoringStatus(tenantId: number, status: OCPP2_0_1.SetMonitoringStatusEnumType, action: CallAction, variableMonitoringId: number): Promise; createOrUpdateBySetMonitoringDataTypeAndStationId(tenantId: number, value: OCPP2_0_1.SetMonitoringDataType, componentId: string, variableId: string, stationId: string): Promise; rejectAllVariableMonitoringsByStationId(tenantId: number, action: CallAction, stationId: string): Promise; rejectVariableMonitoringByIdAndStationId(tenantId: number, action: CallAction, id: number, stationId: string): Promise; updateResultByStationId(tenantId: number, result: OCPP2_0_1.SetMonitoringResultType, stationId: string): Promise; createEventDatumByComponentIdAndVariableIdAndStationId(tenantId: number, event: OCPP2_0_1.EventDataType, componentId: string, variableId: string, stationId: string): Promise; }