@seatlayer/js 0.11.0 → 0.12.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.cts CHANGED
@@ -622,6 +622,8 @@ interface ReportCategoryRow {
622
622
  held: number;
623
623
  booked: number;
624
624
  not_for_sale: number;
625
+ /** Exact sum of booked unit_price snapshots, in major currency units. */
626
+ bookedRevenue: number;
625
627
  }
626
628
  interface ReportCategoryMeta {
627
629
  key: string;
@@ -633,6 +635,7 @@ interface ReportResult {
633
635
  report: {
634
636
  byStatus: ReportByStatus;
635
637
  byCategory: ReportCategoryRow[];
638
+ bySection?: ControlRoomSectionMetric[];
636
639
  };
637
640
  event: {
638
641
  key: string;
@@ -642,6 +645,51 @@ interface ReportResult {
642
645
  };
643
646
  categories: ReportCategoryMeta[];
644
647
  }
648
+ interface ControlRoomSectionMetric {
649
+ sectionId: string;
650
+ sectionLabel: string;
651
+ zoneId: string | null;
652
+ total: number;
653
+ free: number;
654
+ held: number;
655
+ booked: number;
656
+ not_for_sale: number;
657
+ bookedRevenue: number;
658
+ }
659
+ interface ControlRoomSnapshot {
660
+ version: number;
661
+ currency: string;
662
+ totals: {
663
+ free: number;
664
+ held: number;
665
+ booked: number;
666
+ blocked: number;
667
+ };
668
+ revenue: {
669
+ gross: number;
670
+ bySection: ControlRoomSectionMetric[];
671
+ };
672
+ velocity: {
673
+ windowMinutes: number;
674
+ bySection: Array<{
675
+ sectionId: string;
676
+ netBooked: number;
677
+ grossRevenue: number;
678
+ previousNetBooked: number;
679
+ trend: 'rising' | 'steady' | 'cooling';
680
+ }>;
681
+ };
682
+ presence: {
683
+ shoppingSessions: number;
684
+ activeHolds: number;
685
+ };
686
+ event: {
687
+ key: string;
688
+ name: string;
689
+ seatTotal: number;
690
+ currency?: string;
691
+ };
692
+ }
645
693
  interface LogEntry {
646
694
  id: number;
647
695
  at: number;
@@ -719,6 +767,7 @@ declare class ManageApi {
719
767
  holdTtlMs: number | null;
720
768
  }>;
721
769
  report(key: string): Promise<ReportResult>;
770
+ controlRoom(key: string, windowMinutes?: number): Promise<ControlRoomSnapshot>;
722
771
  log(key: string, opts?: {
723
772
  limit?: number;
724
773
  before?: number;
@@ -734,22 +783,23 @@ declare class ManageApi {
734
783
  * Productizes the SeatLayer dashboard's ManageEventPage into a framework-
735
784
  * agnostic class (mirrors how SeatPicker productized the buyer flow). It mounts
736
785
  * the shared engine in `manageMode`, subscribes to the event's realtime channel
737
- * and drives two M1 modes on one canvas:
786
+ * and drives three control-room tools on one persistent canvas:
738
787
  *
739
788
  * - **view** — a live board: realtime seat repaint (flash on hold/book),
740
789
  * live KPI tallies + gross revenue, and a streaming activity
741
790
  * feed derived from the delta stream + audit log. Read-only.
791
+ * - **inspect** — select one seat to read its live inventory context.
742
792
  * - **block** — bulk-first block/unblock: marquee-drag, ⌘A select-all,
743
793
  * whole-category / whole-section select, single-seat fallback →
744
794
  * one batched block/unblock (optimistic, reconciled by the WS),
745
- * timed auto-release, and cancel-a-booking.
795
+ * and timed auto-release.
746
796
  *
747
797
  * Auth: reads (chart/objects/WS) are public; writes/reports carry a Bearer
748
798
  * event-scoped manage token (`mse_…`) or a tenant secret key (`sk_…`) via
749
799
  * {@link ManageApi}. Box office + Sections + full Reports UI are M2/M3.
750
800
  */
751
801
 
752
- type SeatManagerMode = 'view' | 'block';
802
+ type SeatManagerMode = 'view' | 'inspect' | 'block';
753
803
  /** DO seat status — 'blocked' has no engine analogue (→ 'not_for_sale'). */
754
804
  type DoStatus = 'free' | 'held' | 'booked' | 'blocked';
755
805
  /** Live KPI snapshot pushed to `onTallies` on every state change. */
@@ -764,8 +814,10 @@ interface SeatManagerTallies {
764
814
  capacityPct: number;
765
815
  /** booked / (total − blocked), 0–100 — sell-through of sellable inventory. */
766
816
  sellThroughPct: number;
767
- /** Σ price(booked seat), major units. */
817
+ /** Exact Σ booked unit_price snapshots from the authenticated report. */
768
818
  grossRevenue: number;
819
+ /** Revenue is never reconstructed from chart list price. */
820
+ revenueStatus: 'loading' | 'current' | 'stale';
769
821
  /** ISO-4217 currency for grossRevenue. */
770
822
  currency: string;
771
823
  }
@@ -774,6 +826,9 @@ interface SeatManagerActivity {
774
826
  id: string;
775
827
  at: number;
776
828
  label: string;
829
+ /** Full labels affected by this one backend/realtime operation. */
830
+ labels: string[];
831
+ count: number;
777
832
  /** Human verb: held / booked / released / blocked / unblocked. */
778
833
  verb: string;
779
834
  status: DoStatus;
@@ -793,6 +848,8 @@ interface SeatManagerOptions {
793
848
  eventKey: string;
794
849
  /** Bearer manage token — event-scoped `mse_…` or a tenant secret `sk_…`. */
795
850
  token: string;
851
+ /** Absolute token expiry (epoch ms). Enables proactive in-place rotation. */
852
+ tokenExpiresAt?: number;
796
853
  /** Initial mode. Default 'view'. */
797
854
  mode?: SeatManagerMode;
798
855
  /** ISO-4217 fallback currency for revenue (chart/event currency wins). */
@@ -809,6 +866,17 @@ interface SeatManagerOptions {
809
866
  onReady?: () => void;
810
867
  /** Live KPI tallies changed. */
811
868
  onTallies?: (tallies: SeatManagerTallies) => void;
869
+ /** A grouped live/audit activity item arrived. */
870
+ onActivity?: (activity: SeatManagerActivity) => void;
871
+ /** Exact private control-room projection changed. */
872
+ onControlRoom?: (snapshot: ControlRoomSnapshot) => void;
873
+ /** Called before token expiry. The manager swaps the result without remounting. */
874
+ onTokenRefresh?: () => Promise<{
875
+ token: string;
876
+ expiresAt: number;
877
+ }>;
878
+ /** Tool/mode changed from inside the shared cockpit. */
879
+ onModeChange?: (mode: SeatManagerMode) => void;
812
880
  /** Block-mode selection changed (marquee / ⌘A / category / section / tap). */
813
881
  onSelectionChange?: (seats: ExpandedSeat[]) => void;
814
882
  /** A block/unblock/cancel action completed successfully. */
@@ -831,8 +899,14 @@ declare class SeatManager {
831
899
  private labelToSeat;
832
900
  private allIds;
833
901
  private status;
834
- private priceByCat;
835
902
  private currency;
903
+ private authoritativeGrossRevenue;
904
+ private revenueStatus;
905
+ private revenueRequest;
906
+ private revenueRefreshTimer;
907
+ private controlRoomSnapshot;
908
+ private trendWindowMinutes;
909
+ private heatEnabled;
836
910
  private ws;
837
911
  private reconnectTimer;
838
912
  private attempt;
@@ -842,10 +916,31 @@ declare class SeatManager {
842
916
  private feedTimer;
843
917
  private toastTimer;
844
918
  private releaseAt;
919
+ private layoutObserver;
920
+ private tokenExpiresAt;
921
+ private tokenRefreshTimer;
922
+ private tokenRefreshInFlight;
923
+ private sectionByObject;
924
+ private sectionLabelById;
925
+ private lastSyncedAt;
926
+ private readonly onFullscreenChange;
927
+ private readonly onKeyDown;
845
928
  constructor(options: SeatManagerOptions);
846
929
  /** Build the DOM, load the chart, subscribe to realtime, mount the board. */
847
930
  render(): Promise<this>;
848
931
  setMode(mode: SeatManagerMode): void;
932
+ /** Toggle the normalized sales-velocity outline overlay without changing seat colors. */
933
+ setHeatOverlay(enabled: boolean): void;
934
+ /** Change the current-vs-previous sales window and refresh the private projection. */
935
+ setTrendWindow(windowMinutes: number): Promise<ControlRoomSnapshot>;
936
+ enterFullscreen(): Promise<void>;
937
+ exitFullscreen(): Promise<void>;
938
+ isFullscreen(): boolean;
939
+ private toggleFullscreen;
940
+ /** Rotate the delegated credential without rebuilding DOM, canvas or socket. */
941
+ setToken(token: string, expiresAt?: number): void;
942
+ private scheduleTokenRefresh;
943
+ private rotateToken;
849
944
  /** Bulk block the given labels (or the current selection when omitted). */
850
945
  block(labels?: string[], opts?: {
851
946
  releaseAt?: number;
@@ -861,6 +956,7 @@ declare class SeatManager {
861
956
  clearSelection(): void;
862
957
  getSelection(): ExpandedSeat[];
863
958
  getReport(): Promise<ReportResult>;
959
+ getControlRoomSnapshot(windowMinutes?: number): Promise<ControlRoomSnapshot>;
864
960
  getLog(opts?: {
865
961
  limit?: number;
866
962
  before?: number;
@@ -874,6 +970,8 @@ declare class SeatManager {
874
970
  zoomToFit(): void;
875
971
  destroy(): void;
876
972
  private buildRenderer;
973
+ private updateRendererInteraction;
974
+ private handleSeatSelect;
877
975
  private repaintAll;
878
976
  private connect;
879
977
  private scheduleReconnect;
@@ -885,6 +983,9 @@ declare class SeatManager {
885
983
  /** Keep the canvas painting on hidden/occluded tabs (war-room second monitor). */
886
984
  private afterPaint;
887
985
  private flash;
986
+ private applyReportRevenue;
987
+ private refreshControlRoom;
988
+ private scheduleRevenueRefresh;
888
989
  private recomputeTallies;
889
990
  private verbFor;
890
991
  private pushActivity;
@@ -893,19 +994,25 @@ declare class SeatManager {
893
994
  private selectionLabels;
894
995
  private syncSelection;
895
996
  private buildChrome;
997
+ private updateContainerLayout;
896
998
  private sectionOptions;
897
999
  private buildSectionOptions;
898
1000
  private paintModeTabs;
1001
+ private paintHeatButton;
1002
+ private paintFullscreenButton;
1003
+ private paintTrendWindow;
899
1004
  private setLive;
900
1005
  private updateZoomHint;
901
1006
  private paintKpis;
902
1007
  private paintRail;
903
1008
  private renderViewRail;
1009
+ private paintMonitorInsights;
1010
+ private applyHeatOverlay;
1011
+ private renderInspectRail;
904
1012
  private paintLegend;
905
1013
  private paintFeed;
906
1014
  private renderBlockRail;
907
1015
  private selectCategory;
908
- private promptCancel;
909
1016
  private paintSelBar;
910
1017
  private done;
911
1018
  private toastOk;
@@ -914,4 +1021,4 @@ declare class SeatManager {
914
1021
  private fail;
915
1022
  }
916
1023
 
917
- export { ApiError, type BestAvailableResult, type CheckoutHandoff, type CheckoutLineItem, EmbeddedDesigner, type EmbeddedDesignerEventType, type EmbeddedDesignerMessage, type EmbeddedDesignerOptions, type GAAreaAvailability, type HoldConflict, type HoldLineItem, type HoldResult, type LogEntry, type LogPage, ManageApi, ManageApiError, type ReportByStatus, type ReportCategoryMeta, type ReportCategoryRow, type ReportResult, SeatManager, type SeatManagerActionResult, type SeatManagerActivity, type SeatManagerMode, type SeatManagerOptions, type SeatManagerTallies, SeatPicker, type SeatPickerOptions, type SeatPickerTheme, SeatingChart, type SeatingChartOptions, type SelectedSeat };
1024
+ export { ApiError, type BestAvailableResult, type CheckoutHandoff, type CheckoutLineItem, type ControlRoomSectionMetric, type ControlRoomSnapshot, EmbeddedDesigner, type EmbeddedDesignerEventType, type EmbeddedDesignerMessage, type EmbeddedDesignerOptions, type GAAreaAvailability, type HoldConflict, type HoldLineItem, type HoldResult, type LogEntry, type LogPage, ManageApi, ManageApiError, type ReportByStatus, type ReportCategoryMeta, type ReportCategoryRow, type ReportResult, SeatManager, type SeatManagerActionResult, type SeatManagerActivity, type SeatManagerMode, type SeatManagerOptions, type SeatManagerTallies, SeatPicker, type SeatPickerOptions, type SeatPickerTheme, SeatingChart, type SeatingChartOptions, type SelectedSeat };
package/dist/index.d.ts CHANGED
@@ -622,6 +622,8 @@ interface ReportCategoryRow {
622
622
  held: number;
623
623
  booked: number;
624
624
  not_for_sale: number;
625
+ /** Exact sum of booked unit_price snapshots, in major currency units. */
626
+ bookedRevenue: number;
625
627
  }
626
628
  interface ReportCategoryMeta {
627
629
  key: string;
@@ -633,6 +635,7 @@ interface ReportResult {
633
635
  report: {
634
636
  byStatus: ReportByStatus;
635
637
  byCategory: ReportCategoryRow[];
638
+ bySection?: ControlRoomSectionMetric[];
636
639
  };
637
640
  event: {
638
641
  key: string;
@@ -642,6 +645,51 @@ interface ReportResult {
642
645
  };
643
646
  categories: ReportCategoryMeta[];
644
647
  }
648
+ interface ControlRoomSectionMetric {
649
+ sectionId: string;
650
+ sectionLabel: string;
651
+ zoneId: string | null;
652
+ total: number;
653
+ free: number;
654
+ held: number;
655
+ booked: number;
656
+ not_for_sale: number;
657
+ bookedRevenue: number;
658
+ }
659
+ interface ControlRoomSnapshot {
660
+ version: number;
661
+ currency: string;
662
+ totals: {
663
+ free: number;
664
+ held: number;
665
+ booked: number;
666
+ blocked: number;
667
+ };
668
+ revenue: {
669
+ gross: number;
670
+ bySection: ControlRoomSectionMetric[];
671
+ };
672
+ velocity: {
673
+ windowMinutes: number;
674
+ bySection: Array<{
675
+ sectionId: string;
676
+ netBooked: number;
677
+ grossRevenue: number;
678
+ previousNetBooked: number;
679
+ trend: 'rising' | 'steady' | 'cooling';
680
+ }>;
681
+ };
682
+ presence: {
683
+ shoppingSessions: number;
684
+ activeHolds: number;
685
+ };
686
+ event: {
687
+ key: string;
688
+ name: string;
689
+ seatTotal: number;
690
+ currency?: string;
691
+ };
692
+ }
645
693
  interface LogEntry {
646
694
  id: number;
647
695
  at: number;
@@ -719,6 +767,7 @@ declare class ManageApi {
719
767
  holdTtlMs: number | null;
720
768
  }>;
721
769
  report(key: string): Promise<ReportResult>;
770
+ controlRoom(key: string, windowMinutes?: number): Promise<ControlRoomSnapshot>;
722
771
  log(key: string, opts?: {
723
772
  limit?: number;
724
773
  before?: number;
@@ -734,22 +783,23 @@ declare class ManageApi {
734
783
  * Productizes the SeatLayer dashboard's ManageEventPage into a framework-
735
784
  * agnostic class (mirrors how SeatPicker productized the buyer flow). It mounts
736
785
  * the shared engine in `manageMode`, subscribes to the event's realtime channel
737
- * and drives two M1 modes on one canvas:
786
+ * and drives three control-room tools on one persistent canvas:
738
787
  *
739
788
  * - **view** — a live board: realtime seat repaint (flash on hold/book),
740
789
  * live KPI tallies + gross revenue, and a streaming activity
741
790
  * feed derived from the delta stream + audit log. Read-only.
791
+ * - **inspect** — select one seat to read its live inventory context.
742
792
  * - **block** — bulk-first block/unblock: marquee-drag, ⌘A select-all,
743
793
  * whole-category / whole-section select, single-seat fallback →
744
794
  * one batched block/unblock (optimistic, reconciled by the WS),
745
- * timed auto-release, and cancel-a-booking.
795
+ * and timed auto-release.
746
796
  *
747
797
  * Auth: reads (chart/objects/WS) are public; writes/reports carry a Bearer
748
798
  * event-scoped manage token (`mse_…`) or a tenant secret key (`sk_…`) via
749
799
  * {@link ManageApi}. Box office + Sections + full Reports UI are M2/M3.
750
800
  */
751
801
 
752
- type SeatManagerMode = 'view' | 'block';
802
+ type SeatManagerMode = 'view' | 'inspect' | 'block';
753
803
  /** DO seat status — 'blocked' has no engine analogue (→ 'not_for_sale'). */
754
804
  type DoStatus = 'free' | 'held' | 'booked' | 'blocked';
755
805
  /** Live KPI snapshot pushed to `onTallies` on every state change. */
@@ -764,8 +814,10 @@ interface SeatManagerTallies {
764
814
  capacityPct: number;
765
815
  /** booked / (total − blocked), 0–100 — sell-through of sellable inventory. */
766
816
  sellThroughPct: number;
767
- /** Σ price(booked seat), major units. */
817
+ /** Exact Σ booked unit_price snapshots from the authenticated report. */
768
818
  grossRevenue: number;
819
+ /** Revenue is never reconstructed from chart list price. */
820
+ revenueStatus: 'loading' | 'current' | 'stale';
769
821
  /** ISO-4217 currency for grossRevenue. */
770
822
  currency: string;
771
823
  }
@@ -774,6 +826,9 @@ interface SeatManagerActivity {
774
826
  id: string;
775
827
  at: number;
776
828
  label: string;
829
+ /** Full labels affected by this one backend/realtime operation. */
830
+ labels: string[];
831
+ count: number;
777
832
  /** Human verb: held / booked / released / blocked / unblocked. */
778
833
  verb: string;
779
834
  status: DoStatus;
@@ -793,6 +848,8 @@ interface SeatManagerOptions {
793
848
  eventKey: string;
794
849
  /** Bearer manage token — event-scoped `mse_…` or a tenant secret `sk_…`. */
795
850
  token: string;
851
+ /** Absolute token expiry (epoch ms). Enables proactive in-place rotation. */
852
+ tokenExpiresAt?: number;
796
853
  /** Initial mode. Default 'view'. */
797
854
  mode?: SeatManagerMode;
798
855
  /** ISO-4217 fallback currency for revenue (chart/event currency wins). */
@@ -809,6 +866,17 @@ interface SeatManagerOptions {
809
866
  onReady?: () => void;
810
867
  /** Live KPI tallies changed. */
811
868
  onTallies?: (tallies: SeatManagerTallies) => void;
869
+ /** A grouped live/audit activity item arrived. */
870
+ onActivity?: (activity: SeatManagerActivity) => void;
871
+ /** Exact private control-room projection changed. */
872
+ onControlRoom?: (snapshot: ControlRoomSnapshot) => void;
873
+ /** Called before token expiry. The manager swaps the result without remounting. */
874
+ onTokenRefresh?: () => Promise<{
875
+ token: string;
876
+ expiresAt: number;
877
+ }>;
878
+ /** Tool/mode changed from inside the shared cockpit. */
879
+ onModeChange?: (mode: SeatManagerMode) => void;
812
880
  /** Block-mode selection changed (marquee / ⌘A / category / section / tap). */
813
881
  onSelectionChange?: (seats: ExpandedSeat[]) => void;
814
882
  /** A block/unblock/cancel action completed successfully. */
@@ -831,8 +899,14 @@ declare class SeatManager {
831
899
  private labelToSeat;
832
900
  private allIds;
833
901
  private status;
834
- private priceByCat;
835
902
  private currency;
903
+ private authoritativeGrossRevenue;
904
+ private revenueStatus;
905
+ private revenueRequest;
906
+ private revenueRefreshTimer;
907
+ private controlRoomSnapshot;
908
+ private trendWindowMinutes;
909
+ private heatEnabled;
836
910
  private ws;
837
911
  private reconnectTimer;
838
912
  private attempt;
@@ -842,10 +916,31 @@ declare class SeatManager {
842
916
  private feedTimer;
843
917
  private toastTimer;
844
918
  private releaseAt;
919
+ private layoutObserver;
920
+ private tokenExpiresAt;
921
+ private tokenRefreshTimer;
922
+ private tokenRefreshInFlight;
923
+ private sectionByObject;
924
+ private sectionLabelById;
925
+ private lastSyncedAt;
926
+ private readonly onFullscreenChange;
927
+ private readonly onKeyDown;
845
928
  constructor(options: SeatManagerOptions);
846
929
  /** Build the DOM, load the chart, subscribe to realtime, mount the board. */
847
930
  render(): Promise<this>;
848
931
  setMode(mode: SeatManagerMode): void;
932
+ /** Toggle the normalized sales-velocity outline overlay without changing seat colors. */
933
+ setHeatOverlay(enabled: boolean): void;
934
+ /** Change the current-vs-previous sales window and refresh the private projection. */
935
+ setTrendWindow(windowMinutes: number): Promise<ControlRoomSnapshot>;
936
+ enterFullscreen(): Promise<void>;
937
+ exitFullscreen(): Promise<void>;
938
+ isFullscreen(): boolean;
939
+ private toggleFullscreen;
940
+ /** Rotate the delegated credential without rebuilding DOM, canvas or socket. */
941
+ setToken(token: string, expiresAt?: number): void;
942
+ private scheduleTokenRefresh;
943
+ private rotateToken;
849
944
  /** Bulk block the given labels (or the current selection when omitted). */
850
945
  block(labels?: string[], opts?: {
851
946
  releaseAt?: number;
@@ -861,6 +956,7 @@ declare class SeatManager {
861
956
  clearSelection(): void;
862
957
  getSelection(): ExpandedSeat[];
863
958
  getReport(): Promise<ReportResult>;
959
+ getControlRoomSnapshot(windowMinutes?: number): Promise<ControlRoomSnapshot>;
864
960
  getLog(opts?: {
865
961
  limit?: number;
866
962
  before?: number;
@@ -874,6 +970,8 @@ declare class SeatManager {
874
970
  zoomToFit(): void;
875
971
  destroy(): void;
876
972
  private buildRenderer;
973
+ private updateRendererInteraction;
974
+ private handleSeatSelect;
877
975
  private repaintAll;
878
976
  private connect;
879
977
  private scheduleReconnect;
@@ -885,6 +983,9 @@ declare class SeatManager {
885
983
  /** Keep the canvas painting on hidden/occluded tabs (war-room second monitor). */
886
984
  private afterPaint;
887
985
  private flash;
986
+ private applyReportRevenue;
987
+ private refreshControlRoom;
988
+ private scheduleRevenueRefresh;
888
989
  private recomputeTallies;
889
990
  private verbFor;
890
991
  private pushActivity;
@@ -893,19 +994,25 @@ declare class SeatManager {
893
994
  private selectionLabels;
894
995
  private syncSelection;
895
996
  private buildChrome;
997
+ private updateContainerLayout;
896
998
  private sectionOptions;
897
999
  private buildSectionOptions;
898
1000
  private paintModeTabs;
1001
+ private paintHeatButton;
1002
+ private paintFullscreenButton;
1003
+ private paintTrendWindow;
899
1004
  private setLive;
900
1005
  private updateZoomHint;
901
1006
  private paintKpis;
902
1007
  private paintRail;
903
1008
  private renderViewRail;
1009
+ private paintMonitorInsights;
1010
+ private applyHeatOverlay;
1011
+ private renderInspectRail;
904
1012
  private paintLegend;
905
1013
  private paintFeed;
906
1014
  private renderBlockRail;
907
1015
  private selectCategory;
908
- private promptCancel;
909
1016
  private paintSelBar;
910
1017
  private done;
911
1018
  private toastOk;
@@ -914,4 +1021,4 @@ declare class SeatManager {
914
1021
  private fail;
915
1022
  }
916
1023
 
917
- export { ApiError, type BestAvailableResult, type CheckoutHandoff, type CheckoutLineItem, EmbeddedDesigner, type EmbeddedDesignerEventType, type EmbeddedDesignerMessage, type EmbeddedDesignerOptions, type GAAreaAvailability, type HoldConflict, type HoldLineItem, type HoldResult, type LogEntry, type LogPage, ManageApi, ManageApiError, type ReportByStatus, type ReportCategoryMeta, type ReportCategoryRow, type ReportResult, SeatManager, type SeatManagerActionResult, type SeatManagerActivity, type SeatManagerMode, type SeatManagerOptions, type SeatManagerTallies, SeatPicker, type SeatPickerOptions, type SeatPickerTheme, SeatingChart, type SeatingChartOptions, type SelectedSeat };
1024
+ export { ApiError, type BestAvailableResult, type CheckoutHandoff, type CheckoutLineItem, type ControlRoomSectionMetric, type ControlRoomSnapshot, EmbeddedDesigner, type EmbeddedDesignerEventType, type EmbeddedDesignerMessage, type EmbeddedDesignerOptions, type GAAreaAvailability, type HoldConflict, type HoldLineItem, type HoldResult, type LogEntry, type LogPage, ManageApi, ManageApiError, type ReportByStatus, type ReportCategoryMeta, type ReportCategoryRow, type ReportResult, SeatManager, type SeatManagerActionResult, type SeatManagerActivity, type SeatManagerMode, type SeatManagerOptions, type SeatManagerTallies, SeatPicker, type SeatPickerOptions, type SeatPickerTheme, SeatingChart, type SeatingChartOptions, type SelectedSeat };