/** * Timeseries entry type */ export interface TimeseriesEntryType { time: TimeType; value: DataType; } /** * Timeseries */ export interface TimeserieInterface { /** * return value as at index */ value(index: number): DataType; /** * Return time as at index */ time(index: number): TimeType; /** * Return all values as an array */ values(): DataType[]; /** * Return all times as an array */ times(): TimeType[]; /** * Return a sub timeseries with times in [start,end] */ timerange(start: TimeType, end: TimeType): TimeserieInterface; /** * Return timeserie size */ size(): number; /** * Add a value (sorted) */ add(time: TimeType, v: DataType): void; /** * Get timeseries element by index */ get(index: number): TimeseriesEntryType; /** * Transform the timeseries as an arra */ toArray(): Array>; /** * Merging two timeseries */ merge(ts: TimeserieInterface): void; }