mahal_map 1.7.3 → 2.0.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.
package/dist/index.d.mts CHANGED
@@ -19,21 +19,97 @@ interface IAdditionalParamType {
19
19
  limit?: number;
20
20
  }
21
21
 
22
+ /**
23
+ * Поверхность @grammaps/maps3d-web, описанная локально. Пакет в зависимости не ставится —
24
+ * он приходит снаружи, как и maplibre-gl, поэтому импортировать его типы нельзя. Здесь
25
+ * повторена публичная часть .d.ts версии 0.7.3; всё необязательное помечено `?`, чтобы
26
+ * более старая сборка на странице не ломала типы у потребителя.
27
+ */
28
+ type Maps3DThemeName = "light" | "dark" | "navigator-light" | "navigator-dark" | "mobile-light" | "mobile-dark";
29
+ /** Идентификатор слоя в реестре: buildings, objects, traffic, terrain, indoor, closures, parking, fuel, charging. */
30
+ type Maps3DLayerId = string;
31
+ /** Уровень детализации зданий. */
32
+ type Maps3DBuildingDetail = "footprint" | "volume" | "roofs" | "facade";
33
+ /**
34
+ * Снимок состояния слоя. Три поля независимы: слой может быть включён клиентом (`wanted`),
35
+ * но не нарисован — рельеф в режиме auto ждёт обзорного зума, перекрытия ждут своего
36
+ * тайлсета, планы этажей — данных по зданию.
37
+ */
38
+ interface IMaps3DLayerState {
39
+ id: Maps3DLayerId;
40
+ /** Чего хочет клиент: последний setLayer либо умолчание стиля. */
41
+ wanted: boolean;
42
+ /** Что позволяет стиль: объявлен ли слой и есть ли под него данные. */
43
+ available: boolean;
44
+ /** Что нарисовано прямо сейчас. Именно это поле показывает, включён слой на деле или нет. */
45
+ active: boolean;
46
+ /** Параметры слоя: у зданий — detail, у этажей — level, у рельефа — mode. */
47
+ params: Record<string, unknown>;
48
+ }
49
+ interface IMaps3DSelectionStyle {
50
+ color?: string | number;
51
+ opacity?: number;
52
+ glow?: number;
53
+ durationMs?: number;
54
+ easing?: "ease-out" | "linear";
55
+ }
56
+ interface IMaps3DRoadHit {
57
+ name: string;
58
+ nameRu?: string;
59
+ class?: string;
60
+ ref?: string;
61
+ props: Record<string, unknown>;
62
+ distancePx: number;
63
+ }
22
64
  interface IMaps3DTrafficOptions {
23
65
  raster?: boolean;
24
66
  rasterMaxZoom?: number;
25
67
  graph?: string;
68
+ tilesUrl?: string;
69
+ clicks?: boolean;
70
+ opacity?: number;
71
+ minZoom?: number;
72
+ refreshMs?: number;
73
+ arrows?: boolean;
74
+ maxTileZoom?: number;
75
+ }
76
+ interface IMaps3DIndoorOptions {
77
+ level?: number;
78
+ [key: string]: unknown;
79
+ }
80
+ interface IMaps3DClosuresOptions {
81
+ [key: string]: unknown;
82
+ }
83
+ interface IMaps3DPlacesOptions {
84
+ highlight?: boolean;
85
+ paid?: boolean;
86
+ free?: boolean;
87
+ unknown?: boolean;
88
+ [key: string]: unknown;
89
+ }
90
+ interface IMaps3DBuildingsOptions {
91
+ detail?: Maps3DBuildingDetail;
92
+ [key: string]: unknown;
26
93
  }
27
94
  interface IMaps3DLayerOptions {
28
95
  apiKey?: string | null;
29
96
  base?: string;
30
- buildings?: boolean | Record<string, unknown>;
97
+ /** Явный модуль maplibre-gl, если на странице несколько сборок. */
98
+ maplibre?: unknown;
99
+ endpoint?: string;
100
+ buildings?: boolean | IMaps3DBuildingsOptions;
31
101
  traffic?: boolean | IMaps3DTrafficOptions;
102
+ indoor?: boolean | IMaps3DIndoorOptions;
103
+ closures?: boolean | IMaps3DClosuresOptions;
104
+ places?: IMaps3DPlacesOptions;
32
105
  minZoom?: number;
33
106
  lodBias?: number;
34
107
  memoryBudget?: number;
35
108
  maskReplaced?: boolean;
36
109
  typeReplacements?: boolean;
110
+ modelsSource?: string;
111
+ modelsSourceLayer?: string;
112
+ modelsTilesUrl?: string;
37
113
  }
38
114
  interface IMaps3DBuildingsController {
39
115
  setWindows?(enabled: boolean): void;
@@ -51,6 +127,7 @@ interface IMaps3DBuildingsController {
51
127
  }
52
128
  interface IMaps3DBuildingClickInfo {
53
129
  id: string | number;
130
+ index?: number;
54
131
  height?: number;
55
132
  props?: Record<string, unknown>;
56
133
  [key: string]: unknown;
@@ -61,36 +138,94 @@ interface IMaps3DObjectsLightOptions {
61
138
  sky?: number;
62
139
  exposure?: number;
63
140
  }
141
+ interface IMaps3DDiagnostics {
142
+ terrainActive: boolean;
143
+ drapeRefreshes: number;
144
+ contextLost: boolean;
145
+ buildings: unknown;
146
+ }
64
147
  interface IMaps3DLayer {
65
148
  attach(map: Map): void | Promise<void>;
149
+ /** Есть у экземпляров из enhance(); у созданных конструктором готовность даёт сам attach(). */
150
+ readonly ready?: Promise<void>;
66
151
  destroy?(): void;
67
152
  remove?(): void;
153
+ setLayer?(id: Maps3DLayerId, on: boolean, params?: Record<string, unknown>): boolean;
154
+ layer?(id: Maps3DLayerId): IMaps3DLayerState | null;
155
+ layers?(): IMaps3DLayerState[];
156
+ onLayers?(callback: (state: IMaps3DLayerState) => void): () => void;
157
+ refreshLayers?(): void;
68
158
  buildings?: IMaps3DBuildingsController | null;
69
159
  setBuildingsEnabled?(enabled: boolean): void;
70
160
  onBuildingClick?(callback: (info: IMaps3DBuildingClickInfo | null) => void): void;
161
+ selectBuilding?(id: number | string | null, style?: IMaps3DSelectionStyle): boolean;
162
+ clearSelection?(): void;
163
+ selectedBuilding?(): number | string | null;
164
+ setSelectionStyle?(style: IMaps3DSelectionStyle): void;
165
+ onRoadClick?(callback: (hit: IMaps3DRoadHit | null) => void): void;
166
+ roadAt?(point: {
167
+ x: number;
168
+ y: number;
169
+ }, tolerancePx?: number): IMaps3DRoadHit | null;
170
+ readonly roadsNamed?: boolean;
71
171
  traffic?: boolean;
72
172
  trafficRaster?: boolean;
73
173
  setTraffic?(enabled: boolean): void;
74
174
  setTrafficOpacity?(opacity: number): void;
75
175
  setTrafficClicks?(enabled: boolean): void;
76
176
  setTrafficRaster?(enabled: boolean): void;
177
+ setTrafficGraph?(graph: string): void;
77
178
  refreshTraffic?(): void;
179
+ setIndoor?(enabled: boolean): void;
180
+ setIndoorLevel?(level: number): void;
181
+ readonly indoorLevels?: number[];
182
+ refreshIndoor?(): void;
183
+ showPlace?(lon: number, lat: number, level?: number | null, zoom?: number): void;
78
184
  setObjectsLight?(options: IMaps3DObjectsLightOptions): void;
79
185
  setMinZoom?(zoom: number): void;
80
186
  refresh?(): Promise<void>;
81
187
  clearCache?(): Promise<void>;
188
+ diagnostics?(): IMaps3DDiagnostics;
82
189
  }
83
190
  interface IMaps3DTransformRequestOptions {
84
- base: string;
191
+ base?: string;
85
192
  apiKey?: string | null;
86
193
  }
87
- type Maps3DTransformRequest = (options: IMaps3DTransformRequestOptions) => unknown;
194
+ interface IMaps3DMapOptionsInput extends IMaps3DTransformRequestOptions {
195
+ /** Имя темы платформы либо полный URL своего стиля. */
196
+ style?: string;
197
+ antialias?: boolean;
198
+ }
199
+ interface IMaps3DMapOptionsResult {
200
+ style: string;
201
+ transformRequest: (url: string) => {
202
+ url: string;
203
+ };
204
+ canvasContextAttributes?: {
205
+ antialias: boolean;
206
+ };
207
+ }
208
+ type Maps3DTransformRequest = (options: IMaps3DTransformRequestOptions) => (url: string) => {
209
+ url: string;
210
+ };
88
211
  type Maps3DCtor = (new (options: IMaps3DLayerOptions) => IMaps3DLayer) & {
89
212
  transformRequest: Maps3DTransformRequest;
213
+ /** Стиль + transformRequest + antialias одним объектом. Появился в 0.5.0. */
214
+ mapOptions?(options: IMaps3DMapOptionsInput): IMaps3DMapOptionsResult;
215
+ /** Адрес стиля по имени темы. Неизвестное имя — явная ошибка, а не тихий 404. */
216
+ styleUrl?(style?: string, base?: string): string;
217
+ /** Подключение к уже созданной карте; возвращает экземпляр с `ready`. */
218
+ enhance?(map: Map, options?: IMaps3DLayerOptions): IMaps3DLayer;
219
+ /** MapLibre с платформы вместе со своим воркером. */
220
+ maplibre?(options?: {
221
+ base?: string;
222
+ }): Promise<unknown>;
223
+ readonly maplibreVersion?: string;
90
224
  };
91
225
 
92
226
  interface IMahalMapOptions {
93
227
  container?: string | HTMLElement;
228
+ /** Полный URL своего стиля. Задан — SDK его не меняет, setStyle() становится no-op. */
94
229
  style?: string;
95
230
  theme?: Theme;
96
231
  lang?: MapLanguage;
@@ -98,20 +233,43 @@ interface IMahalMapOptions {
98
233
  zoom?: number;
99
234
  pitch?: number;
100
235
  bearing?: number;
101
- autoAddVectorSource?: boolean;
102
- /** "legacy" (default) — старый движок (mtile.gram.tj). "3d" — новый GramMaps движок (route.gram.tj) с поддержкой Maps3D. */
103
- engine?: MapEngine;
104
- /** Включает Maps3D слой (детальные 3D-здания). Работает только при engine: "3d". */
236
+ /** Подключает Maps3D (объём, объекты, пробки, рельеф, планы этажей). По умолчанию `true`. */
105
237
  enable3D?: boolean;
106
- /** Домен платформы GramMaps для engine: "3d". По умолчанию https://route.gram.tj */
238
+ /** Домен платформы MahalMaps. По умолчанию https://navi.gram.tj */
107
239
  base?: string;
108
- /** Имя пресета стиля GramMaps (напр. "standard-night") для engine: "3d". */
109
- preset?: string;
110
- /** Доп. опции Maps3D слоя (buildings, traffic, minZoom, lodBias, memoryBudget, ...). */
111
- maps3d?: Omit<IMaps3DLayerOptions, "apiKey" | "base" | "buildings">;
240
+ /**
241
+ * Семейство стилей платформы. `theme` выбирает внутри него светлую/тёмную:
242
+ * "default" light/dark, "navigator" navigator-light/navigator-dark,
243
+ * "mobile" mobile-light/mobile-dark.
244
+ */
245
+ family?: MapStyleFamily;
246
+ /**
247
+ * Явное имя темы платформы вместо пары `family` + `theme` (или полный URL стиля).
248
+ * Задано — стиль считается зафиксированным и setStyle() его не меняет.
249
+ */
250
+ preset?: Maps3DThemeName | string;
251
+ /**
252
+ * Сглаживание сцены. Без него тонкая геометрия 3D-объектов (перила, мачты, ряды сидений)
253
+ * на отдалении рассыпается в рябь. По умолчанию `true` при включённом 3D.
254
+ */
255
+ antialias?: boolean;
256
+ /** Опции Maps3D: buildings, traffic, indoor, closures, terrain, minZoom, lodBias, memoryBudget, ... */
257
+ maps3d?: Omit<IMaps3DLayerOptions, "apiKey" | "base">;
258
+ /**
259
+ * @deprecated Игнорируется с 2.0.0. Движок один — платформа MahalMaps через
260
+ * @grammaps/maps3d-web. Без переданного Maps3D карта поднимается на запасном стиле.
261
+ */
262
+ engine?: MapEngine;
263
+ /**
264
+ * @deprecated Игнорируется с 2.0.0. Запасной векторный стиль применяется сам,
265
+ * когда Maps3D не передан.
266
+ */
267
+ autoAddVectorSource?: boolean;
112
268
  }
113
269
  type Theme = "dark" | "light";
270
+ type MapStyleFamily = "default" | "navigator" | "mobile";
114
271
  type MapLanguage = "tj" | "ru";
272
+ /** @deprecated Оставлен, чтобы не ломать компиляцию у потребителей. Значение не используется. */
115
273
  type MapEngine = "legacy" | "3d";
116
274
 
117
275
  interface MahalMapDefaultMarkerProps {
@@ -235,9 +393,8 @@ declare class MahalMap {
235
393
  private options;
236
394
  private language;
237
395
  private instanceKey;
238
- private engine;
239
396
  private gramBase;
240
- private gramPreset;
397
+ private styleFamily;
241
398
  private presetIsExplicit;
242
399
  private maps3dCtor?;
243
400
  private maps3dLayer?;
@@ -247,14 +404,17 @@ declare class MahalMap {
247
404
  private static getInstanceKey;
248
405
  private static normalizeLanguage;
249
406
  static setDefaultLanguage(lang?: string | null): void;
250
- private static getDefaultStyle;
251
- private static getVectorStyle;
407
+ /**
408
+ * Запасной стиль: Maps3D не передан — стилей платформы взять неоткуда, поднимаем карту
409
+ * на старом векторном стиле mtile.gram.tj с подписью ?token=. 3D при этом не работает.
410
+ */
411
+ private static getFallbackStyle;
252
412
  private static getMapToken;
253
413
  private static getMaps3DCtor;
254
414
  /**
255
- * Проверяет подписку JSApi перед созданием карты. Нужна только для legacy-движка
256
- * (mtile.gram.tj): у engine: "3d" (GramMaps, navi.gram.tj) доступ контролирует сама
257
- * платформа по ?key=, отдельная проверка там не применяется и пропускается.
415
+ * Проверяет подписку JSApi перед созданием карты. Нужна только на запасном стиле
416
+ * (mtile.gram.tj, когда Maps3D не передан): у платформы MahalMaps доступ контролирует
417
+ * она сама по ?key=, отдельная проверка там не применяется и пропускается.
258
418
  *
259
419
  * Fail-open: блокирует создание карты только при явном ответе сервиса success:false.
260
420
  * Сетевая ошибка (сервис недоступен, CORS, таймаут) карту не роняет — иначе падение
@@ -262,11 +422,25 @@ declare class MahalMap {
262
422
  */
263
423
  private static ensureJSApiSubscription;
264
424
  /**
265
- * Асинхронный аналог create(): для engine: "legacy" сначала дожидается проверки подписки
266
- * JSApi и, если её нет, не создаёт карту вообще (MapLibre-инстанс не строится).
267
- * Для engine: "3d" — тот же create() без проверки.
425
+ * Асинхронный аналог create(): на запасном стиле (Maps3D не передан) сначала дожидается
426
+ * проверки подписки JSApi и, если её нет, не создаёт карту вообще (MapLibre-инстанс не
427
+ * строится). С Maps3D — тот же create() без проверки.
268
428
  */
269
429
  static createAsync(options: IMahalMapOptions, maplibreObject?: MapLibreApi, maps3dCtor?: Maps3DCtor): Promise<MahalMap>;
430
+ /**
431
+ * Имя темы платформы или полный URL стиля. Явный `style`/`preset` побеждает пару
432
+ * `family` + `theme`: оба считаются фиксацией стиля, и setStyle() их не трогает.
433
+ */
434
+ private static resolveStyleName;
435
+ /**
436
+ * Стиль + transformRequest + antialias от самого SDK. mapOptions() — документированная
437
+ * дверь (есть с 0.5.0); у сборок постарше собираем то же из styleUrl/transformRequest.
438
+ *
439
+ * Неизвестное имя темы SDK считает явной ошибкой (а не тихим 404) — переупаковываем её,
440
+ * чтобы в консоли было видно, что имя пришло из опций MahalMap.
441
+ */
442
+ private static buildPlatformMapOptions;
443
+ private static requireAbsoluteStyle;
270
444
  static create(options: IMahalMapOptions, maplibreObject?: MapLibreApi, maps3dCtor?: Maps3DCtor): MahalMap;
271
445
  static onReady(container: string, callback: (map: Map) => void): void;
272
446
  static getInstance(container: string): MahalMap;
@@ -279,6 +453,21 @@ declare class MahalMap {
279
453
  static getMaps3DLayer(instance: MahalMap): IMaps3DLayer | undefined;
280
454
  static whenMaps3DReady(instance: MahalMap): Promise<IMaps3DLayer | undefined>;
281
455
  static toggle3DBuildings(instance: MahalMap, enabled: boolean): void;
456
+ static setLayer(instance: MahalMap, id: Maps3DLayerId, on: boolean, params?: Record<string, unknown>): boolean;
457
+ static getLayerState(instance: MahalMap, id: Maps3DLayerId): IMaps3DLayerState | null;
458
+ static getLayers(instance: MahalMap): IMaps3DLayerState[];
459
+ static onLayers(instance: MahalMap, callback: (state: IMaps3DLayerState) => void): () => void;
460
+ static refreshLayers(instance: MahalMap): void;
461
+ static onBuildingClick(instance: MahalMap, callback: (info: IMaps3DBuildingClickInfo | null) => void): void;
462
+ static selectBuilding(instance: MahalMap, id: number | string | null, style?: IMaps3DSelectionStyle): boolean;
463
+ static clearSelection(instance: MahalMap): void;
464
+ static selectedBuilding(instance: MahalMap): string | number | null;
465
+ static setSelectionStyle(instance: MahalMap, style: IMaps3DSelectionStyle): void;
466
+ static onRoadClick(instance: MahalMap, callback: (hit: IMaps3DRoadHit | null) => void): void;
467
+ static roadAt(instance: MahalMap, point: {
468
+ x: number;
469
+ y: number;
470
+ }, tolerancePx?: number): IMaps3DRoadHit | null;
282
471
  static setLanguage(instance: MahalMap, lang: MapLanguage): void;
283
472
  static setCenter(instance: MahalMap, center: [number, number]): void;
284
473
  static setZoom(instance: MahalMap, zoom: number): void;
@@ -287,17 +476,61 @@ declare class MahalMap {
287
476
  init(map: Map): void;
288
477
  getCamera(): CameraController;
289
478
  getMap(): Map;
479
+ /**
480
+ * Светлая/тёмная внутри выбранного семейства (`family`). Стиль, зафиксированный явным
481
+ * `style`/`preset`, не трогаем: его содержимое знает только тот, кто его задал.
482
+ * Без Maps3D менять нечего — карта на запасном стиле, у него варианта по теме нет.
483
+ */
290
484
  setStyle(theme: Theme): void;
485
+ private refreshLayersOnStyleLoad;
486
+ /**
487
+ * Язык подписей приходит из стиля платформы, отдельных URL по языкам больше нет —
488
+ * метод только запоминает выбор для остальных сервисов SDK (поиск, роутинг).
489
+ */
291
490
  setLanguage(lang: MapLanguage): void;
292
491
  getMaps3DLayer(): IMaps3DLayer | undefined;
293
- /** Вкл/выкл детальные 3D-здания (Maps3D). Работает только для engine: "3d". */
492
+ /**
493
+ * Вкл/выкл объёмные здания. Штатные здания стиля прячет и возвращает сам Maps3D —
494
+ * руками их видимость мы больше не трогаем, иначе две стороны спорят за один слой.
495
+ */
294
496
  toggle3DBuildings(enabled: boolean): void;
295
497
  /**
296
- * Промис готовности слоя Maps3D: резолвится после attach(), когда доступен layer.buildings.
297
- * Нужен для тонкой настройки окон/света до attach контроллера зданий ещё нет.
298
- * Резолвится в undefined, если движок не "3d", слой выключен или attach упал.
498
+ * Промис готовности слоя Maps3D. У экземпляров из enhance() это его собственный `ready`,
499
+ * у созданных конструкторомзавершение attach(). До него layer.buildings ещё нет.
500
+ * Резолвится в undefined, если слой выключен, Maps3D не передан или подключение упало.
299
501
  */
300
502
  whenMaps3DReady(): Promise<IMaps3DLayer | undefined>;
503
+ /** Включить/выключить слой. `false` — такого слоя в подключённой сборке Maps3D нет. */
504
+ setLayer(id: Maps3DLayerId, on: boolean, params?: Record<string, unknown>): boolean;
505
+ /** Состояние слоя: wanted (воля клиента), available (позволяет стиль), active (нарисовано). */
506
+ getLayerState(id: Maps3DLayerId): IMaps3DLayerState | null;
507
+ /** Снимок всех слоёв — по нему приложение рисует свою панель. */
508
+ getLayers(): IMaps3DLayerState[];
509
+ /** Подписка на изменения слоёв. Возвращает отписку (no-op, если слоя нет). */
510
+ onLayers(callback: (state: IMaps3DLayerState) => void): () => void;
511
+ /** Пере-применить волю клиента ко всем слоям — после полной смены стиля. */
512
+ refreshLayers(): void;
513
+ /** Клик по зданию: { id, height, props } либо null. Повторный вызов заменяет обработчик. */
514
+ onBuildingClick(callback: (info: IMaps3DBuildingClickInfo | null) => void): void;
515
+ /** Выделить здание по osm_id. `false` — здания сейчас нет в загруженных данных. */
516
+ selectBuilding(id: number | string | null, style?: IMaps3DSelectionStyle): boolean;
517
+ clearSelection(): void;
518
+ selectedBuilding(): number | string | null;
519
+ setSelectionStyle(style: IMaps3DSelectionStyle): void;
520
+ /** Клик по дороге. Приходит независимо от клика по зданию — приоритет решает приложение. */
521
+ onRoadClick(callback: (hit: IMaps3DRoadHit | null) => void): void;
522
+ /** Дорога под точкой холста. Допуск по умолчанию — 12 px. */
523
+ roadAt(point: {
524
+ x: number;
525
+ y: number;
526
+ }, tolerancePx?: number): IMaps3DRoadHit | null;
527
+ /** Есть ли в текущем стиле названия дорог. Нет — roadAt() всегда вернёт null. */
528
+ get roadsNamed(): boolean;
529
+ /**
530
+ * Создаёт слой Maps3D. `buildings` не форсируем в `true`: с 0.7.x видимостью объёма
531
+ * заведует реестр слоёв, а опции облика зданий приходят из options.maps3d как есть.
532
+ */
533
+ private createMaps3DLayer;
301
534
  private attachMaps3DLayer;
302
535
  /**
303
536
  * Освобождает слой Maps3D одним доступным методом (destroy(), иначе remove()) и ровно один
@@ -306,17 +539,12 @@ declare class MahalMap {
306
539
  * вызов teardown попал бы на уже освобождённый объект.
307
540
  */
308
541
  private static teardownMaps3DLayer;
309
- private applyMaps3DBuildingMode;
310
542
  /**
311
- * Прячет/показывает нативный слой зданий GramMaps-пресетов ("building-3d"), не задевая слои
312
- * самого Maps3D. Нужно, иначе плоский слой стиля рисуется поверх процедурных 3D-зданий и
313
- * визуально их перекрывает.
314
- *
315
- * Только для встроенных пресетов (buildGramStyleUrl) — при пользовательском `options.style`
316
- * мы не знаем структуру стиля, гасить слои по имени/source-layer небезопасно (можно случайно
317
- * погасить чужую fill-extrusion, никак не связанную со зданиями GramMaps).
543
+ * Приводит объём зданий к желаемому состоянию. Реестр слоёв (0.7.x) основная дверь:
544
+ * он же прячет и возвращает штатные здания стиля. setBuildingsEnabled путь для
545
+ * сборок Maps3D постарше, где реестра ещё нет.
318
546
  */
319
- private setNativeBuildingsVisible;
547
+ private applyMaps3DBuildingMode;
320
548
  setCenter(center: [number, number]): void;
321
549
  setZoom(zoom: number): void;
322
550
  destroy(): void;
@@ -593,4 +821,4 @@ declare namespace index {
593
821
  export { index_checkCoordinates as checkCoordinates, index_debounce as debounce, index_geojsonPolyline as geojsonPolyline, index_geometryPolyline as geometryPolyline, index_trimValue as trimValue };
594
822
  }
595
823
 
596
- export { CheckJSApi, type IAdditionalParamType, type ICheckJSApiParam, type ICheckJSApiResponse, type IMahalMapOptions, type IMapMarker, type IMaps3DBuildingClickInfo, type IMaps3DBuildingsController, type IMaps3DLayer, type IMaps3DLayerOptions, type IMaps3DObjectsLightOptions, type IMaps3DTrafficOptions, type IResponse, type IRoute, type ISearchByLocationParam, type ISearchParam, type ISearchResponse, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, type MapEngine, type MapLanguage, type Maps3DCtor, type Maps3DTransformRequest, type MeasureIcons, type MeasureLabels, type MeasureMode, type MeasurePoint, type MeasureShape, type MeasureState, type MeasureStyleOptions, MeasureTool, type MeasureToolOptions, Router, Search, SearchByLocation, SearchPoi, type Theme, index$2 as keyUtils, index$1 as measureUtils, index as utils };
824
+ export { CheckJSApi, type IAdditionalParamType, type ICheckJSApiParam, type ICheckJSApiResponse, type IMahalMapOptions, type IMapMarker, type IMaps3DBuildingClickInfo, type IMaps3DBuildingsController, type IMaps3DBuildingsOptions, type IMaps3DClosuresOptions, type IMaps3DDiagnostics, type IMaps3DIndoorOptions, type IMaps3DLayer, type IMaps3DLayerOptions, type IMaps3DLayerState, type IMaps3DMapOptionsInput, type IMaps3DMapOptionsResult, type IMaps3DObjectsLightOptions, type IMaps3DPlacesOptions, type IMaps3DRoadHit, type IMaps3DSelectionStyle, type IMaps3DTrafficOptions, type IMaps3DTransformRequestOptions, type IResponse, type IRoute, type ISearchByLocationParam, type ISearchParam, type ISearchResponse, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, type MapEngine, type MapLanguage, type MapStyleFamily, type Maps3DBuildingDetail, type Maps3DCtor, type Maps3DLayerId, type Maps3DThemeName, type Maps3DTransformRequest, type MeasureIcons, type MeasureLabels, type MeasureMode, type MeasurePoint, type MeasureShape, type MeasureState, type MeasureStyleOptions, MeasureTool, type MeasureToolOptions, Router, Search, SearchByLocation, SearchPoi, type Theme, index$2 as keyUtils, index$1 as measureUtils, index as utils };