UNPKG

minotor

Version:

A lightweight client-side transit routing library.

109 lines (108 loc) 3.8 kB
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; export declare const protobufPackage = "minotor.timetable.v1"; export declare enum TransferType { TRANSFER_TYPE_UNSPECIFIED = 0, TRANSFER_TYPE_RECOMMENDED_TRANSFER_POINT = 1, TRANSFER_TYPE_TIMED_TRANSFER = 2, TRANSFER_TYPE_REQUIRES_MINIMAL_TIME = 3, TRANSFER_TYPE_IN_SEAT_TRANSFER = 4, UNRECOGNIZED = -1 } export declare function transferTypeFromJSON(object: any): TransferType; export declare function transferTypeToJSON(object: TransferType): string; export declare enum RouteType { ROUTE_TYPE_UNSPECIFIED = 0, ROUTE_TYPE_TRAM = 1, ROUTE_TYPE_SUBWAY = 2, ROUTE_TYPE_RAIL = 3, ROUTE_TYPE_BUS = 4, ROUTE_TYPE_FERRY = 5, ROUTE_TYPE_CABLE_TRAM = 6, ROUTE_TYPE_AERIAL_LIFT = 7, ROUTE_TYPE_FUNICULAR = 8, ROUTE_TYPE_TROLLEYBUS = 9, ROUTE_TYPE_MONORAIL = 10, UNRECOGNIZED = -1 } export declare function routeTypeFromJSON(object: any): RouteType; export declare function routeTypeToJSON(object: RouteType): string; export interface Route { /** * Arrivals and departures encoded as a 16 bit uint array. * Format: [arrival1, departure1, arrival2, departure2, etc.] */ stopTimes: Uint8Array; /** * PickUp and DropOff types represented as an 8 bit uint array. * Values: * 0: REGULAR * 1: NOT_AVAILABLE * 2: MUST_PHONE_AGENCY * 3: MUST_COORDINATE_WITH_DRIVER * Format: [drop_off_1][pickup_1][drop_off_0][pickup_0] * 2 bits per value */ pickupDropOffTypes: Uint8Array; /** * Stops encoded as a 32 bit uint array. * Format: [stop1, stop2, stop3, etc.] */ stops: Uint8Array; serviceRouteId: number; } export interface Transfer { destination: number; type: TransferType; minTransferTime?: number | undefined; } export interface TripStop { stopIndex: number; routeId: number; tripIndex: number; } export interface TripTransferEntry { origin: TripStop | undefined; destinations: TripStop[]; } export interface StopAdjacency { routes: number[]; transfers: Transfer[]; } export interface ServiceRoute { type: RouteType; name: string; routes: number[]; } export interface Timetable { stopsAdjacency: StopAdjacency[]; routesAdjacency: Route[]; serviceRoutes: ServiceRoute[]; tripContinuations: TripTransferEntry[]; guaranteedTripTransfers: TripTransferEntry[]; } export declare const Route: MessageFns<Route>; export declare const Transfer: MessageFns<Transfer>; export declare const TripStop: MessageFns<TripStop>; export declare const TripTransferEntry: MessageFns<TripTransferEntry>; export declare const StopAdjacency: MessageFns<StopAdjacency>; export declare const ServiceRoute: MessageFns<ServiceRoute>; export declare const Timetable: MessageFns<Timetable>; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]>; } : Partial<T>; type KeysOfUnion<T> = T extends T ? keyof T : never; export type Exact<P, I extends P> = P extends Builtin ? P : P & { [K in keyof P]: Exact<P[K], I[K]>; } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never; }; export interface MessageFns<T> { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create<I extends Exact<DeepPartial<T>, I>>(base?: I): T; fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T; } export {};