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; /** * Set the "current time" as the class knows it, in order to calculate * ETAs based on past data. * @param referenceTime */ setReferenceTime(referenceTime: Date): void; }