import type { BootstrapConfig } from '@citrineos/base'; import { CrudRepository, OCPP2_0_1 } from '@citrineos/base'; import { SequelizeRepository } from './Base.js'; import { type IDeviceModelRepository, type VariableAttributeQuerystring } from '../../../interfaces/index.js'; import { Component, EvseType, Variable, VariableAttribute, VariableCharacteristics, VariableStatus } from '../model/index.js'; import { ComponentVariable } from '../model/DeviceModel/ComponentVariable.js'; import { Sequelize } from 'sequelize-typescript'; import type { ILogObj } from 'tslog'; import { Logger } from 'tslog'; export declare class SequelizeDeviceModelRepository extends SequelizeRepository implements IDeviceModelRepository { variable: CrudRepository; component: CrudRepository; evse: CrudRepository; variableCharacteristics: CrudRepository; componentVariable: CrudRepository; variableStatus: CrudRepository; constructor(config: BootstrapConfig, logger?: Logger, sequelizeInstance?: Sequelize, variable?: CrudRepository, component?: CrudRepository, evse?: CrudRepository, componentVariable?: CrudRepository, variableCharacteristics?: CrudRepository, variableStatus?: CrudRepository); createOrUpdateDeviceModelByStationId(tenantId: number, value: OCPP2_0_1.ReportDataType, stationId: string, isoTimestamp: string): Promise; findOrCreateEvseAndComponentAndVariable(tenantId: number, componentType: OCPP2_0_1.ComponentType, variableType: OCPP2_0_1.VariableType, stationId?: string): Promise<[Component, Variable]>; findOrCreateEvseAndComponent(tenantId: number, componentType: OCPP2_0_1.ComponentType, stationId?: string): Promise; createOrUpdateByGetVariablesResultAndStationId(tenantId: number, getVariablesResult: OCPP2_0_1.GetVariableResultType[], stationId: string, isoTimestamp: string): Promise; createOrUpdateBySetVariablesDataAndStationId(tenantId: number, setVariablesData: OCPP2_0_1.SetVariableDataType[], stationId: string, isoTimestamp: string): Promise; updateResultByStationId(tenantId: number, result: OCPP2_0_1.SetVariableResultType, stationId: string, isoTimestamp: string): Promise; readAllSetVariableByStationId(tenantId: number, stationId: string): Promise; readAllByQuerystring(tenantId: number, query: VariableAttributeQuerystring): Promise; existByQuerystring(tenantId: number, query: VariableAttributeQuerystring): Promise; deleteAllByQuerystring(tenantId: number, query: VariableAttributeQuerystring): Promise; findComponentAndVariable(tenantId: number, componentType: OCPP2_0_1.ComponentType, variableType: OCPP2_0_1.VariableType): Promise<[Component | undefined, Variable | undefined]>; findEvseByIdAndConnectorId(tenantId: number, id: number, connectorId: number | null): Promise; findVariableCharacteristicsByVariableNameAndVariableInstance(tenantId: number, variableName: string, variableInstance: string | null): Promise; /** * Private Methods */ private createSetVariableDataType; private constructQuery; }