29 lines
1016 B
TypeScript
29 lines
1016 B
TypeScript
import { ShuttleTravelTimeDataIdentifier, ShuttleTravelTimeDateFilterArguments } from "../ShuttleGetterRepository";
|
|
import { ETAGetterRepository } from "./ETAGetterRepository";
|
|
|
|
export interface SelfUpdatingETARepository extends ETAGetterRepository {
|
|
/**
|
|
* Attach a event listener to the shuttle repository, listening to
|
|
* shuttle updates
|
|
*/
|
|
startListeningForUpdates(): void;
|
|
|
|
/**
|
|
* Get average travel time between two stops based on historical data.
|
|
* Returns undefined if no data exists for the specified time range.
|
|
* @param identifier - The route and stop IDs to query
|
|
* @param dateFilter - The date range to filter data
|
|
*/
|
|
getAverageTravelTimeSeconds(
|
|
identifier: ShuttleTravelTimeDataIdentifier,
|
|
dateFilter: ShuttleTravelTimeDateFilterArguments
|
|
): Promise<number | undefined>;
|
|
|
|
/**
|
|
* Set the "current time" as the class knows it, in order to calculate
|
|
* ETAs based on past data.
|
|
* @param referenceTime
|
|
*/
|
|
setReferenceTime(referenceTime: Date): void;
|
|
}
|