minotor
Version:
A lightweight client-side transit routing library.
109 lines (108 loc) • 3.8 kB
TypeScript
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 {};