@seatmap.pro/renderer 1.47.0 → 1.53.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/lib/index.d.ts CHANGED
@@ -368,6 +368,12 @@ interface IRendererMachineContext {
368
368
  id: number;
369
369
  };
370
370
  visibility?: IVisibilityStatuses;
371
+ enable3DView?: boolean;
372
+ rotationZ?: number;
373
+ perspectiveZ?: number;
374
+ tiltX?: number;
375
+ getWidth?: () => number;
376
+ getHeight?: () => number;
371
377
  }
372
378
  /**
373
379
  * @hidden
@@ -629,6 +635,10 @@ declare class Context {
629
635
  translate: IPoint;
630
636
  isEagleView: boolean;
631
637
  visibility: IVisibilityStatuses;
638
+ enable3DView: boolean;
639
+ rotationZ: number;
640
+ perspectiveZ: number;
641
+ tiltX: number;
632
642
  private _seats;
633
643
  seatsIndex: KDBush;
634
644
  seatsById: ById<ISeat>;
@@ -640,6 +650,15 @@ declare class Context {
640
650
  pricesById: ById<IColoredPrice>;
641
651
  seatsKeysMissedOnPriceSet: string[];
642
652
  seatsIdsMissedOnPriceSet: number[];
653
+ rowsPolylines?: Array<{
654
+ points: {
655
+ x: number;
656
+ y: number;
657
+ }[];
658
+ widthPx?: number;
659
+ color?: string;
660
+ }>;
661
+ rowsPolylinesVersion: number;
643
662
  /**
644
663
  * @hidden
645
664
  */
@@ -661,6 +680,12 @@ declare class Context {
661
680
  hoveredSeat?: ISeat;
662
681
  hoveredRow?: IRowDTO;
663
682
  gaInfo: IGaInfo[];
683
+ _selectedAt: {
684
+ [seatId: number]: number;
685
+ };
686
+ _deselectedAt: {
687
+ [seatId: number]: number;
688
+ };
664
689
  constructor(element: HTMLElement, settings: IRendererSettings, redrawHandler: () => void);
665
690
  set selectedSeatIds(value: number[]);
666
691
  get selectedSeatIds(): number[];
@@ -684,6 +709,18 @@ declare class Context {
684
709
  getOffsetByPosition: (position: IPoint) => IPoint;
685
710
  addGaToCart(ga: ICartGa): void;
686
711
  removeGaFromCart(removedGa: IRemovedCartGa): void;
712
+ /**
713
+ * Clears the cart and records deselection timestamps for all seats.
714
+ */
715
+ clearCart(): void;
716
+ /**
717
+ * Removes seats from the cart by internal seat IDs and records deselection times.
718
+ */
719
+ removeSeatsFromCartByIds(ids: number[]): void;
720
+ /**
721
+ * Triggers a selection pulse animation for a seat and clears any pending deselection.
722
+ */
723
+ triggerSeatSelectionPulse(seatId: number): void;
687
724
  addSeatsToCart(seats: ICartSeat[]): void;
688
725
  rectSelectSeats(rect: {
689
726
  x: number;
@@ -716,6 +753,14 @@ declare class Context {
716
753
  seatToExtendedSeat: (seat: ISeat) => IExtendedSeat;
717
754
  calculateAbsolutePoint(point: IPoint): IPoint;
718
755
  getSeatByOffset: (offset: IPoint) => ISeat | undefined;
756
+ /**
757
+ * Hit-test a seat using a viewport-relative point (CSS px) while accounting for 3D view.
758
+ * When 3D is enabled, the point is unprojected back to the stage before querying KDBush.
759
+ */
760
+ getSeatByViewportPoint: (viewportPoint: IPoint, viewportSize: {
761
+ width: number;
762
+ height: number;
763
+ }) => ISeat | undefined;
719
764
  }
720
765
 
721
766
  type Nullable<T> = T | null | undefined;
@@ -1036,6 +1081,72 @@ interface IVisibilitySettings {
1036
1081
  seats?: IVisibleSetting;
1037
1082
  outlines?: IVisibleSetting;
1038
1083
  }
1084
+ /**
1085
+ * Minimap position options.
1086
+ */
1087
+ type MinimapPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
1088
+ /**
1089
+ * Minimap configuration settings.
1090
+ */
1091
+ interface IMinimapSettings {
1092
+ /**
1093
+ * Whether the minimap is enabled.
1094
+ */
1095
+ enabled: boolean;
1096
+ /**
1097
+ * Position of the minimap on the screen.
1098
+ * @default 'bottom-right'
1099
+ */
1100
+ position?: MinimapPosition;
1101
+ /**
1102
+ * Width of the minimap in pixels. Height is calculated automatically based on aspect ratio.
1103
+ * @default 200
1104
+ */
1105
+ width?: number;
1106
+ /**
1107
+ * Opacity of the minimap.
1108
+ * @default 0.8
1109
+ */
1110
+ opacity?: number;
1111
+ /**
1112
+ * Background color of the minimap.
1113
+ */
1114
+ backgroundColor?: string;
1115
+ /**
1116
+ * Border color of the minimap.
1117
+ */
1118
+ borderColor?: string;
1119
+ /**
1120
+ * Color of the viewport indicator rectangle.
1121
+ * @default '#FF5722'
1122
+ */
1123
+ viewportColor?: string;
1124
+ /**
1125
+ * Border width in pixels.
1126
+ * @default 2
1127
+ */
1128
+ borderWidth?: number;
1129
+ /**
1130
+ * Margin from the edge of the screen in pixels.
1131
+ * @default 16
1132
+ */
1133
+ margin?: number;
1134
+ /**
1135
+ * Color of the dim overlay outside the viewport on the minimap.
1136
+ * @default '#000000'
1137
+ */
1138
+ offscreenColor?: string;
1139
+ /**
1140
+ * Opacity of the dim overlay outside the viewport on the minimap (0..1).
1141
+ * @default 0.4
1142
+ */
1143
+ offscreenOpacity?: number;
1144
+ /**
1145
+ * Show cart pins on the minimap.
1146
+ * @default true
1147
+ */
1148
+ showCartPins?: boolean;
1149
+ }
1039
1150
  /**
1040
1151
  * Configuration settings for the renderer.
1041
1152
  * Defines various options that control the behavior and appearance of the renderer.
@@ -1134,6 +1245,22 @@ interface IRendererSettings {
1134
1245
  * If true, uses WebGL for rendering instead of Canvas.
1135
1246
  */
1136
1247
  switchToWebGL?: boolean;
1248
+ /**
1249
+ * If true, shows the debug overlay layer (diagnostic lines from sections to venue center).
1250
+ */
1251
+ showDebugLayer?: boolean;
1252
+ /**
1253
+ * If true, enables 3D view mode for enhanced visualization.
1254
+ */
1255
+ enable3DView?: boolean;
1256
+ /**
1257
+ * If true, highlights all section outlines with a border.
1258
+ */
1259
+ highlightAllOutlines?: boolean;
1260
+ /**
1261
+ * Minimap configuration settings.
1262
+ */
1263
+ minimap?: IMinimapSettings;
1137
1264
  /**
1138
1265
  * Option to configure zoom settings
1139
1266
  */
@@ -1388,6 +1515,7 @@ declare class OutlineLayer {
1388
1515
  private outlineShapes;
1389
1516
  private outlineRect;
1390
1517
  private context;
1518
+ private rowsOverlayElement?;
1391
1519
  private originalSvg;
1392
1520
  private backgroundSVG;
1393
1521
  private hasBackgroundOutline;
@@ -1399,6 +1527,7 @@ declare class OutlineLayer {
1399
1527
  highlightGa(id: number | undefined): void;
1400
1528
  clearSectionHighlight(): void;
1401
1529
  highlightSection(id: number | undefined): void;
1530
+ highlightAllSections(): void;
1402
1531
  clearSectionFocus(): void;
1403
1532
  focusSection(id: number | undefined): void;
1404
1533
  private removeClassNameAll;
@@ -1446,8 +1575,78 @@ declare class OutlineLayer {
1446
1575
  hide(): void;
1447
1576
  show(): void;
1448
1577
  private getContextSvg;
1578
+ /**
1579
+ * Force update the outline layer with current 3D transforms
1580
+ * Similar to forceRedraw in WebGL layer
1581
+ */
1582
+ forceUpdate(): void;
1583
+ /**
1584
+ * Applies 3D transforms to the SVG outline layer
1585
+ * Implements the same rotation logic as the WebGL shaders
1586
+ */
1587
+ private apply3DTransforms;
1588
+ /**
1589
+ * Appends rows overlay (SVG fragment) into the outline SVG container.
1590
+ * If an overlay already exists, it will be replaced.
1591
+ */
1592
+ appendRowsOverlay(rowsFragment: string, css?: string): void;
1449
1593
  }
1450
1594
 
1595
+ /**
1596
+ * @hidden
1597
+ */
1598
+ interface IRendererAnimation {
1599
+ /**
1600
+ * Optional animation type hint to allow branching behavior in the renderer
1601
+ * - "transform": default zoom/pan animations using scale/translate
1602
+ * - "pan": dedicated pan animation using translate only
1603
+ * - "rotation": continuous 3D rotation animation
1604
+ */
1605
+ type?: 'transform' | 'pan' | 'rotation';
1606
+ startTime?: number;
1607
+ duration: number;
1608
+ fromScale: number;
1609
+ toScale: number;
1610
+ fromTranslate?: IPoint;
1611
+ translate?: IPoint;
1612
+ toTranslate: IPoint;
1613
+ relativeTranslate?: IPoint;
1614
+ frame: number;
1615
+ inProgress: boolean;
1616
+ /**
1617
+ * Custom per-frame handler used for non-transform animations (e.g., rotation)
1618
+ * Receives high-resolution time and elapsed milliseconds since start
1619
+ */
1620
+ onFrame?: (now: number, elapsedMs: number) => void;
1621
+ /**
1622
+ * When true, the animation never auto-finishes and must be explicitly stopped
1623
+ */
1624
+ isContinuous?: boolean;
1625
+ /**
1626
+ * Rotation-specific fields used when type === 'rotation'
1627
+ */
1628
+ angle?: number;
1629
+ lastRotationZ?: number;
1630
+ /**
1631
+ * 3D transform interpolation fields for combined animations
1632
+ */
1633
+ fromRotationZ?: number;
1634
+ toRotationZ?: number;
1635
+ fromTiltX?: number;
1636
+ toTiltX?: number;
1637
+ fromPerspectiveZ?: number;
1638
+ toPerspectiveZ?: number;
1639
+ /** Called once when the animation finishes */
1640
+ onComplete?: () => void;
1641
+ }
1642
+ interface IRendererSequenceStep {
1643
+ zoomTo?: number;
1644
+ destination?: IPoint;
1645
+ rotateTo?: number;
1646
+ tiltTo?: number;
1647
+ perspectiveTo?: number;
1648
+ durationMs?: number;
1649
+ }
1451
1650
  /**
1452
1651
  * Interface for the base Renderer functionality.
1453
1652
  * Defines the core methods and properties that all renderer implementations must provide.
@@ -1582,6 +1781,12 @@ interface IRenderer {
1582
1781
  * Destroys the renderer instance, cleaning up all resources.
1583
1782
  */
1584
1783
  destroy: () => void;
1784
+ /**
1785
+ * Gets the renderer version.
1786
+ *
1787
+ * @returns The version string
1788
+ */
1789
+ getVersion: () => string;
1585
1790
  /**
1586
1791
  * Disables SVG sections by their IDs.
1587
1792
  *
@@ -1620,21 +1825,50 @@ interface IRenderer {
1620
1825
  * @returns The selected SVG sections
1621
1826
  */
1622
1827
  getSvgSectionBySelection: () => ISectorDTO[];
1828
+ /**
1829
+ * Sets whether all section outlines should be highlighted.
1830
+ *
1831
+ * @param highlight - If true, all section outlines will be highlighted with a border
1832
+ */
1833
+ setHighlightAllOutlines: (highlight: boolean) => void;
1834
+ /**
1835
+ * Gets whether all section outlines are currently highlighted.
1836
+ *
1837
+ * @returns True if all outlines are highlighted, false otherwise
1838
+ */
1839
+ getHighlightAllOutlines: () => boolean;
1840
+ /**
1841
+ * Shows the minimap.
1842
+ */
1843
+ showMinimap?: () => void;
1844
+ /**
1845
+ * Hides the minimap.
1846
+ */
1847
+ hideMinimap?: () => void;
1848
+ /**
1849
+ * Toggles the minimap visibility.
1850
+ */
1851
+ toggleMinimap?: () => void;
1852
+ /**
1853
+ * Sets the minimap position.
1854
+ *
1855
+ * @param position - The position to set ('top-left', 'top-right', 'bottom-left', 'bottom-right')
1856
+ */
1857
+ setMinimapPosition?: (position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right') => void;
1623
1858
  }
1624
- /**
1625
- * @hidden
1626
- */
1627
- interface IRendererAnimation {
1628
- startTime?: number;
1629
- duration: number;
1630
- fromScale: number;
1631
- toScale: number;
1632
- fromTranslate?: IPoint;
1633
- translate?: IPoint;
1634
- toTranslate: IPoint;
1635
- relativeTranslate?: IPoint;
1636
- frame: number;
1637
- inProgress: boolean;
1859
+ interface IRenderer {
1860
+ /**
1861
+ * Runs a sequence of composite animations. Each step can include zoom, pan (via destination), and rotation.
1862
+ */
1863
+ animateSequence: (steps: IRendererSequenceStep[]) => Promise<void>;
1864
+ /**
1865
+ * Convenience method to zoom with optional destination center point.
1866
+ * If destination is provided, it focuses the view so that destination becomes the viewport center.
1867
+ */
1868
+ zoomTo: (newScale: number, options?: {
1869
+ destination?: IPoint;
1870
+ durationMs?: number;
1871
+ }) => void;
1638
1872
  }
1639
1873
 
1640
1874
  /**
@@ -1651,16 +1885,20 @@ declare class Renderer implements IRenderer {
1651
1885
  private stageLayer;
1652
1886
  private selectionLayer;
1653
1887
  protected outlineLayer: OutlineLayer;
1888
+ private minimapLayer?;
1654
1889
  private service;
1655
1890
  private zoomToFitScale;
1656
1891
  private isTouchMode;
1657
1892
  private pinchStartPoint?;
1658
- private animation?;
1659
1893
  private resizeTimer;
1660
1894
  protected isRunning: boolean;
1661
1895
  private disableZoomToEmptySpace;
1662
1896
  private switchToWebGL;
1663
1897
  private originalSectionPrices;
1898
+ private transformAnimator;
1899
+ private rotationAnimation;
1900
+ private refreshMinimap;
1901
+ private setMinimapFromSnapshot;
1664
1902
  /**
1665
1903
  * Creates a new instance of the Renderer.
1666
1904
  *
@@ -1686,6 +1924,12 @@ declare class Renderer implements IRenderer {
1686
1924
  * @returns The height in pixels
1687
1925
  */
1688
1926
  getHeight(): number;
1927
+ /**
1928
+ * Gets the renderer version.
1929
+ *
1930
+ * @returns The version string
1931
+ */
1932
+ getVersion(): string;
1689
1933
  /**
1690
1934
  * Sets the interaction mode for the renderer.
1691
1935
  *
@@ -2012,6 +2256,10 @@ declare class Renderer implements IRenderer {
2012
2256
  * Returns sections info
2013
2257
  */
2014
2258
  getSections(): ISector[];
2259
+ /**
2260
+ * Returns sections ids
2261
+ */
2262
+ getSectionsKeys(): string[];
2015
2263
  /**
2016
2264
  *
2017
2265
  * @returns Rows data array
@@ -2051,6 +2299,7 @@ declare class Renderer implements IRenderer {
2051
2299
  private handleDestSectionMouseLeave;
2052
2300
  private handleMouseMove;
2053
2301
  private handleMouseMoveOutside;
2302
+ private handleMouseLeave;
2054
2303
  private handleWindowResize;
2055
2304
  private updateSize;
2056
2305
  /**
@@ -2059,21 +2308,32 @@ declare class Renderer implements IRenderer {
2059
2308
  getZoom(): number;
2060
2309
  zoomIn(): void;
2061
2310
  zoomOut(): void;
2311
+ /**
2312
+ * Zooms to the specified scale with optional destination center point in background coordinates.
2313
+ * If destination is provided, the view will be centered on that point at the end of the animation.
2314
+ */
2315
+ zoomTo(newScaleCss: number, options?: {
2316
+ destination?: IPoint;
2317
+ durationMs?: number;
2318
+ }): void;
2062
2319
  zoomToFit(): void;
2063
2320
  clearSectorHighlight(): void;
2064
2321
  highlightSector(id: number | undefined): void;
2065
2322
  private startPanAnimation;
2066
- private animationPanStep;
2067
2323
  zoomToSection(section: string | number, options?: {
2068
2324
  focus?: boolean;
2069
2325
  }): void;
2070
2326
  zoomToDestination(newScale: number, destination: IPoint, duration?: number): void;
2327
+ /**
2328
+ * Runs a sequence of composite animations. Each step can include zoom, pan (via destination), and rotation.
2329
+ */
2330
+ animateSequence(steps: IRendererSequenceStep[]): Promise<void>;
2071
2331
  private getSectionId;
2072
2332
  private startAnimation;
2073
- private animationStep;
2074
2333
  private cachedDraw;
2075
2334
  private redraw;
2076
2335
  private doTranslate;
2336
+ private transformPanDeltaFor3D;
2077
2337
  private calculateLimitedTranslate;
2078
2338
  private calculateLimit;
2079
2339
  seatToExtendedSeat: (seat: ISeat) => IExtendedSeat;
@@ -2101,6 +2361,85 @@ declare class Renderer implements IRenderer {
2101
2361
  getMaxZoom(): number;
2102
2362
  viewSection(section: ISection): void;
2103
2363
  private getStageLayer;
2364
+ /**
2365
+ * Updates 3D view parameters for dynamic perspective changes.
2366
+ * Only works when enable3DView is true and WebGL is enabled.
2367
+ */
2368
+ update3DView(options: {
2369
+ rotationZ?: number;
2370
+ perspectiveZ?: number;
2371
+ tiltX?: number;
2372
+ }): void;
2373
+ /**
2374
+ * Gets current 3D view parameters
2375
+ */
2376
+ get3DViewParams(): {
2377
+ enable3DView: boolean;
2378
+ rotationZ: number;
2379
+ perspectiveZ: number;
2380
+ tiltX: number;
2381
+ };
2382
+ /**
2383
+ * Smoothly animates current 3D parameters to the given target values.
2384
+ * Returns a Promise that resolves when the transition completes.
2385
+ */
2386
+ animateTo3DParams(target: {
2387
+ rotationZ?: number;
2388
+ perspectiveZ?: number;
2389
+ tiltX?: number;
2390
+ }, durationMs?: number): Promise<void>;
2391
+ /**
2392
+ * Animates continuous rotation of the 3D view
2393
+ * @param angle - Rotation speed in radians per second (positive for clockwise, negative for counter-clockwise)
2394
+ * @returns Animation ID that can be used to stop the animation
2395
+ */
2396
+ animateRotation(angle: number): number | null;
2397
+ /**
2398
+ * Stops the current rotation animation
2399
+ */
2400
+ stopRotationAnimation(): void;
2401
+ /**
2402
+ * Checks if a rotation animation is currently running
2403
+ */
2404
+ isRotationAnimationRunning(): boolean;
2405
+ /**
2406
+ * Gets the current rotation animation ID
2407
+ */
2408
+ getRotationAnimationId(): number | null;
2409
+ /**
2410
+ * Sets whether all section outlines should be highlighted.
2411
+ *
2412
+ * @param highlight - If true, all section outlines will be highlighted with a border
2413
+ */
2414
+ setHighlightAllOutlines(highlight: boolean): void;
2415
+ /**
2416
+ * Gets whether all section outlines are currently highlighted.
2417
+ *
2418
+ * @returns True if all outlines are highlighted, false otherwise
2419
+ */
2420
+ getHighlightAllOutlines(): boolean;
2421
+ /**
2422
+ * Shows the minimap.
2423
+ */
2424
+ showMinimap(): void;
2425
+ /**
2426
+ * Hides the minimap.
2427
+ */
2428
+ hideMinimap(): void;
2429
+ /**
2430
+ * Toggles the minimap visibility.
2431
+ */
2432
+ toggleMinimap(): void;
2433
+ /**
2434
+ * Enables or disables cart pins on the minimap at runtime.
2435
+ */
2436
+ setMinimapPinsEnabled(enabled: boolean): void;
2437
+ /**
2438
+ * Sets the minimap position.
2439
+ *
2440
+ * @param position - The position to set ('top-left', 'top-right', 'bottom-left', 'bottom-right')
2441
+ */
2442
+ setMinimapPosition(position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'): void;
2104
2443
  }
2105
2444
 
2106
2445
  interface IAdminRendererSettings extends IRendererSettings {
@@ -2353,7 +2692,51 @@ declare class SeatmapBookingRenderer extends Renderer {
2353
2692
  private leaveSectionOnly;
2354
2693
  }
2355
2694
 
2695
+ /**
2696
+ * Package version information
2697
+ * This file is automatically updated during the build process
2698
+ */
2699
+ declare const VERSION = "1.53.0";
2700
+
2356
2701
  declare const defaultZoomSettings: IZoomSettings;
2357
2702
  declare const mergeSettings: (defaults: IRendererSettings, settings?: Partial<IRendererSettings>) => IRendererSettings & Partial<IRendererSettings>;
2358
2703
 
2359
- export { BookingApiClient, type ById, type ColorById, type ColorSequenceSettings, type DeepPartial, type DestEvent, DestEventType, type IAdminRendererSettings, type IBaseSeat, type IBaseSector, type IBasicSeatStyle, type IBeforeSeatDrawEvent, type IBookingRendererSettings, type ICart, type ICartGa, type ICartSeat, type IClickSrcEvent, type IColoredPrice, type IConfigurationDTO, type IDeselectDestEvent, type IDragEndSrcEvent, type IDragMoveSrcEvent, type IDragStartSrcEvent, type IExtendedSeat, type IMouseMoveSrcEvent, type IPanDestEvent, type IPanZoomDestEvent, type IPlainSeatsDTO, type IPngBackgroundDTO, type IPoint, type IPrice, type IPriceDTO, type IPriceId, type IPriceListDTO, type IRectSelectDestEvent, type IRemovedCartGa, type IRenderer, type IRendererAnimation, type IRendererMachineContext, type IRendererSeatStyleSettings, type IRendererSettings, type IRendererSvgSectionStylesSetting, type IRendererTheme, type IRowDTO, type ISVGBackgroundDTO, type ISchemaDTO, type ISeat, type ISeatCartSwitchDestEvent, type ISeatDTO, type ISeatMouseEnterDestEvent, type ISeatMouseLeaveDestEvent, type ISeatPriceScheme, type ISeatSelectDestEvent, type ISeatStyle, type ISection, type ISectionClickDestEvent, type ISectionMouseEnterDestEvent, type ISectionMouseLeaveDestEvent, type ISectionRect, type ISectionWithCoords, type ISector, type ISectorDTO, type ISpecialPrice, type ISpecialState, type ISvgSectionStyle, type IVenueDTO, type IVisibilitySettings, type IZoomSettings, type Nullable, Renderer, type RendererMachine, type RendererMachineReducer, type RendererMachineService, RendererSelectMode, RendererTargetType, type SeatFilter, type SeatInteractionState, SeatmapAdminRenderer, SeatmapBookingRenderer, type SrcEvent, SrcEventType, type TransformArray, convertPricesToColored, convertPricesToColoredById, defaultZoomSettings, mergeSettings, sortPrices };
2704
+ /**
2705
+ * Rotation Animation Manager
2706
+ * Handles continuous rotation animations for 3D view
2707
+ */
2708
+ interface IRotationAnimation {
2709
+ startTime: number;
2710
+ animationId: number | null;
2711
+ lastRotationZ: number;
2712
+ angle: number;
2713
+ isRunning: boolean;
2714
+ }
2715
+ declare class RotationAnimation {
2716
+ private animation;
2717
+ /**
2718
+ * Starts a continuous rotation animation
2719
+ * @param angle - Rotation speed in radians per second (positive for clockwise, negative for counter-clockwise)
2720
+ * @param onUpdate - Callback function to update the rotation value
2721
+ * @returns Animation ID that can be used to stop the animation
2722
+ */
2723
+ start(angle: number, onUpdate: (rotationZ: number) => void): number | null;
2724
+ /**
2725
+ * Stops the current rotation animation
2726
+ */
2727
+ stop(): void;
2728
+ /**
2729
+ * Checks if an animation is currently running
2730
+ */
2731
+ isRunning(): boolean;
2732
+ /**
2733
+ * Gets the current animation ID
2734
+ */
2735
+ getAnimationId(): number | null;
2736
+ /**
2737
+ * Gets the current animation state
2738
+ */
2739
+ getAnimation(): IRotationAnimation | null;
2740
+ }
2741
+
2742
+ export { BookingApiClient, type ById, type ColorById, type ColorSequenceSettings, type DeepPartial, type DestEvent, DestEventType, type IAdminRendererSettings, type IBaseSeat, type IBaseSector, type IBasicSeatStyle, type IBeforeSeatDrawEvent, type IBookingRendererSettings, type ICart, type ICartGa, type ICartSeat, type IClickSrcEvent, type IColoredPrice, type IConfigurationDTO, type IDeselectDestEvent, type IDragEndSrcEvent, type IDragMoveSrcEvent, type IDragStartSrcEvent, type IExtendedSeat, type IMinimapSettings, type IMouseMoveSrcEvent, type IPanDestEvent, type IPanZoomDestEvent, type IPlainSeatsDTO, type IPngBackgroundDTO, type IPoint, type IPrice, type IPriceDTO, type IPriceId, type IPriceListDTO, type IRectSelectDestEvent, type IRemovedCartGa, type IRenderer, type IRendererAnimation, type IRendererMachineContext, type IRendererSeatStyleSettings, type IRendererSettings, type IRendererSvgSectionStylesSetting, type IRendererTheme, type IRowDTO, type ISVGBackgroundDTO, type ISchemaDTO, type ISeat, type ISeatCartSwitchDestEvent, type ISeatDTO, type ISeatMouseEnterDestEvent, type ISeatMouseLeaveDestEvent, type ISeatPriceScheme, type ISeatSelectDestEvent, type ISeatStyle, type ISection, type ISectionClickDestEvent, type ISectionMouseEnterDestEvent, type ISectionMouseLeaveDestEvent, type ISectionRect, type ISectionWithCoords, type ISector, type ISectorDTO, type ISpecialPrice, type ISpecialState, type ISvgSectionStyle, type IVenueDTO, type IVisibilitySettings, type IZoomSettings, type MinimapPosition, type Nullable, Renderer, type RendererMachine, type RendererMachineReducer, type RendererMachineService, RendererSelectMode, RendererTargetType, RotationAnimation, type SeatFilter, type SeatInteractionState, SeatmapAdminRenderer, SeatmapBookingRenderer, type SrcEvent, SrcEventType, type TransformArray, VERSION, convertPricesToColored, convertPricesToColoredById, defaultZoomSettings, mergeSettings, sortPrices };