import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { BicycleType, BikeShareStationInfo, LevelChange, Location, PedestrianType, RouteLandmark, StreetName, Summary, TransitRouteInfo, TransitType, TravelMode, VehicleType } from "./common"; import { TripSign } from "./sign"; export declare const protobufPackage = "valhalla"; export interface DirectionsLeg { tripId: number; legId: number; legCount: number; location: Location[]; summary: Summary | undefined; maneuver: DirectionsLeg_Maneuver[]; shape: string; levelChanges: LevelChange[]; } export interface DirectionsLeg_GuidanceView { /** TODO future enum as data id? */ dataId: string; /** The type of guidance view */ type: DirectionsLeg_GuidanceView_Type; /** Image base id */ baseId: string; /** List of overlay ids */ overlayIds: string[]; } export declare enum DirectionsLeg_GuidanceView_Type { kJunction = 0, kSapa = 1, kTollbranch = 2, kAftertoll = 3, kEnt = 4, kExit = 5, kCityreal = 6, kDirectionboard = 7, kSignboard = 8, UNRECOGNIZED = -1 } export declare function directionsLeg_GuidanceView_TypeFromJSON(object: any): DirectionsLeg_GuidanceView_Type; export declare function directionsLeg_GuidanceView_TypeToJSON(object: DirectionsLeg_GuidanceView_Type): string; export interface DirectionsLeg_Maneuver { /** Maneuver type */ type: DirectionsLeg_Maneuver_Type; /** text instruction */ textInstruction: string; /** street names */ streetName: StreetName[]; /** kilometers or miles based on units */ length: number; /** seconds */ time: number; /** CardinalDirection */ beginCardinalDirection: DirectionsLeg_Maneuver_CardinalDirection; /** 0-360 */ beginHeading: number; /** inclusive index */ beginShapeIndex: number; /** inclusive index */ endShapeIndex: number; /** has portions toll */ portionsToll: boolean; /** has portions unpaved */ portionsUnpaved: boolean; /** verbal transition alert instruction */ verbalTransitionAlertInstruction: string; /** verbal pre-transition instruction */ verbalPreTransitionInstruction: string; /** verbal post-transition instruction */ verbalPostTransitionInstruction: string; /** begin street names */ beginStreetName: StreetName[]; /** associated sign information, for example: exit number */ sign: TripSign | undefined; /** which spoke to exit roundabout after entering */ roundaboutExitCount: number; /** depart instruction - used with transit */ departInstruction: string; /** verbal depart instruction - used with transit */ verbalDepartInstruction: string; /** arrive instruction - used with transit */ arriveInstruction: string; /** verbal arrive instruction - used with transit */ verbalArriveInstruction: string; /** transit attributes including a list of transit stops */ transitInfo: TransitRouteInfo | undefined; /** verbal multi-cue flag */ verbalMultiCue: boolean; /** travel mode */ travelMode: TravelMode; vehicleType: VehicleType; pedestrianType: PedestrianType; bicycleType: BicycleType; transitType: TransitType; /** Index in TripPath for first node of maneuver */ beginPathIndex: number; /** Index in TripPath for last node of maneuver */ endPathIndex: number; /** True if same name as previous maneuver */ toStayOn: boolean; /** Outbound street names from roundabout */ roundaboutExitStreetNames: StreetName[]; /** Turn degree of maneuver */ turnDegree: number; /** Whether edge has any time restrictions or not */ hasTimeRestrictions: boolean; /** List of guidance views */ guidanceViews: DirectionsLeg_GuidanceView[]; bssManeuverType: DirectionsLeg_Maneuver_BssManeuverType; /** verbal succinct transition instruction */ verbalSuccinctTransitionInstruction: string; /** Bike Share Station Info */ bssInfo: BikeShareStationInfo | undefined; /** has portions highway */ portionsHighway: boolean; /** has portions ferry */ portionsFerry: boolean; /** landmarks correlated with the maneuver */ landmarks: RouteLandmark[]; } export declare enum DirectionsLeg_Maneuver_CardinalDirection { kNorth = 0, kNorthEast = 1, kEast = 2, kSouthEast = 3, kSouth = 4, kSouthWest = 5, kWest = 6, kNorthWest = 7, UNRECOGNIZED = -1 } export declare function directionsLeg_Maneuver_CardinalDirectionFromJSON(object: any): DirectionsLeg_Maneuver_CardinalDirection; export declare function directionsLeg_Maneuver_CardinalDirectionToJSON(object: DirectionsLeg_Maneuver_CardinalDirection): string; /** TODO - add others later */ export declare enum DirectionsLeg_Maneuver_Type { kNone = 0, kStart = 1, kStartRight = 2, kStartLeft = 3, kDestination = 4, kDestinationRight = 5, kDestinationLeft = 6, kBecomes = 7, kContinue = 8, kSlightRight = 9, kRight = 10, kSharpRight = 11, kUturnRight = 12, kUturnLeft = 13, kSharpLeft = 14, kLeft = 15, kSlightLeft = 16, kRampStraight = 17, kRampRight = 18, kRampLeft = 19, kExitRight = 20, kExitLeft = 21, kStayStraight = 22, kStayRight = 23, kStayLeft = 24, kMerge = 25, kRoundaboutEnter = 26, kRoundaboutExit = 27, kFerryEnter = 28, kFerryExit = 29, kTransit = 30, kTransitTransfer = 31, kTransitRemainOn = 32, kTransitConnectionStart = 33, kTransitConnectionTransfer = 34, kTransitConnectionDestination = 35, kPostTransitConnectionDestination = 36, kMergeRight = 37, kMergeLeft = 38, kElevatorEnter = 39, kStepsEnter = 40, kEscalatorEnter = 41, kBuildingEnter = 42, kBuildingExit = 43, kLevelChange = 44, kParkVehicle = 45, UNRECOGNIZED = -1 } export declare function directionsLeg_Maneuver_TypeFromJSON(object: any): DirectionsLeg_Maneuver_Type; export declare function directionsLeg_Maneuver_TypeToJSON(object: DirectionsLeg_Maneuver_Type): string; export declare enum DirectionsLeg_Maneuver_BssManeuverType { kNoneAction = 0, kRentBikeAtBikeShare = 1, kReturnBikeAtBikeShare = 2, UNRECOGNIZED = -1 } export declare function directionsLeg_Maneuver_BssManeuverTypeFromJSON(object: any): DirectionsLeg_Maneuver_BssManeuverType; export declare function directionsLeg_Maneuver_BssManeuverTypeToJSON(object: DirectionsLeg_Maneuver_BssManeuverType): string; export interface DirectionsRoute { legs: DirectionsLeg[]; } export interface Directions { routes: DirectionsRoute[]; } export declare const DirectionsLeg: MessageFns; export declare const DirectionsLeg_GuidanceView: MessageFns; export declare const DirectionsLeg_Maneuver: MessageFns; export declare const DirectionsRoute: MessageFns; export declare const Directions: MessageFns; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; export interface MessageFns { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create, I>>(base?: I): T; fromPartial, I>>(object: I): T; } export {}; //# sourceMappingURL=directions.d.ts.map