minotor
Version:
A lightweight client-side transit routing library.
126 lines (125 loc) • 4.32 kB
TypeScript
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
export declare const protobufPackage = "minotor.timetable";
export declare enum TransferType {
RECOMMENDED_TRANSFER_POINT = 0,
TIMED_TRANSFER = 1,
REQUIRES_MINIMAL_TIME = 2,
IN_SEAT_TRANSFER = 3,
UNRECOGNIZED = -1
}
export declare function transferTypeFromJSON(object: any): TransferType;
export declare function transferTypeToJSON(object: TransferType): string;
export declare enum RouteType {
TRAM = 0,
SUBWAY = 1,
RAIL = 2,
BUS = 3,
FERRY = 4,
CABLE_TRAM = 5,
AERIAL_LIFT = 6,
FUNICULAR = 7,
TROLLEYBUS = 8,
MONORAIL = 9,
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 32 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: [pickupTypeStop1, dropOffTypeStop1, pickupTypeStop2, dropOffTypeStop2, etc.]
*/
pickUpDropOffTypes: Uint8Array;
/**
* Stops encoded as a 32 bit uint array.
* Format: [stop1, stop2, stop3, etc.]
*/
stops: Uint8Array;
serviceRouteId: string;
}
export interface RoutesAdjacency {
routes: {
[key: string]: Route;
};
}
export interface RoutesAdjacency_RoutesEntry {
key: string;
value: Route | undefined;
}
export interface Transfer {
destination: number;
type: TransferType;
minTransferTime?: number | undefined;
}
export interface StopsAdjacency {
stops: {
[key: string]: StopsAdjacency_StopAdjacency;
};
}
export interface StopsAdjacency_StopAdjacency {
transfers: Transfer[];
routes: string[];
}
export interface StopsAdjacency_StopsEntry {
key: string;
value: StopsAdjacency_StopAdjacency | undefined;
}
export interface ServiceRoute {
type: RouteType;
name: string;
}
export interface ServiceRoutesMap {
routes: {
[key: string]: ServiceRoute;
};
}
export interface ServiceRoutesMap_RoutesEntry {
key: string;
value: ServiceRoute | undefined;
}
export interface Timetable {
version: string;
stopsAdjacency: StopsAdjacency | undefined;
routesAdjacency: RoutesAdjacency | undefined;
routes: ServiceRoutesMap | undefined;
}
export declare const Route: MessageFns<Route>;
export declare const RoutesAdjacency: MessageFns<RoutesAdjacency>;
export declare const RoutesAdjacency_RoutesEntry: MessageFns<RoutesAdjacency_RoutesEntry>;
export declare const Transfer: MessageFns<Transfer>;
export declare const StopsAdjacency: MessageFns<StopsAdjacency>;
export declare const StopsAdjacency_StopAdjacency: MessageFns<StopsAdjacency_StopAdjacency>;
export declare const StopsAdjacency_StopsEntry: MessageFns<StopsAdjacency_StopsEntry>;
export declare const ServiceRoute: MessageFns<ServiceRoute>;
export declare const ServiceRoutesMap: MessageFns<ServiceRoutesMap>;
export declare const ServiceRoutesMap_RoutesEntry: MessageFns<ServiceRoutesMap_RoutesEntry>;
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 {};