@mappedin/events 6.5.0-beta.0 → 6.7.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { AnnotationCollection, AnnotationSymbol, AreaCollection, AreaId, Category as MVFCategory, CategoryId, Connection as MVFConnection, Details, EnterpriseCategory as MVFEnterpriseCategory, EnterpriseCategory as MvfEnterpriseCategory, EnterpriseCategoryId as MVFEnterpriseCategoryId, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseLocation as MvfEnterpriseLocation, EnterpriseLocationId as MVFEnterpriseLocationId, EnterpriseLocationInstance, EnterpriseVenue as MVFEnterpriseVenue, EntranceCollection, EntranceFeature, Facade as MVFFacade, Feature, Feature as MVFFeature, FeatureCollection, FloorCollection, FloorProperties as MVFFloor, FloorProperties as MvfFloor, FloorStack as MVFFloorStack, FloorStack as MvfFloorStack, Geometry, Hyperlink as MVFHyperlink, Image as MVFImage, Language, LineStringStyle as TMVFLineStringStyle, Location as MVFLocation, LocationId, LocationLink, LocationSocial, LocationState, MultiPolygon, NavigationFlagDeclarations, NodeCollection, NodeCollection as MVFNodeCollection, NodeId, ObstructionCollection, ObstructionFeature, ObstructionId, ObstructionProperties, OpeningHoursSpecification, OperationHours, ParsedMVF, ParsedMVF as TMVF, ParsedMVFLocalePack, Point, PointStyle as TMVFPointStyle, Polygon, PolygonStyle as TMVFPolygonStyle, SiblingGroup, SpaceCollection, SpaceFeature, SpaceId, SpaceProperties, Style as TMVFStyle, StyleCollection as TMVFStyleCollection, TilesetStyle } from '@mappedin/mvf-v2';
1
+ import { AnnotationCollection, AnnotationSymbol, AreaCollection, AreaId, Category as MVFCategory, CategoryId, Connection as MVFConnection, Details, EnterpriseCategory as MVFEnterpriseCategory, EnterpriseCategory as MvfEnterpriseCategory, EnterpriseCategoryId as MVFEnterpriseCategoryId, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseLocation as MvfEnterpriseLocation, EnterpriseLocationId as MVFEnterpriseLocationId, EnterpriseLocationInstance, EnterpriseVenue as MVFEnterpriseVenue, EnterpriseVenueType, EntranceCollection, EntranceFeature, Facade as MVFFacade, Feature, Feature as MVFFeature, FeatureCollection, FloorCollection, FloorProperties as MVFFloor, FloorProperties as MvfFloor, FloorStack as MVFFloorStack, FloorStack as MvfFloorStack, Geometry, Hyperlink as MVFHyperlink, Image as MVFImage, Language, LineStringStyle as TMVFLineStringStyle, Location as MVFLocation, LocationId, LocationLink, LocationSocial, LocationState, MultiPolygon, NavigationFlagDeclarations, NodeCollection, NodeCollection as MVFNodeCollection, NodeId, ObstructionCollection, ObstructionFeature, ObstructionId, ObstructionProperties, OpeningHoursSpecification, OperationHours, ParsedMVF, ParsedMVF as TMVF, ParsedMVFLocalePack, Point, PointStyle as TMVFPointStyle, Polygon, PolygonStyle as TMVFPolygonStyle, SiblingGroup, SpaceCollection, SpaceFeature, SpaceId, SpaceProperties, Style as TMVFStyle, StyleCollection as TMVFStyleCollection, TilesetStyle } from '@mappedin/mvf-v2';
2
2
  import { ParsedMVF } from '@mappedin/mvf-v2/no-validator';
3
3
 
4
4
  declare const VALID_CONTEXTS: readonly [
@@ -3918,13 +3918,37 @@ declare class PubSub<EVENT_PAYLOAD, EVENT extends keyof EVENT_PAYLOAD = keyof EV
3918
3918
  /**
3919
3919
  * @private
3920
3920
  * @internal
3921
+ * AbortController for managing lifecycle and cleanup
3921
3922
  */
3922
- private _destroyed;
3923
+ private _abortController;
3924
+ /**
3925
+ * @protected
3926
+ * @internal
3927
+ * Tracks all cleanup functions for subscriptions made via on()
3928
+ */
3929
+ protected _cleanupFunctions: Array<() => void>;
3930
+ /**
3931
+ * Returns the AbortSignal for this PubSub instance.
3932
+ * Use this signal with APIs that support cancellation (fetch, addEventListener, etc.)
3933
+ * When the PubSub is destroyed, the signal will be aborted and all listeners using it will be automatically removed.
3934
+ *
3935
+ * @example
3936
+ * ```typescript
3937
+ * // Automatically cleaned up when PubSub is destroyed
3938
+ * pubsub.addEventListener(window, 'resize', handler, { signal: pubsub.signal });
3939
+ * ```
3940
+ */
3941
+ get signal(): AbortSignal;
3923
3942
  /**
3924
3943
  * @private
3925
3944
  * @internal
3926
3945
  */
3927
3946
  publish<EVENT_NAME extends EVENT>(eventName: EVENT_NAME, data?: EVENT_PAYLOAD[EVENT_NAME]): void;
3947
+ /**
3948
+ * Subscribe a function to be called when the signal is aborted.
3949
+ * @param fn The function to call when the signal is aborted.
3950
+ */
3951
+ onAbort<T extends (...args: any[]) => void>(fn: T): void;
3928
3952
  /**
3929
3953
  * Subscribe a function to an event.
3930
3954
  *
@@ -3932,6 +3956,9 @@ declare class PubSub<EVENT_PAYLOAD, EVENT extends keyof EVENT_PAYLOAD = keyof EV
3932
3956
  * function.
3933
3957
  * @param fn A callback that gets called when the corresponding event is fired. The
3934
3958
  * callback will get passed an argument with a type that's one of event payloads.
3959
+ * @param options Optional options object. If a signal is provided, the subscription will be
3960
+ * automatically cleaned up when that signal is aborted.
3961
+ * @returns A cleanup function that unsubscribes the event listener when called.
3935
3962
  * @example
3936
3963
  * // Subscribe to the 'click' event
3937
3964
  * const handler = (event) => {
@@ -3943,7 +3970,9 @@ declare class PubSub<EVENT_PAYLOAD, EVENT extends keyof EVENT_PAYLOAD = keyof EV
3943
3970
  */
3944
3971
  on<EVENT_NAME extends EVENT>(eventName: EVENT_NAME, fn: (payload: EVENT_PAYLOAD[EVENT_NAME] extends {
3945
3972
  data: null;
3946
- } ? EVENT_PAYLOAD[EVENT_NAME]["data"] : EVENT_PAYLOAD[EVENT_NAME]) => void): void;
3973
+ } ? EVENT_PAYLOAD[EVENT_NAME]["data"] : EVENT_PAYLOAD[EVENT_NAME]) => void, options?: {
3974
+ signal?: AbortSignal;
3975
+ }): () => void;
3947
3976
  /**
3948
3977
  * Unsubscribe a function previously subscribed with {@link on}
3949
3978
  *
@@ -3964,6 +3993,7 @@ declare class PubSub<EVENT_PAYLOAD, EVENT extends keyof EVENT_PAYLOAD = keyof EV
3964
3993
  /**
3965
3994
  * @private
3966
3995
  * @internal
3996
+ * Destroys the PubSub instance and automatically unsubscribes all listeners registered via on().
3967
3997
  */
3968
3998
  destroy(): void;
3969
3999
  }
@@ -4097,17 +4127,55 @@ type DirectionProperties = {
4097
4127
  };
4098
4128
  type DirectionFeature = Feature$1<Point$1, DirectionProperties>;
4099
4129
  type DirectionsCollection = FeatureCollection$1<Point$1, DirectionProperties>;
4100
- type SimplifyDirectionsOptions = {
4130
+ interface DoorGeometry {
4131
+ geoJSON: {
4132
+ geometry: {
4133
+ coordinates: [
4134
+ [
4135
+ number,
4136
+ number
4137
+ ],
4138
+ [
4139
+ number,
4140
+ number
4141
+ ]
4142
+ ];
4143
+ };
4144
+ };
4145
+ }
4146
+ type BaseSimplifyOptions = {
4101
4147
  /**
4102
4148
  * Enable or disable simplifying.
4103
4149
  */
4104
4150
  enabled: boolean;
4105
4151
  /**
4106
4152
  * The radius of the buffer around the path to consider when simplifying, in meters.
4107
- * @default 0.7
4153
+ * @default 0.4
4154
+ */
4155
+ radius?: number;
4156
+ };
4157
+ type GreedyLosOptions = BaseSimplifyOptions & {
4158
+ __EXPERIMENTAL_METHOD?: "greedy-los";
4159
+ };
4160
+ type RdpOptions = BaseSimplifyOptions & {
4161
+ __EXPERIMENTAL_METHOD: "rdp";
4162
+ /**
4163
+ * Whether to include door-adjacent nodes (predecessor/successor of doors) in the must-include set.
4164
+ * When true, nodes immediately before and after doors are preserved during simplification.
4165
+ * @default true
4108
4166
  */
4109
- bufferRadius?: number;
4167
+ mustIncludeDoorBufferNodes?: boolean;
4110
4168
  };
4169
+ type DpOptimalOptions = BaseSimplifyOptions & {
4170
+ __EXPERIMENTAL_METHOD: "dp-optimal";
4171
+ /**
4172
+ * Whether to include door buffer nodes in DP simplification.
4173
+ * When true, predecessor and successor nodes of doors are marked with preventSmoothing.
4174
+ * @default false
4175
+ */
4176
+ includeDoorBufferNodes?: boolean;
4177
+ };
4178
+ type SimplifyDirectionsOptions = GreedyLosOptions | RdpOptions | DpOptimalOptions;
4111
4179
  type DirectionsZone = {
4112
4180
  geometry: Feature$1<MultiPolygon$1 | Polygon$1>;
4113
4181
  /**
@@ -4125,6 +4193,7 @@ declare class Navigator$1 {
4125
4193
  graph: NavigationGraph;
4126
4194
  private geometryEdgesByMapId;
4127
4195
  private flagDeclarations;
4196
+ private getDoorByNodeId;
4128
4197
  private disabledNodeIds;
4129
4198
  /**
4130
4199
  * Constructs a Navigator instance to manage pathfinding with optional obstructions and grouping features.
@@ -4133,13 +4202,15 @@ declare class Navigator$1 {
4133
4202
  * @param {ObstructionCollection} [obstructions] - Optional collection of obstructions that could block paths.
4134
4203
  * @param {SpaceCollection} [spaces] - Optional collection of spaces that could block paths.
4135
4204
  * @param {string} [groupBy] - Optional property name to group nodes and paths for differentiated processing.
4205
+ * @param {Function} getDoorByNodeId - Function to get door object by node ID.
4136
4206
  */
4137
- constructor({ nodes, geojsonCollection, groupBy, multiplicativeDistanceWeightScaling, flagDeclarations, }: {
4207
+ constructor({ nodes, geojsonCollection, groupBy, multiplicativeDistanceWeightScaling, flagDeclarations, getDoorByNodeId, }: {
4138
4208
  nodes: NodeCollection$1;
4139
4209
  geojsonCollection?: ObstructionCollection | SpaceCollection;
4140
4210
  groupBy?: string;
4141
4211
  multiplicativeDistanceWeightScaling?: boolean;
4142
4212
  flagDeclarations?: NavigationFlagDeclarations;
4213
+ getDoorByNodeId: (nodeId: string) => DoorGeometry | undefined;
4143
4214
  });
4144
4215
  private getDisabledNodeIds;
4145
4216
  /**
@@ -4152,9 +4223,11 @@ declare class Navigator$1 {
4152
4223
  * @param {SimplifyDirectionsOptions} [simplify] - Options to simplify the pathfinding result.
4153
4224
  * @returns {DirectionsCollection} A collection of directional features representing the path.
4154
4225
  */
4155
- getDirections({ zones: directionsZones, originIds, destinationNodeIds, disabledConnectionNodeIds, simplify, multiplicativeDistanceWeightScaling, overrideEdgeWeights, }: {
4226
+ getDirections({ zones: directionsZones, originIds, from, to, destinationNodeIds, disabledConnectionNodeIds, simplify, multiplicativeDistanceWeightScaling, overrideEdgeWeights, }: {
4156
4227
  originIds: string[];
4157
4228
  destinationNodeIds: string[];
4229
+ from: NodeFeature[];
4230
+ to: NodeFeature[];
4158
4231
  zones?: DirectionsZone[];
4159
4232
  disabledConnectionNodeIds?: string[];
4160
4233
  simplify?: SimplifyDirectionsOptions;
@@ -4169,11 +4242,21 @@ declare class Navigator$1 {
4169
4242
  */
4170
4243
  private generatePath;
4171
4244
  /**
4172
- * Simplifies a sequence of steps by reducing unnecessary nodes using a buffer radius to check for obstructions.
4245
+ * Simplifies a sequence of steps by reducing unnecessary nodes using line-of-sight checks.
4246
+ *
4247
+ * Method Selection:
4248
+ * - 'greedy-los': Greedy forward scan with line-of-sight validation. Fastest, O(n) time complexity. Good default choice.
4249
+ * - 'rdp': Uses Ramer-Douglas-Peucker preprocessing + line-of-sight validation + door buffer nodes.
4250
+ * Better for paths with doors and complex geometry. Medium speed.
4251
+ * - 'dp-optimal': Dynamic Programming for globally optimal simplification. Slowest but highest quality, O(n²) complexity.
4252
+ * Best when path quality is critical (e.g., indoor navigation with many turns).
4253
+ *
4254
+ * Performance: greedy-los < rdp < dp-optimal
4255
+ * Quality: greedy-los < rdp < dp-optimal
4173
4256
  *
4174
4257
  * @param {Edge[]} steps - The steps to simplify.
4175
- * @param {number} bufferRadius - The buffer radius to use
4176
- * for simplification.
4258
+ * @param {SimplifyDirectionsOptions} options - Simplification options.
4259
+ * @param {boolean} multiplicativeDistanceWeightScaling - Distance weight scaling option.
4177
4260
  * @returns {Edge[]} An array of simplified edges representing a more direct path.
4178
4261
  */
4179
4262
  private simplifyAllSteps;
@@ -4216,6 +4299,8 @@ declare class Navigator$1 {
4216
4299
  * @returns {Edge[]} An array of simplified edges.
4217
4300
  */
4218
4301
  private simplifySteps;
4302
+ private simplifyStepsImprovedWithSimplifyBeforeLoSChecks;
4303
+ private simplifyStepsWithDPMethod;
4219
4304
  /**
4220
4305
  * Calculates the approximate distance between two geographic coordinates on Earth's surface.
4221
4306
  *
@@ -4297,13 +4382,14 @@ declare class DirectionsInternal {
4297
4382
  /**
4298
4383
  * @hidden
4299
4384
  */
4300
- constructor({ nodes, geojsonCollection, connections, groupBy, multiplicativeDistanceWeightScaling, flagDeclarations, }: {
4385
+ constructor({ nodes, geojsonCollection, connections, groupBy, multiplicativeDistanceWeightScaling, flagDeclarations, getDoorByNodeId, }: {
4301
4386
  nodes: ParsedMVF["node.geojson"];
4302
4387
  geojsonCollection: ParsedMVF["obstruction"] | ParsedMVF["space"];
4303
4388
  connections: ParsedMVF["connection.json"];
4304
4389
  groupBy?: string;
4305
4390
  multiplicativeDistanceWeightScaling?: boolean;
4306
4391
  flagDeclarations?: ParsedMVF["navigationFlags.json"];
4392
+ getDoorByNodeId: (nodeId: string) => DoorGeometry | undefined;
4307
4393
  });
4308
4394
  processTargets(fromNodesByTarget: Map<TNavigationTarget, string[]>, toNodesByTarget: Map<TNavigationTarget, string[]>, mapData: MapDataInternal): {
4309
4395
  originIds: string[];
@@ -4312,10 +4398,7 @@ declare class DirectionsInternal {
4312
4398
  };
4313
4399
  getDirections: (from: TNavigationTarget[], to: TNavigationTarget[], options: {
4314
4400
  accessible: boolean;
4315
- smoothing: {
4316
- enabled: boolean;
4317
- radius: number;
4318
- };
4401
+ smoothing: SimplifyDirectionsOptions;
4319
4402
  zones: TDirectionZone[];
4320
4403
  excludedConnections: Connection[];
4321
4404
  connectionIdWeightMap: Record<string, number>;
@@ -4323,10 +4406,7 @@ declare class DirectionsInternal {
4323
4406
  /** @deprecated use getDirections instead */
4324
4407
  getDirectionsSync: (from: TNavigationTarget[], to: TNavigationTarget[], options: {
4325
4408
  accessible: boolean;
4326
- smoothing: {
4327
- enabled: boolean;
4328
- radius: number;
4329
- };
4409
+ smoothing: SimplifyDirectionsOptions;
4330
4410
  zones: TDirectionZone[];
4331
4411
  excludedConnections: Connection[];
4332
4412
  connectionIdWeightMap: Record<string, number>;
@@ -4528,31 +4608,128 @@ type TGetDirectionsOptions = {
4528
4608
  */
4529
4609
  accessible?: boolean;
4530
4610
  /**
4531
- * Enable or disable line-of-sight directions smoothing.
4532
- * With this option enabled, the directions will be simplified to provide a more visually appealing path and shorter instructions.
4611
+ * Enable or disable path smoothing for directions.
4612
+ * When enabled, the path is simplified using line-of-sight checks to provide a more visually appealing route and shorter instructions.
4533
4613
  *
4534
- * Can be a boolean to enable or disable smoothing, or an object with a radius property to specify the line of sight radius in metres.
4614
+ * Can be a boolean to enable or disable smoothing, or an object with configuration options.
4615
+ *
4616
+ * **Available methods:**
4617
+ * - `'greedy-los'` (default): Greedy forward scan with line-of-sight validation. Fastest, O(n) time complexity. Good default choice.
4618
+ * - `'rdp'`: Uses Ramer-Douglas-Peucker preprocessing + line-of-sight validation + door buffer nodes. Better for paths with doors and complex geometry. Medium speed.
4619
+ * - `'dp-optimal'`: Dynamic Programming for globally optimal simplification. Slowest but highest quality, O(n²) complexity. Best when path quality is critical.
4535
4620
  *
4536
4621
  * @default true for non-enterprise mode, false for enterprise mode
4537
4622
  *
4538
4623
  * @example
4539
4624
  * ```ts
4540
- * // Enable smoothing with a radius of 3 metres
4625
+ * // Enable smoothing with default settings
4541
4626
  * mapView.getDirections(firstSpace, secondSpace, {
4542
- * smoothing: {
4543
- * radius: 3,
4627
+ * smoothing: true
4628
+ * })
4629
+ *
4630
+ * // Enable smoothing with custom radius (in meters)
4631
+ * mapView.getDirections(firstSpace, secondSpace, {
4632
+ * smoothing: {
4633
+ * radius: 1.5,
4544
4634
  * }
4545
4635
  * })
4546
4636
  *
4547
- * // Explicitly enable smoothing in enterprise mode
4637
+ * // Use greedy line-of-sight method (default, explicit)
4548
4638
  * mapView.getDirections(firstSpace, secondSpace, {
4549
- * smoothing: true
4639
+ * smoothing: {
4640
+ * enabled: true,
4641
+ * __EXPERIMENTAL_METHOD: 'greedy-los',
4642
+ * radius: 0.4,
4643
+ * }
4644
+ * })
4645
+ *
4646
+ * // Use RDP method (always uses line-of-sight)
4647
+ * mapView.getDirections(firstSpace, secondSpace, {
4648
+ * smoothing: {
4649
+ * enabled: true,
4650
+ * __EXPERIMENTAL_METHOD: 'rdp',
4651
+ * radius: 0.4,
4652
+ * }
4653
+ * })
4654
+ *
4655
+ * // Use DP-optimal method with door buffer nodes
4656
+ * mapView.getDirections(firstSpace, secondSpace, {
4657
+ * smoothing: {
4658
+ * enabled: true,
4659
+ * __EXPERIMENTAL_METHOD: 'dp-optimal',
4660
+ * __EXPERIMENTAL_INCLUDE_DOOR_BUFFER_NODES: true,
4661
+ * radius: 0.4,
4662
+ * }
4550
4663
  * })
4551
4664
  * ```
4552
4665
  */
4553
4666
  smoothing?: boolean | {
4667
+ /**
4668
+ * Enable or disable path smoothing.
4669
+ * @default true for non-enterprise mode, false for enterprise mode
4670
+ */
4554
4671
  enabled?: boolean;
4555
- radius: number;
4672
+ /**
4673
+ * The radius of the buffer around the path to consider when simplifying, in meters.
4674
+ * @default 0.75
4675
+ */
4676
+ radius?: number;
4677
+ /**
4678
+ * @experimental
4679
+ * Path smoothing method using greedy line-of-sight algorithm.
4680
+ * Fastest method with O(n) time complexity. Good default choice.
4681
+ * @default 'greedy-los'
4682
+ */
4683
+ __EXPERIMENTAL_METHOD?: "greedy-los";
4684
+ } | {
4685
+ /**
4686
+ * Enable or disable path smoothing.
4687
+ * @default true for non-enterprise mode, false for enterprise mode
4688
+ */
4689
+ enabled?: boolean;
4690
+ /**
4691
+ * The radius of the buffer around the path to consider when simplifying, in meters.
4692
+ * @default 0.75
4693
+ */
4694
+ radius?: number;
4695
+ /**
4696
+ * @experimental
4697
+ * Path smoothing method using Ramer-Douglas-Peucker preprocessing with line-of-sight validation.
4698
+ * Better for paths with doors and complex geometry. Medium speed.
4699
+ * Always uses line-of-sight validation (cannot be disabled).
4700
+ */
4701
+ __EXPERIMENTAL_METHOD: "rdp";
4702
+ /**
4703
+ * @experimental
4704
+ * Whether to include door-adjacent nodes (predecessor/successor of doors) in the must-include set.
4705
+ * When true (default), nodes immediately before and after doors are preserved during simplification.
4706
+ * @default true
4707
+ */
4708
+ __EXPERIMENTAL_MUST_INCLUDE_DOOR_BUFFER_NODES?: boolean;
4709
+ } | {
4710
+ /**
4711
+ * Enable or disable path smoothing.
4712
+ * @default true for non-enterprise mode, false for enterprise mode
4713
+ */
4714
+ enabled?: boolean;
4715
+ /**
4716
+ * The radius of the buffer around the path to consider when simplifying, in meters.
4717
+ * @default 0.75
4718
+ */
4719
+ radius?: number;
4720
+ /**
4721
+ * @experimental
4722
+ * Path smoothing method using Dynamic Programming for globally optimal simplification.
4723
+ * Slowest but highest quality, O(n²) complexity. Best when path quality is critical.
4724
+ */
4725
+ __EXPERIMENTAL_METHOD: "dp-optimal";
4726
+ /**
4727
+ * @experimental
4728
+ * Whether to include 0.5m buffer nodes perpendicular to doors in DP simplification.
4729
+ * When true, predecessor and successor nodes of doors are marked with preventSmoothing.
4730
+ * @default false
4731
+ */
4732
+ __EXPERIMENTAL_INCLUDE_DOOR_BUFFER_NODES?: boolean;
4556
4733
  };
4557
4734
  /**
4558
4735
  * Defines the special zones for navigation operations.
@@ -5481,8 +5658,7 @@ declare class Connection extends DetailedMapData<Feature<Point, SpaceProperties>
5481
5658
  * @internal
5482
5659
  */
5483
5660
  constructor(data: MapDataInternal, options: {
5484
- mvfDataByFloorId: Record<string, FeatureCollection<Point, SpaceProperties>["features"][number]> | Record<string, Feature<Point, MVFConnection>>;
5485
- accessible?: boolean;
5661
+ mvfData: MVFConnection;
5486
5662
  });
5487
5663
  /**
5488
5664
  * Whether the connection is accessible. For example elevators are accessible while stairs are not.
@@ -5518,10 +5694,6 @@ declare class Connection extends DetailedMapData<Feature<Point, SpaceProperties>
5518
5694
  * @returns {Floor[]} An array of floors for the connection.
5519
5695
  */
5520
5696
  get floors(): Floor[];
5521
- /**
5522
- * Gets the location profiles ({@link LocationProfile}) associated with the connection.
5523
- */
5524
- get locationProfiles(): LocationProfile[];
5525
5697
  /** @internal */
5526
5698
  get focusTarget(): Coordinate[];
5527
5699
  /**
@@ -6150,8 +6322,6 @@ type MapDataRecords = {
6150
6322
  locationProfilesByExternalId: Record<string, LocationProfile[]>;
6151
6323
  objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
6152
6324
  obstructionIdByEntranceId: Record<string, string>;
6153
- connectionIdsByLatLon: Record<string, string[]>;
6154
- mvfConnectionIdsByLatLon: Record<string, string[]>;
6155
6325
  locationProfilesByAttachedFeatureId: Record<string, LocationProfile[]>;
6156
6326
  mvfSpacesById: Record<string, SpaceCollection["features"][number]>;
6157
6327
  mvfNodesById: Record<string, NodeCollection["features"][number]>;
@@ -6557,6 +6727,10 @@ declare class EnterpriseVenue extends BaseMetaData implements MVFEnterpriseVenue
6557
6727
  * The default map of the venue.
6558
6728
  */
6559
6729
  get defaultMap(): string;
6730
+ /**
6731
+ * The enterprise venue type.
6732
+ */
6733
+ get enterpriseType(): EnterpriseVenueType | undefined;
6560
6734
  /**
6561
6735
  * Serializes the EnterpriseVenue data to JSON.
6562
6736
  *
@@ -6740,7 +6914,6 @@ declare class MapDataInternal extends PubSub<{
6740
6914
  mvfAnnotationsById: MapDataRecords["mvfAnnotationsById"];
6741
6915
  mvfConnectionsById: MapDataRecords["mvfConnectionsById"];
6742
6916
  mvfConnectionsByNodeId: MapDataRecords["mvfConnectionsByNodeId"];
6743
- mvfConnectionIdsByLatLon: MapDataRecords["mvfConnectionIdsByLatLon"];
6744
6917
  mvfEntrancesById: MapDataRecords["mvfEntrancesById"];
6745
6918
  mvfNodesById: MapDataRecords["mvfNodesById"];
6746
6919
  mvfObstructionById: MapDataRecords["mvfObstructionById"];
@@ -6756,7 +6929,6 @@ declare class MapDataInternal extends PubSub<{
6756
6929
  floorStacksByExternalId: MapDataRecords["floorStacksByExternalId"];
6757
6930
  doorsByExternalId: MapDataRecords["doorsByExternalId"];
6758
6931
  areasByExternalId: MapDataRecords["areasByExternalId"];
6759
- connectionSpaceIdsByLatLon: MapDataRecords["connectionIdsByLatLon"];
6760
6932
  locationProfilesByAttachedFeatureId: MapDataRecords["locationProfilesByAttachedFeatureId"];
6761
6933
  entranceNodeIdsBySpaceId?: MapDataRecords["entranceNodeIdsBySpaceId"];
6762
6934
  locationsById: EnterpriseMapDataRecords["locationsById"];
@@ -6955,6 +7127,13 @@ declare class MapDataInternal extends PubSub<{
6955
7127
  getDirections: (from: TNavigationTarget | TNavigationTarget[], to: TNavigationTarget | TNavigationTarget[], opt?: TGetDirectionsOptions) => Promise<Directions | undefined>;
6956
7128
  getDirectionsMultiDestination: (from: TNavigationTarget | TNavigationTarget[], to: TNavigationTarget | (TNavigationTarget | TNavigationTarget[])[], opt?: TGetDirectionsOptions) => Promise<Directions[] | undefined>;
6957
7129
  getDistance(from: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node$1 | EnterpriseLocation | Area, to: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node$1 | EnterpriseLocation | Area): number;
7130
+ /**
7131
+ * Gets the door associated with a node.
7132
+ *
7133
+ * @param nodeId The ID of the node to check
7134
+ * @returns The door object if the node is associated with a door, undefined otherwise
7135
+ */
7136
+ getDoorByNodeId: (nodeId: string) => Door | undefined;
6958
7137
  transformImageRequest: (url: string) => Promise<{
6959
7138
  url: string;
6960
7139
  }>;