import { IAveApiDeviceDataDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto"; import { IAveApiPlaceDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto"; import { ICemApiCounterDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto"; import { ICemApiDeviceDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto"; import { ICemApiMeasurementDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto"; import { CommodityProvider } from "../helpers/CommodityProviderEnum"; import { IDataSourceProvider } from "./IDataSourceProvider"; export type CemApiDtoUnion = ICemApiDeviceDto | ICemApiCounterDto | ICemApiMeasurementDto; export type AveApiDtoUnion = IAveApiPlaceDto | IAveApiDeviceDataDto; export type DataSourceProviderDict = { [CommodityProvider.UnimonitorCemApi]: IDataSourceProvider; [CommodityProvider.PpasInternetAveApi]: IDataSourceProvider; }; export type DataSourceReturnType = ReturnType; export interface ICommodityProviderDataSourceFactory { getDataSource(presetLogsProvider: T, ...params: Parameters): DataSourceReturnType; }