@3deye-toolkit/react-camera 0.0.1-alpha.29 → 0.0.1-alpha.30

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,66 +1,11 @@
1
1
  /// <reference types="react" />
2
2
 
3
- import { BehaviorSubject } from 'rxjs';
4
- import crossfilter from 'crossfilter2';
5
3
  import type { IReactionDisposer } from 'mobx';
6
4
  import { Observable } from 'rxjs';
7
5
  import { default as React_2 } from 'react';
8
- import { Subject } from 'rxjs';
6
+ import type { Ref } from 'react';
9
7
  import { Subscription } from 'rxjs';
10
8
 
11
- declare class Api<T> {
12
- [key: string]: any;
13
- static create<T extends PartialApi>(apiConfig: T | null, authStore: Auth, createConnection: (accessToken: string) => Connection): Api<T> & ExtractHubs<IApi, T>;
14
- connectionShutdown$: Subject<null>;
15
- connection$: BehaviorSubject<Connection | null>;
16
- events: Subject<{
17
- hub: keyof typeof events;
18
- event: string;
19
- data: any;
20
- }>;
21
- logging: boolean;
22
- authStore: Auth;
23
- createConnection: (accessToken: string) => Connection;
24
- apiConfig: PartialApi;
25
- constructor(apiConfig: T, authStore: Auth, createConnection: (accessToken: string) => Connection);
26
- connect(token: Token): void;
27
- shutdownConnection(): void;
28
- private init;
29
- private createHubMethod;
30
- private subscribeToEvents;
31
- }
32
-
33
- declare type ApiPageResult<T> = {
34
- success: true;
35
- resultItems: T[];
36
- pageInfo: PageInfo;
37
- } | {
38
- success: false;
39
- error: {
40
- code: number;
41
- message: string;
42
- };
43
- };
44
-
45
- declare type ApiResult<T> = {
46
- success: true;
47
- resultItems: T[];
48
- } | {
49
- success: false;
50
- error: {
51
- code: number;
52
- message: string;
53
- };
54
- };
55
-
56
- declare abstract class ApiStore {
57
- api: Api<IApi> & IApi;
58
- disposables: (IReactionDisposer | Subscription)[];
59
- protected afterInit?(): void;
60
- initWith(api: Api<IApi> & IApi): void;
61
- dispose(): void;
62
- }
63
-
64
9
  declare type ArchiveChunk = Chunk & {
65
10
  isLive: false;
66
11
  };
@@ -77,97 +22,16 @@ declare class ArchiveChunk_2 implements Chunk_2 {
77
22
  constructor(raw: any);
78
23
  }
79
24
 
80
- declare class ArchivesStore extends ApiStore {
81
- private camerasStore;
82
- data: crossfilter.Crossfilter<ArchiveChunk_2>;
83
- chunksByCameraId: crossfilter.Dimension<ArchiveChunk_2, number>;
84
- chunksByStart: crossfilter.Dimension<ArchiveChunk_2, number>;
85
- chunksByEnd: crossfilter.Dimension<ArchiveChunk_2, number>;
86
- chunksById: Map<number, ArchiveChunk_2>;
87
- private pendingRequests;
88
- private pendingRequestsByEnd;
89
- private pendingRequestsByStart;
90
- private pendingRequestsByCameraId;
91
- knownIntervals: Map<number, [Date, Date]>;
92
- updates: number;
93
- constructor(camerasStore: CamerasStore);
94
- /**
95
- * Fetches archive chunks for given camera and period
96
- * @param cameraId - camera id
97
- * @param startTime - start of the period
98
- * @param endTime - end of the period
99
- * TODO: add support for null endTime in order to remove requestedArchivesSince logic from player controller
100
- * TODO: add error handling
101
- */
102
- fetch(cameraId: number, startTime: Date, endTime: Date): Observable<ArchiveChunk_2[]>;
103
- extendKnownInterval(cameraId: number, startTime: Date, chunks: ArchiveChunk_2[]): void;
104
- add(chunks: ArchiveChunk_2[]): void;
105
- getChunks({ cameraId, from, to }: ChunksQuery): ArchiveChunk_2[];
106
- /**
107
- * Returns chunk that either contain the given time or is right adjacent to it
108
- * @param camera - camera id
109
- * @param time - time to search for
110
- * @returns ArchiveChunk or undefined if there is no such chunk in the current archive
111
- */
112
- getClosestChunkRight: ({ cameraId, time }: {
25
+ declare interface ArchivesStore {
26
+ fetchPrevChunk: (params: {
113
27
  cameraId: number;
114
28
  time: Date;
115
- }) => ArchiveChunk_2;
116
- /**
117
- * Return chunks that either contain the given time or is left adjacent to it
118
- * @param camera - camera id
119
- * @param time - time to search for
120
- * @returns ArchiveChunk or undefined if there is no such chunk in the current archive
121
- */
122
- getClosestChunkLeft: ({ cameraId, time }: {
123
- cameraId: number;
124
- time: Date;
125
- }) => ArchiveChunk_2;
126
- fetchNextChunk: ({ cameraId, time }: {
127
- cameraId: number;
128
- time: Date;
129
- }) => Observable<ArchiveChunk_2 | undefined>;
130
- fetchPrevChunk: ({ cameraId, time }: {
29
+ }) => Observable<ArchiveChunk | undefined>;
30
+ fetchNextChunk: (params: {
131
31
  cameraId: number;
132
32
  time: Date;
133
- }) => Observable<ArchiveChunk_2 | undefined>;
134
- protected afterInit(): void;
135
- }
136
-
137
- declare class Auth {
138
- token: Token | null;
139
- isAuthenticating: boolean;
140
- storage: Storage_2;
141
- tokenServiceUrl: string;
142
- tokenStorageKey: string;
143
- deviceInfo: string | null;
144
- clientId: string;
145
- private pendingUpdateTokenRequest;
146
- get isAuthenticated(): boolean;
147
- constructor({ tokenServiceUrl, storage, tokenStorageKey, deviceInfo, clientId }: AuthStoreOptions);
148
- signOut: () => void;
149
- signIn: (options: {
150
- username: string;
151
- password: string;
152
- replaceToken?: string;
153
- agreedWithTerms?: boolean;
154
- code?: string;
155
- }) => Promise<Token> | undefined;
156
- invalidateToken: () => void;
157
- getTokenFromStorage(): Promise<Token | null>;
158
- private storeToken;
159
- private getInitialToken;
160
- private fetchToken;
161
- private updateToken;
162
- private fetchWidgetToken;
163
- }
164
-
165
- declare interface AuthStoreOptions {
166
- tokenServiceUrl: string;
167
- storage: Storage_2;
168
- tokenStorageKey: string;
169
- deviceInfo: any;
170
- clientId: string;
33
+ }) => Observable<ArchiveChunk | undefined>;
34
+ getChunks: (query: ChunksQuery) => ArchiveChunk[];
171
35
  }
172
36
 
173
37
  declare type BehaviorFactory = (controller: PlayerController) => PlayerBehavior;
@@ -234,19 +98,6 @@ declare interface Camera_3 {
234
98
  raw: RawCamera;
235
99
  }
236
100
 
237
- declare class CamerasStore extends ApiStore {
238
- camerasById: Map<number, Camera>;
239
- data: Camera[];
240
- loading: boolean;
241
- loaded: boolean;
242
- constructor();
243
- load: () => Observable<RawCamera[]> | undefined;
244
- add: (cameras: RawCamera[]) => void;
245
- sync: () => Observable<RawCamera[]>;
246
- protected afterInit(): void;
247
- dispose(): void;
248
- }
249
-
250
101
  declare interface CameraStatistics {
251
102
  id: number;
252
103
  month: number;
@@ -255,11 +106,6 @@ declare interface CameraStatistics {
255
106
  clipStorageMBytes: number;
256
107
  }
257
108
 
258
- declare interface CamgroupItem {
259
- id: number;
260
- order: number;
261
- }
262
-
263
109
  declare interface Chunk {
264
110
  startTime: Date;
265
111
  endTime: Date;
@@ -293,44 +139,37 @@ declare interface Clip {
293
139
  name: string;
294
140
  }
295
141
 
142
+ declare class Clip_2 {
143
+ id: number;
144
+ cameraId: number;
145
+ name: string;
146
+ startTime: Date;
147
+ endTime: Date;
148
+ type: 'Archive' | 'Timelaps' | 'Timelaps to do';
149
+ /**
150
+ * clip duration in seconds
151
+ */
152
+ duration: number;
153
+ chunks: ArchiveChunk_2[];
154
+ clipUrl?: string;
155
+ description: string;
156
+ version: string;
157
+ raw: RawClip;
158
+ isDownloading: boolean;
159
+ archives?: ArchiveChunk_2[];
160
+ constructor(raw: RawClip);
161
+ get isTimelapse(): boolean;
162
+ update(raw: any): void;
163
+ }
164
+
296
165
  export declare const CloseControl: {
297
- ({ onClick }: Props_3): JSX.Element | null;
166
+ ({ onClick }: Props_4): JSX.Element | null;
298
167
  displayName: string;
299
168
  };
300
169
 
301
- declare interface Connection {
302
- state: CONNECTION_STATE;
303
- stop: () => void;
304
- start: () => Connection;
305
- done: (callback: () => void) => Connection;
306
- fail: (callback: (err: any) => void) => Connection;
307
- error: (callback: (err: any) => void) => Connection;
308
- disconnected: (callback: () => void) => Connection;
309
- reconnecting: (callback: () => void) => Connection;
310
- reconnected: (callback: () => void) => Connection;
311
- proxies: {
312
- [P in keyof typeof FULL_API_CONFIG]: {
313
- on: (eventName: string, callback: (data: any) => void) => void;
314
- invoke: any;
315
- };
316
- };
317
- createHubProxy: (hubName: string) => void;
318
- lastError: any;
319
- qs: {
320
- access_token: string;
321
- };
322
- }
323
-
324
- declare enum CONNECTION_STATE {
325
- CONNECTING = 0,
326
- CONNECTED = 1,
327
- RECONNECTING = 2,
328
- DISCONNECTED = 3
329
- }
330
-
331
- export declare const Control: React_2.FC<Props_4>;
170
+ export declare const Control: React_2.FC<Props_5>;
332
171
 
333
- export declare class Controls extends React_2.Component<Props_5> {
172
+ export declare class Controls extends React_2.Component<Props_6> {
334
173
  get player(): PlayerController;
335
174
  static contextType: React_2.Context<PlayerController>;
336
175
  static Spacer: React_2.FC;
@@ -344,115 +183,15 @@ export declare class Controls extends React_2.Component<Props_5> {
344
183
  render(): JSX.Element;
345
184
  }
346
185
 
347
- declare type DeepPartial<T> = {
348
- [K in keyof T]?: DeepPartial<T[K]>;
349
- };
350
-
351
- export declare const DefaultControls: (({ onRequestClose, fullscreenControl }: Props_7) => JSX.Element) & {
186
+ export declare const DefaultControls: (({ onRequestClose, fullscreenControl }: Props_8) => JSX.Element) & {
352
187
  displayName: string;
353
188
  };
354
189
 
355
- declare const events: {
356
- [P in keyof PartialApi]: {
357
- name: string;
358
- explicit?: boolean;
359
- }[];
360
- };
361
-
362
- declare type EventType = 'Motion' | 'Tampering' | 'PanTiltZoom' | 'CrossLine' | 'Intrusion' | 'LicensePlate' | 'FaceDetection' | 'Audio' | 'Analytic' | 'SpeedDetection' | 'PeopleCounter' | 'Temperature' | 'PoS' | 'GPS' | 'DigitalInput' | 'Normal' | 'Suspicious' | 'Loitering' | 'Vandalism' | 'Trespass' | 'Emergency' | 'LifeInDanger' | 'ErroneousAlert' | 'Misidentification' | 'Fire' | 'MedicalDuress' | 'HoldUp' | 'CheckIn' | 'CheckOut' | 'ClockIn' | 'ClockOut' | 'ParkingStart' | 'ParkingEnd' | 'ParkingViolation' | 'GateAccess' | 'DoorAccess' | 'TemperatureCheck' | 'IDCheck' | 'PPECheck' | 'WelfareCheck' | 'Uncategorized' | 'Unknown';
363
-
364
- declare type ExtractHubs<T, K> = {
365
- [P in keyof ExtractMethods<T, K>]: ExtractMethods<T[P], K[P]>;
366
- };
367
-
368
- declare type ExtractMethods<T, K> = Pick<T, Extract<keyof T, keyof K>>;
369
-
370
- declare const FULL_API_CONFIG: IApi;
371
-
372
190
  export declare const FullscreenControl: {
373
- ({ toggle: toggle, active }: Props_6): JSX.Element;
191
+ ({ toggle: toggle, active }: Props_7): JSX.Element;
374
192
  displayName: string;
375
193
  };
376
194
 
377
- declare interface IApi {
378
- archives: {
379
- PopulateArchive: (params: {
380
- cameraId: number;
381
- endTime: Date;
382
- startTime: Date;
383
- }) => Observable<any>;
384
- GetArchives: (params: Record<string, never>) => Observable<ApiResult<RawClip>>;
385
- GetClips: () => Observable<any>;
386
- UpdateClip: (params: any) => Observable<any>;
387
- DeleteClip: (params: any) => Observable<any>;
388
- SaveClip: (params: any) => Observable<any>;
389
- SaveTimelaps: (params: any) => Observable<any>;
390
- SaveArchive: (params: any) => Observable<any>;
391
- DeleteArchive: (params: any) => Observable<any>;
392
- ShareClip: (sharedClip: RawSharedClip) => Observable<ApiResult<RawSharedClip>>;
393
- GetSharedClips: (recordId: number | null) => Observable<ApiResult<RawSharedClip>>;
394
- UpdateSharedClip: (sharedClip: RawSharedClip) => Observable<ApiResult<RawSharedClip>>;
395
- DeleteSharedClip: (recordId: number) => Observable<ApiResult<RawSharedClip>>;
396
- };
397
- cameras: {
398
- GetCameras: (camera: {
399
- id?: number;
400
- } | null, since: Date | null) => Observable<ApiResult<RawCamera>>;
401
- GetSensorDataSchema: (eventType: EventType) => Observable<any>;
402
- GetSensorEvents: (params: SensorEventsParams, filter: string, box: Box) => Observable<ApiResult<RawSensorEvent>>;
403
- GetSensorEventsPage: (request: SensorEventsRequest, filter: string | null, searchPolygons: string[]) => Observable<ApiPageResult<RawSensorEvent>>;
404
- AddUserSensorEvent: (event: PartialExcept<RawSensorEvent, 'id' | 'eventType' | 'message'>) => Observable<ApiResult<RawSensorEvent>>;
405
- AcknowledgeSensorEvent: (event: PartialExcept<RawSensorEvent, 'id' | 'ackEventType' | 'message'>) => Observable<ApiResult<RawSensorEvent>>;
406
- MoveCamera: (camera: {
407
- id: number;
408
- }, x: number, y: number, zoom: number, moveSpeed: number, zoomSpeed: number) => Observable<any>;
409
- MoveCameraContinuousStart: ({ id }: {
410
- id: number;
411
- }, x: number, y: number, zoom: number, timeout: number) => Observable<any>;
412
- MoveCameraContinuousStop: ({ id }: {
413
- id: number;
414
- }) => Observable<any>;
415
- GoHomePtzCamera: ({ id }: {
416
- id: number;
417
- }) => Observable<any>;
418
- SetHomePtzCamera: ({ id }: {
419
- id: number;
420
- }) => Observable<any>;
421
- };
422
- camgroups: {
423
- GetCamgroups: () => Observable<ApiResult<RawCamgroup>>;
424
- DeleteCamgroup: (params: any) => Observable<ApiResult<RawCamgroup>>;
425
- AddCamgroup: (params: any) => Observable<ApiResult<RawCamgroup>>;
426
- UpdateCamgroup: (params: any) => Observable<ApiResult<RawCamgroup>>;
427
- };
428
- sound: {
429
- GetPushSoundServiceUrl: (id: number) => Observable<any>;
430
- };
431
- thumbnails: {
432
- GetThumbnailsInfo: (params: {
433
- cameraId: number;
434
- from: Date;
435
- to: Date;
436
- count: number;
437
- }) => Observable<any>;
438
- GetThumbnailInfo: (params: {
439
- cameraId: number;
440
- from: Date;
441
- to: Date;
442
- }) => Observable<any>;
443
- GetHeatMapsInfo: (params: {
444
- cameraId: number;
445
- from: Date;
446
- to: Date;
447
- count: number;
448
- }) => Observable<any>;
449
- };
450
- users: {
451
- GetUser: () => Observable<ApiResult<RawUser>>;
452
- UserUpdateProfile: (user: Partial<RawUser>) => Observable<ApiResult<RawUser>>;
453
- };
454
- }
455
-
456
195
  declare class LiveChunk {
457
196
  cameraId: number;
458
197
  streamUrl: string;
@@ -476,20 +215,12 @@ declare class LiveChunk {
476
215
  setBounds: (range: [Date, Date]) => void;
477
216
  }
478
217
 
479
- declare interface PageInfo {
480
- isDescending: boolean;
481
- nextPageToken: number;
482
- haveMore: boolean;
483
- }
484
-
485
- declare type PartialApi = DeepPartial<IApi>;
486
-
487
- declare type PartialExcept<T, K extends keyof T> = Pick<T, K> & Partial<T>;
488
-
489
218
  export declare const PlaybackRateControl: (() => JSX.Element | null) & {
490
219
  displayName: string;
491
220
  };
492
221
 
222
+ export declare const Player: React_2.MemoExoticComponent<React_2.ForwardRefExoticComponent<Pick<Props_3 & React_2.RefAttributes<HTMLDivElement>, "key" | keyof Props_3> & React_2.RefAttributes<HTMLDivElement>>>;
223
+
493
224
  declare interface PlayerBehavior {
494
225
  player: PlayerController;
495
226
  delay?: number;
@@ -638,25 +369,42 @@ declare interface Props_2 {
638
369
  onRequestCancel: () => void;
639
370
  }
640
371
 
641
- declare interface Props_3 {
372
+ declare interface Props_3 extends Omit<React_2.HTMLAttributes<HTMLDivElement>, 'onMouseDown'> {
373
+ camera: Camera;
374
+ startTime?: Date | null;
375
+ endTime?: Date;
376
+ clip?: Clip_2;
377
+ controls: React_2.ReactNode;
378
+ onMouseDown?: (e: MouseEvent) => void;
379
+ hideCameraTitle?: boolean;
380
+ webRtcOptions?: {
381
+ enabled: boolean;
382
+ allowedIceCandidateProtocols?: ('udp' | 'tcp')[];
383
+ };
384
+ controllerRef?: Ref<PlayerController>;
385
+ videoRef?: Ref<HTMLVideoElement>;
386
+ archivesStore: ArchivesStore;
387
+ }
388
+
389
+ declare interface Props_4 {
642
390
  onClick?: () => void;
643
391
  }
644
392
 
645
- declare type Props_4 = React_2.HTMLAttributes<HTMLButtonElement> & {
393
+ declare type Props_5 = React_2.HTMLAttributes<HTMLButtonElement> & {
646
394
  ref?: React_2.Ref<HTMLButtonElement>;
647
395
  };
648
396
 
649
- declare interface Props_5 {
397
+ declare interface Props_6 {
650
398
  children: React_2.ReactNode;
651
399
  style?: React_2.CSSProperties;
652
400
  }
653
401
 
654
- declare interface Props_6 {
402
+ declare interface Props_7 {
655
403
  toggle: (() => void) | null;
656
404
  active: boolean;
657
405
  }
658
406
 
659
- declare interface Props_7 {
407
+ declare interface Props_8 {
660
408
  onRequestClose?: () => void;
661
409
  fullscreenControl?: React_2.ReactNode;
662
410
  }
@@ -732,27 +480,6 @@ declare interface RawCamera {
732
480
  statistics: CameraStatistics;
733
481
  }
734
482
 
735
- declare interface RawCamgroup {
736
- id: number;
737
- name: string | null;
738
- text: null;
739
- description: null;
740
- iconUrl: null;
741
- iconCls: null;
742
- dynamic: boolean;
743
- allowDuplicates: boolean;
744
- allowDrop: boolean;
745
- allowNodeDropInView: boolean;
746
- visible: boolean;
747
- layout_id: string;
748
- contentFilter: null;
749
- customerWideGroup: boolean;
750
- cameras: CamgroupItem[];
751
- camgroups: CamgroupItem[];
752
- version: string;
753
- order: number;
754
- }
755
-
756
483
  declare interface RawClip {
757
484
  id: number;
758
485
  recordType: string;
@@ -772,156 +499,10 @@ declare interface RawClip {
772
499
  version: string;
773
500
  }
774
501
 
775
- declare interface RawSensorEvent {
776
- message: string;
777
- data: string | null;
778
- id: number;
779
- customerId: number;
780
- sensorId: number;
781
- sensorType: 'CameraSensor' | 'MotionSensor' | 'IntrusionSensor' | 'AudioSensor' | 'TemperatureSensor' | 'SpeedSensor' | 'Unknown';
782
- eventType: EventType;
783
- ackEventType: string;
784
- description?: any;
785
- tags?: any;
786
- customerData?: any;
787
- startTime: string;
788
- endTime: string;
789
- userId: string;
790
- }
791
-
792
- declare interface RawSharedClip {
793
- id: number;
794
- recordId: number;
795
- creatorUserId: number;
796
- cameraId: number;
797
- startTime: string | Date;
798
- endTime: string | Date;
799
- duration: number;
800
- fileSize: number;
801
- password: string;
802
- name: string;
803
- description: string;
804
- url: string;
805
- validTo: string | Date;
806
- }
807
-
808
- declare type RawToken = {
809
- accessToken: string;
810
- accessTokenExpires: string;
811
- accessTokenIssued: string;
812
- clientId: string;
813
- expiresIn: number;
814
- refreshToken: string;
815
- refreshTokenExpires: string;
816
- refreshTokenIssued: string;
817
- tokenType: string;
818
- userName: string;
819
- } & {
820
- access_token: string;
821
- access_token_expires: string;
822
- access_token_issued: string;
823
- client_id: string;
824
- expires_in: number;
825
- refresh_token: string;
826
- refresh_token_expires: string;
827
- refresh_token_issued: string;
828
- token_type: string;
829
- userName: string;
830
- } & {
831
- widgetId?: string;
832
- widgetToken?: string;
833
- };
834
-
835
- declare interface RawUser {
836
- id: number;
837
- customerId: number;
838
- userName: string;
839
- firstName?: string;
840
- lastName?: string;
841
- email: string;
842
- languageCode: string;
843
- layoutStartId: number | null;
844
- layoutStartType: 'camera' | 'camgroup' | '';
845
- timeZoneOffset: string;
846
- connectionId: string;
847
- ipAddress: string;
848
- userRoles: string[];
849
- lastLoginAt: Date;
850
- createdAt: Date;
851
- jsonField: string;
852
- imageUrl: null;
853
- permissions: number;
854
- version: string;
855
- }
856
-
857
502
  export declare const ResizeModeControl: (() => JSX.Element) & {
858
503
  displayName: string;
859
504
  };
860
505
 
861
- declare interface SensorEventsParams {
862
- sensorId: number;
863
- sensorType: 'CameraSensor' | 'MotionSensor' | 'IntrusionSensor' | 'AudioSensor' | 'TemperatureSensor' | 'SpeedSensor' | 'Unknown';
864
- startTime: Date;
865
- endTime: Date;
866
- eventType: EventType;
867
- }
868
-
869
- declare interface SensorEventsRequest {
870
- sensorIds: number[];
871
- sensorType: string;
872
- sensorEventTypes: SensorEventType[];
873
- startTime?: Date;
874
- endTime?: Date;
875
- isDescending: boolean;
876
- rowsLimit: number;
877
- pageToken?: number;
878
- }
879
-
880
- declare enum SensorEventType {
881
- Motion = 0,
882
- Tampering = 1,
883
- PanTiltZoom = 2,
884
- CrossLine = 3,
885
- Intrusion = 4,
886
- LicensePlate = 5,
887
- FaceDetection = 6,
888
- Audio = 7,
889
- Analytic = 8,
890
- SpeedDetection = 9,
891
- PeopleCounter = 10,
892
- Temperature = 11,
893
- PoS = 12,
894
- GPS = 13,
895
- DigitalInput = 14,
896
- Normal = 15,
897
- Suspicious = 16,
898
- Loitering = 17,
899
- Vandalism = 18,
900
- Trespass = 19,
901
- Emergency = 20,
902
- LifeInDanger = 21,
903
- ErroneousAlert = 22,
904
- Misidentification = 23,
905
- Fire = 24,
906
- MedicalDuress = 25,
907
- HoldUp = 26,
908
- CheckIn = 27,
909
- CheckOut = 28,
910
- ClockIn = 29,
911
- ClockOut = 30,
912
- ParkingStart = 31,
913
- ParkingEnd = 32,
914
- ParkingViolation = 33,
915
- GateAccess = 34,
916
- DoorAccess = 35,
917
- TemperatureCheck = 36,
918
- IDCheck = 37,
919
- PPECheck = 38,
920
- WelfareCheck = 39,
921
- Uncategorized = 40,
922
- Unknown = 999
923
- }
924
-
925
506
  export declare class SnapshotControl extends React_2.Component {
926
507
  static contextType: React_2.Context<PlayerController>;
927
508
  get player(): PlayerController;
@@ -929,30 +510,6 @@ export declare class SnapshotControl extends React_2.Component {
929
510
  render(): JSX.Element;
930
511
  }
931
512
 
932
- declare interface Storage_2 {
933
- setItem: (key: string, value: string) => void | Promise<undefined>;
934
- getItem: (key: string) => (string | null) | Promise<string | null>;
935
- removeItem: (key: string) => void | Promise<undefined>;
936
- }
937
-
938
- declare class Token {
939
- accessToken: string;
940
- accessTokenExpires: Date;
941
- accessTokenIssued: Date;
942
- clientId: string;
943
- expiresIn: number;
944
- refreshToken: string;
945
- refreshTokenExpires: Date;
946
- refreshTokenIssued: Date;
947
- tokenType: string;
948
- userName: string;
949
- invalid: boolean;
950
- widgetId?: string;
951
- widgetToken?: string;
952
- json: RawToken;
953
- constructor(raw: RawToken);
954
- }
955
-
956
513
  export declare function useFullscreen(): {
957
514
  ref: (node: HTMLElement | null) => void;
958
515
  toggle: () => undefined;