import { IDeviceModelRepository } from '@citrineos/data';
export declare class DeviceModelService {
    protected _deviceModelRepository: IDeviceModelRepository;
    constructor(deviceModelRepository: IDeviceModelRepository);
    /**
     * Fetches the ItemsPerMessageSetVariables attribute from the device model.
     * Returns null if no such attribute exists.
     * It is possible for there to be multiple ItemsPerMessageSetVariables attributes if component instances or evses
     * are associated with alternate options. That structure is not supported by this logic, and that
     * structure is a violation of Part 2 - Specification of OCPP 2.0.1.
     * In that case, the first attribute will be returned.
     * @param stationId Charging station identifier.
     * @returns ItemsPerMessageSetVariables as a number or null if no such attribute exists.
     */
    getItemsPerMessageSetVariablesByStationId(stationId: string): Promise<number | null>;
    /**
     * Fetches the ItemsPerMessageGetVariables attribute from the device model.
     * Returns null if no such attribute exists.
     * It is possible for there to be multiple ItemsPerMessageGetVariables attributes if component instances or evses
     * are associated with alternate options. That structure is not supported by this logic, and that
     * structure is a violation of Part 2 - Specification of OCPP 2.0.1.
     * In that case, the first attribute will be returned.
     * @param stationId Charging station identifier.
     * @returns ItemsPerMessageGetVariables as a number or null if no such attribute exists.
     */
    getItemsPerMessageGetVariablesByStationId(stationId: string): Promise<number | null>;
    updateDeviceModel(chargingStation: any, stationId: string, timestamp: string): Promise<void>;
}
