import { Nullable } from '@mlytics/core-ts/core/type/basic'; import { TimeSeriesDataLike } from '../../../model/service/metrics'; type CDNConfigRecord = { id: string; name: string; type: string; domain: string; isEnabled: boolean; meanBandwidth: number; meanAvailability: number; currentScore: number; }; type CDNDownloadRecord = TimeSeriesDataLike & { id: string; name: string; kind: string; type: string; domain: string; meanBandwidth: number; meanAvailability: number; currentScore: number; }; type HTTPDownloadRecord = TimeSeriesDataLike & { id?: Nullable; name?: Nullable; kind: string; type: string; domain: string; totalSize?: Nullable; contentType?: Nullable; contentSize: number; startTime: number; elapsedTime?: Nullable; bandwidth?: Nullable; isAborted: boolean; isSuccess: boolean; isOutlier: boolean; isComplete: boolean; swarmID?: Nullable; swarmURI?: Nullable; sourceURI: string; requestURI: string; responseCode?: Nullable; errorMessage?: Nullable; }; type P2PDownloadRecord = TimeSeriesDataLike & { peerID: string; peerType: string; totalSize?: Nullable; contentType?: Nullable; contentSize: number; startTime: number; elapsedTime: number; bandwidth?: Nullable; isOutlier: boolean; isComplete: boolean; swarmID?: Nullable; swarmURI?: Nullable; sourceURI: string; requestURI: string; }; type TrackerStateRecord = { peerID: Nullable; isAvailable: boolean; }; type NodeStateRecord = { peerID: Nullable; isAvailable: boolean; }; type SwarmStateRecord = { swarmID: string; swarmURI: string; isAvailable: boolean; }; type UserStateRecord = { peerID: string; swarmID: string; isAvailable: boolean; }; export { CDNConfigRecord, CDNDownloadRecord, HTTPDownloadRecord, P2PDownloadRecord, TrackerStateRecord, NodeStateRecord, SwarmStateRecord, UserStateRecord };