import type { RouteIdx, RoutesByStop, StopIdx } from "../network/Timetable.js"; /** * Routes to scan, each mapped to the position in the route to start scanning from. * * The start positions are held in an array indexed by route and the routes touched are collected * as they are first seen, so iterating the queue does not walk every route in the network. Both * arrays are reused across rounds, resetting only the entries the last round used. */ export declare class RouteQueue { private readonly positions; private readonly queued; private size; constructor(numRoutes: number); get length(): number; /** * Replace the queue with the routes that pass through the given marked stops */ build(routesByStop: RoutesByStop, markedStops: StopIdx[]): void; routeAt(i: number): RouteIdx; startPositionOf(route: RouteIdx): number; }