@3deye-toolkit/react-camera 0.0.1-alpha.19 → 0.0.1-alpha.22
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/react-camera.css +446 -271
- package/dist/react-camera.d.ts +162 -459
- package/dist/react-camera.js +2 -16
- package/dist/tsdoc-metadata.json +1 -1
- package/package.json +16 -16
package/dist/react-camera.d.ts
CHANGED
|
@@ -1,36 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
import crossfilter from 'crossfilter2';
|
|
5
|
-
import { IReactionDisposer } from 'mobx';
|
|
5
|
+
import type { IReactionDisposer } from 'mobx';
|
|
6
6
|
import { Observable } from 'rxjs';
|
|
7
7
|
import { default as React_2 } from 'react';
|
|
8
8
|
import { Subject } from 'rxjs';
|
|
9
9
|
import { Subscription } from 'rxjs';
|
|
10
10
|
|
|
11
|
-
declare class AccountStore extends ApiStore {
|
|
12
|
-
private notification?;
|
|
13
|
-
user: User | null;
|
|
14
|
-
camerasPermissions: Map<number, string[]>;
|
|
15
|
-
auth: Auth;
|
|
16
|
-
constructor(notification?: NotificationService | undefined);
|
|
17
|
-
get userDisplayName(): string | null;
|
|
18
|
-
protected afterInit(): void;
|
|
19
|
-
setAuthStore(auth: Auth): void;
|
|
20
|
-
updateUserPassword(passwordData: {
|
|
21
|
-
previous: string;
|
|
22
|
-
new: string;
|
|
23
|
-
}): Promise<void>;
|
|
24
|
-
fetchPermissions(): Promise<void>;
|
|
25
|
-
updateUserSettings({ firstName, lastName }: {
|
|
26
|
-
firstName: string;
|
|
27
|
-
lastName: string;
|
|
28
|
-
}): Observable<RawUser>;
|
|
29
|
-
updateCustomPreferences: (preferences: Record<string, any>) => Observable<RawUser>;
|
|
30
|
-
setDefaultGroup(groupId: number): Observable<RawUser> | undefined;
|
|
31
|
-
getPreference: (key: string) => any;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
11
|
declare class Api<T> {
|
|
35
12
|
[key: string]: any;
|
|
36
13
|
static create<T extends PartialApi>(apiConfig: T | null, authStore: Auth, createConnection: (accessToken: string) => Connection): Api<T> & ExtractHubs<IApi, T>;
|
|
@@ -53,6 +30,18 @@ declare class Api<T> {
|
|
|
53
30
|
private subscribeToEvents;
|
|
54
31
|
}
|
|
55
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
|
+
|
|
56
45
|
declare type ApiResult<T> = {
|
|
57
46
|
success: true;
|
|
58
47
|
resultItems: T[];
|
|
@@ -72,7 +61,11 @@ declare abstract class ApiStore {
|
|
|
72
61
|
dispose(): void;
|
|
73
62
|
}
|
|
74
63
|
|
|
75
|
-
declare
|
|
64
|
+
declare type ArchiveChunk = Chunk & {
|
|
65
|
+
isLive: false;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
declare class ArchiveChunk_2 implements Chunk_2 {
|
|
76
69
|
json?: string;
|
|
77
70
|
startTime: Date;
|
|
78
71
|
endTime: Date;
|
|
@@ -84,16 +77,12 @@ declare class ArchiveChunk implements Chunk {
|
|
|
84
77
|
constructor(raw: any);
|
|
85
78
|
}
|
|
86
79
|
|
|
87
|
-
declare type ArchiveChunk_2 = Chunk_2 & {
|
|
88
|
-
isLive: false;
|
|
89
|
-
};
|
|
90
|
-
|
|
91
80
|
declare class ArchivesStore extends ApiStore {
|
|
92
|
-
data: crossfilter.Crossfilter<
|
|
93
|
-
chunksByCameraId: crossfilter.Dimension<
|
|
94
|
-
chunksByStart: crossfilter.Dimension<
|
|
95
|
-
chunksByEnd: crossfilter.Dimension<
|
|
96
|
-
chunksById: Map<number,
|
|
81
|
+
data: crossfilter.Crossfilter<ArchiveChunk_2>;
|
|
82
|
+
chunksByCameraId: crossfilter.Dimension<ArchiveChunk_2, number>;
|
|
83
|
+
chunksByStart: crossfilter.Dimension<ArchiveChunk_2, number>;
|
|
84
|
+
chunksByEnd: crossfilter.Dimension<ArchiveChunk_2, number>;
|
|
85
|
+
chunksById: Map<number, ArchiveChunk_2>;
|
|
97
86
|
private pendingRequests;
|
|
98
87
|
private pendingRequestsByEnd;
|
|
99
88
|
private pendingRequestsByStart;
|
|
@@ -108,14 +97,14 @@ declare class ArchivesStore extends ApiStore {
|
|
|
108
97
|
* @param endTime - end of the period
|
|
109
98
|
* TODO: add support for null endTime in order to remove requestedArchivesSince logic from player controller
|
|
110
99
|
*/
|
|
111
|
-
fetch(cameraId: number, startTime: Date, endTime: Date): Observable<
|
|
112
|
-
extendKnownInterval(cameraId: number, chunks:
|
|
113
|
-
add(chunks:
|
|
114
|
-
getChunks({ cameraId, from, to }: ChunksQuery):
|
|
100
|
+
fetch(cameraId: number, startTime: Date, endTime: Date): Observable<ArchiveChunk_2[]>;
|
|
101
|
+
extendKnownInterval(cameraId: number, chunks: ArchiveChunk_2[]): void;
|
|
102
|
+
add(chunks: ArchiveChunk_2[]): void;
|
|
103
|
+
getChunks({ cameraId, from, to }: ChunksQuery): ArchiveChunk_2[];
|
|
115
104
|
findClosestChunk({ cameraId, time }: {
|
|
116
105
|
cameraId: number;
|
|
117
106
|
time: Date;
|
|
118
|
-
}):
|
|
107
|
+
}): ArchiveChunk_2;
|
|
119
108
|
protected afterInit(): void;
|
|
120
109
|
}
|
|
121
110
|
|
|
@@ -128,6 +117,7 @@ declare class Auth {
|
|
|
128
117
|
widgetTokenServiceUrl?: string;
|
|
129
118
|
deviceInfo: string | null;
|
|
130
119
|
clientId: string;
|
|
120
|
+
private pendingUpdateTokenRequest;
|
|
131
121
|
get isAuthenticated(): boolean;
|
|
132
122
|
constructor({ tokenServiceUrl, widgetTokenServiceUrl, storage, tokenStorageKey, deviceInfo, clientId }: AuthStoreOptions);
|
|
133
123
|
signOut: () => void;
|
|
@@ -139,12 +129,11 @@ declare class Auth {
|
|
|
139
129
|
}) => Promise<Token> | undefined;
|
|
140
130
|
invalidateToken: () => void;
|
|
141
131
|
getTokenFromStorage(): Promise<Token | null>;
|
|
142
|
-
storeToken
|
|
143
|
-
getInitialToken
|
|
144
|
-
fetchTokenBy
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
fetchWidgetToken(token: Token): Promise<Token>;
|
|
132
|
+
private storeToken;
|
|
133
|
+
private getInitialToken;
|
|
134
|
+
private fetchTokenBy;
|
|
135
|
+
private updateToken;
|
|
136
|
+
private fetchWidgetToken;
|
|
148
137
|
}
|
|
149
138
|
|
|
150
139
|
declare interface AuthStoreOptions {
|
|
@@ -169,19 +158,7 @@ export declare const BoxSelector: (({ onSelect, onRequestCancel, onClose }: Prop
|
|
|
169
158
|
displayName: string;
|
|
170
159
|
};
|
|
171
160
|
|
|
172
|
-
declare class Camera
|
|
173
|
-
static contextType: React_2.Context<ToolkitApp | null>;
|
|
174
|
-
context: React_2.ContextType<typeof AppContext>;
|
|
175
|
-
private playerRef;
|
|
176
|
-
onFullscreenRequest: null | (() => void);
|
|
177
|
-
componentDidMount(): void;
|
|
178
|
-
componentDidUpdate(): void;
|
|
179
|
-
initFullscreen(): void;
|
|
180
|
-
render(): JSX.Element | null;
|
|
181
|
-
}
|
|
182
|
-
export default Camera;
|
|
183
|
-
|
|
184
|
-
declare class Camera_2 {
|
|
161
|
+
export declare class Camera {
|
|
185
162
|
id: number;
|
|
186
163
|
name: string;
|
|
187
164
|
imageUrl: string;
|
|
@@ -201,12 +178,18 @@ declare class Camera_2 {
|
|
|
201
178
|
pin: string;
|
|
202
179
|
webRtcUrl: string;
|
|
203
180
|
isPtz: boolean;
|
|
181
|
+
permissions: number;
|
|
204
182
|
get isOnline(): boolean;
|
|
205
183
|
get supportsWebRTC(): boolean;
|
|
206
184
|
constructor(raw: RawCamera);
|
|
207
185
|
update: (raw: RawCamera) => void;
|
|
208
186
|
}
|
|
209
187
|
|
|
188
|
+
declare const Camera_2: ((props: Props) => JSX.Element) & {
|
|
189
|
+
displayName: string;
|
|
190
|
+
};
|
|
191
|
+
export default Camera_2;
|
|
192
|
+
|
|
210
193
|
declare interface Camera_3 {
|
|
211
194
|
id: number;
|
|
212
195
|
name: string;
|
|
@@ -224,36 +207,10 @@ declare interface Camera_3 {
|
|
|
224
207
|
Lng: number;
|
|
225
208
|
} | null;
|
|
226
209
|
archiveDuration: number;
|
|
210
|
+
permissions: number;
|
|
227
211
|
raw: RawCamera;
|
|
228
212
|
}
|
|
229
213
|
|
|
230
|
-
declare class CameraEvent {
|
|
231
|
-
id: number;
|
|
232
|
-
startTime: Date;
|
|
233
|
-
endTime: Date;
|
|
234
|
-
cameraId: number;
|
|
235
|
-
type: EventType_2;
|
|
236
|
-
thumbnailUrl: string;
|
|
237
|
-
raw: RawEvent;
|
|
238
|
-
foundObjects: FoundObject[];
|
|
239
|
-
faces: Face[];
|
|
240
|
-
get isLive(): boolean;
|
|
241
|
-
constructor(raw: RawEvent);
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
declare class CamerasStore extends ApiStore {
|
|
245
|
-
camerasById: Map<number, Camera_2>;
|
|
246
|
-
data: Camera_2[];
|
|
247
|
-
loading: boolean;
|
|
248
|
-
loaded: boolean;
|
|
249
|
-
constructor();
|
|
250
|
-
fetch(): Observable<RawCamera[]>;
|
|
251
|
-
add: (cameras: RawCamera[]) => void;
|
|
252
|
-
sync: () => void;
|
|
253
|
-
protected afterInit(): void;
|
|
254
|
-
dispose(): void;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
214
|
declare interface CameraStatistics {
|
|
258
215
|
id: number;
|
|
259
216
|
month: number;
|
|
@@ -268,19 +225,19 @@ declare interface CamgroupItem {
|
|
|
268
225
|
}
|
|
269
226
|
|
|
270
227
|
declare interface Chunk {
|
|
271
|
-
json?: string;
|
|
272
228
|
startTime: Date;
|
|
273
229
|
endTime: Date;
|
|
274
230
|
streamUrl: string;
|
|
275
231
|
duration?: number;
|
|
232
|
+
cameraId: number;
|
|
276
233
|
}
|
|
277
234
|
|
|
278
235
|
declare interface Chunk_2 {
|
|
236
|
+
json?: string;
|
|
279
237
|
startTime: Date;
|
|
280
238
|
endTime: Date;
|
|
281
239
|
streamUrl: string;
|
|
282
240
|
duration?: number;
|
|
283
|
-
cameraId: number;
|
|
284
241
|
}
|
|
285
242
|
|
|
286
243
|
declare interface ChunksQuery {
|
|
@@ -300,9 +257,10 @@ declare interface Clip {
|
|
|
300
257
|
name: string;
|
|
301
258
|
}
|
|
302
259
|
|
|
303
|
-
export declare
|
|
304
|
-
|
|
305
|
-
|
|
260
|
+
export declare const CloseControl: {
|
|
261
|
+
({ onClick }: Props_3): JSX.Element | null;
|
|
262
|
+
displayName: string;
|
|
263
|
+
};
|
|
306
264
|
|
|
307
265
|
declare interface Connection {
|
|
308
266
|
state: CONNECTION_STATE;
|
|
@@ -341,8 +299,8 @@ export declare class Controls extends React_2.Component<Props_5> {
|
|
|
341
299
|
static contextType: React_2.Context<PlayerController>;
|
|
342
300
|
static Spacer: React_2.FC;
|
|
343
301
|
containerRef: React_2.RefObject<HTMLDivElement>;
|
|
344
|
-
|
|
345
|
-
|
|
302
|
+
mutationObserver: MutationObserver;
|
|
303
|
+
resizeReactionDisposer: IReactionDisposer;
|
|
346
304
|
componentDidUpdate(): void;
|
|
347
305
|
componentDidMount(): void;
|
|
348
306
|
reflow: () => void;
|
|
@@ -354,52 +312,9 @@ declare type DeepPartial<T> = {
|
|
|
354
312
|
[K in keyof T]?: DeepPartial<T[K]>;
|
|
355
313
|
};
|
|
356
314
|
|
|
357
|
-
export declare
|
|
358
|
-
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
declare class EventListlStore {
|
|
362
|
-
private eventsStore;
|
|
363
|
-
data: CameraEvent[];
|
|
364
|
-
cameraFilters: Camera_2[];
|
|
365
|
-
objectFilters: EventOption[];
|
|
366
|
-
to: Date | null;
|
|
367
|
-
from: Date;
|
|
368
|
-
loading: boolean;
|
|
369
|
-
probabilityThreshold: number;
|
|
370
|
-
facesProbabilityThreshold: number;
|
|
371
|
-
onlyFaces: boolean;
|
|
372
|
-
totalCount: number;
|
|
373
|
-
facesCount: number;
|
|
374
|
-
title: string;
|
|
375
|
-
pendingData: CameraEvent[];
|
|
376
|
-
paused: boolean;
|
|
377
|
-
updates: number;
|
|
378
|
-
colors: Set<string>;
|
|
379
|
-
get someAnalyticsFilterSelected(): boolean;
|
|
380
|
-
get filters(): (Camera_2 | EventOption)[];
|
|
381
|
-
constructor(eventsStore: EventsStore);
|
|
382
|
-
flushUpdates: () => void;
|
|
383
|
-
isAboveThreshold: (e: CameraEvent) => boolean;
|
|
384
|
-
hasFacesAboveThreshold: (e: CameraEvent) => boolean;
|
|
385
|
-
toggleFaces(): void;
|
|
386
|
-
load(): void;
|
|
387
|
-
setFilters(filters: (Camera_2 | EventOption)[] | null): void;
|
|
388
|
-
getProbabilityTreshold: () => number;
|
|
389
|
-
setProbabilityTreshold: (value: number) => void;
|
|
390
|
-
getFacesProbabilityTreshold: () => number;
|
|
391
|
-
setFacesProbabilityTreshold: (value: number) => void;
|
|
392
|
-
toggleColor(color: string): void;
|
|
393
|
-
clearColors(): void;
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
declare interface EventOption {
|
|
397
|
-
id: string;
|
|
398
|
-
name: string;
|
|
399
|
-
color: string;
|
|
400
|
-
highlightColor: string;
|
|
401
|
-
isEventType: boolean;
|
|
402
|
-
}
|
|
315
|
+
export declare const DefaultControls: (({ onRequestClose, onRequestToggleFullscreen }: Props_7) => JSX.Element) & {
|
|
316
|
+
displayName: string;
|
|
317
|
+
};
|
|
403
318
|
|
|
404
319
|
declare const events: {
|
|
405
320
|
[P in keyof PartialApi]: Array<{
|
|
@@ -408,104 +323,7 @@ declare const events: {
|
|
|
408
323
|
}>;
|
|
409
324
|
};
|
|
410
325
|
|
|
411
|
-
declare
|
|
412
|
-
api: Api<IApi> & IApi;
|
|
413
|
-
schemaDescription: SchemaDescriptionParameter[];
|
|
414
|
-
get foundObjectTypes(): string[];
|
|
415
|
-
get foundObjectTypesForSelect(): {
|
|
416
|
-
id: EventType;
|
|
417
|
-
name: string;
|
|
418
|
-
color: string;
|
|
419
|
-
highlightColor: any;
|
|
420
|
-
isEventType: boolean;
|
|
421
|
-
}[];
|
|
422
|
-
get colorsByFoundObjectType(): Map<string, string>;
|
|
423
|
-
fetchAnalyticEventSchema: () => void;
|
|
424
|
-
protected afterInit(): void;
|
|
425
|
-
dispose(): void;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
declare interface EventsQuery {
|
|
429
|
-
cameraIds?: number[];
|
|
430
|
-
from: Date;
|
|
431
|
-
to: Date | null;
|
|
432
|
-
objectType?: string[];
|
|
433
|
-
colors?: Set<string>;
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
declare class EventsStore extends ApiStore {
|
|
437
|
-
private camerasStore;
|
|
438
|
-
data: crossfilter.Crossfilter<CameraEvent>;
|
|
439
|
-
eventsByCameraId: crossfilter.Dimension<CameraEvent, number>;
|
|
440
|
-
eventsByStart: crossfilter.Dimension<CameraEvent, number>;
|
|
441
|
-
eventsByEnd: crossfilter.Dimension<CameraEvent, number>;
|
|
442
|
-
eventsByType: crossfilter.Dimension<CameraEvent, EventType_2>;
|
|
443
|
-
eventsByFoundObjects: crossfilter.Dimension<CameraEvent, string>;
|
|
444
|
-
eventsByColor: crossfilter.Dimension<CameraEvent, string>;
|
|
445
|
-
eventsByLiveliness: crossfilter.Dimension<CameraEvent, boolean>;
|
|
446
|
-
pendingRequests: crossfilter.Crossfilter<PendingRequest>;
|
|
447
|
-
pendingRequestsByEnd: crossfilter.Dimension<PendingRequest, number>;
|
|
448
|
-
pendingRequestsByStart: crossfilter.Dimension<PendingRequest, number>;
|
|
449
|
-
pendingRequestsByCameraId: crossfilter.Dimension<PendingRequest, number>;
|
|
450
|
-
knownIntervals: crossfilter.Crossfilter<Interval_2>;
|
|
451
|
-
knownIntervalsByCameraId: crossfilter.Dimension<Interval_2, number>;
|
|
452
|
-
knownIntervalsByStart: crossfilter.Dimension<Interval_2, number>;
|
|
453
|
-
knownIntervalsByEnd: crossfilter.Dimension<Interval_2, number>;
|
|
454
|
-
eventsById: Map<number, CameraEvent>;
|
|
455
|
-
updates: number;
|
|
456
|
-
/**
|
|
457
|
-
* Contains recent additions to the store as list of event ids
|
|
458
|
-
* NOTE: do not update several times in single action as we lose info about intermediate additions that way
|
|
459
|
-
*/
|
|
460
|
-
recentAdditions: number[];
|
|
461
|
-
constructor(camerasStore: CamerasStore);
|
|
462
|
-
/**
|
|
463
|
-
* Fetches events for given camera and period
|
|
464
|
-
* @param cameraId - camera id or -1 to fetch all available events for given period
|
|
465
|
-
* @param startTime - start of the period
|
|
466
|
-
* @param endTime - end of the period
|
|
467
|
-
*/
|
|
468
|
-
fetchEvents(cameraId: number, startTime: Date, endTime: Date | null): Observable<CameraEvent[]>;
|
|
469
|
-
update: (data: CameraEvent[]) => void;
|
|
470
|
-
add: (data: CameraEvent[]) => void;
|
|
471
|
-
getEvents({ cameraIds, from, to, objectType, colors }: EventsQuery): CameraEvent[];
|
|
472
|
-
getOverlappedEvents({ cameraId, from, to }: {
|
|
473
|
-
cameraId: number;
|
|
474
|
-
from: Date;
|
|
475
|
-
to: Date;
|
|
476
|
-
}): CameraEvent[];
|
|
477
|
-
getLastBefore({ cameraId, date }: {
|
|
478
|
-
cameraId: number;
|
|
479
|
-
date: Date;
|
|
480
|
-
}): CameraEvent;
|
|
481
|
-
getFirstAfter({ cameraId, date }: {
|
|
482
|
-
cameraId: number;
|
|
483
|
-
date: Date;
|
|
484
|
-
}): CameraEvent;
|
|
485
|
-
protected afterInit(): void;
|
|
486
|
-
processNewEvents: ({ data }: {
|
|
487
|
-
data: RawEvent[];
|
|
488
|
-
}) => void;
|
|
489
|
-
dispose(): void;
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
declare enum EventType {
|
|
493
|
-
Motion = "Motion",
|
|
494
|
-
Tampering = "Tampering",
|
|
495
|
-
PanTiltZoom = "PanTiltZoom",
|
|
496
|
-
CrossLine = "CrossLine",
|
|
497
|
-
Start = "Start",
|
|
498
|
-
Stop = "Stop",
|
|
499
|
-
Restart = "Restart",
|
|
500
|
-
Audio = "Audio",
|
|
501
|
-
Analytic = "Analytic",
|
|
502
|
-
Unknown = "Unknown"
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
declare enum EventType_2 {
|
|
506
|
-
Default = "Default",
|
|
507
|
-
Analytic = "Analytic"
|
|
508
|
-
}
|
|
326
|
+
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';
|
|
509
327
|
|
|
510
328
|
declare type ExtractHubs<T, K> = {
|
|
511
329
|
[P in keyof ExtractMethods<T, K>]: ExtractMethods<T[P], K[P]>;
|
|
@@ -513,47 +331,12 @@ declare type ExtractHubs<T, K> = {
|
|
|
513
331
|
|
|
514
332
|
declare type ExtractMethods<T, K> = Pick<T, Extract<keyof T, keyof K>>;
|
|
515
333
|
|
|
516
|
-
declare interface Face {
|
|
517
|
-
PersonId: number;
|
|
518
|
-
Name: string;
|
|
519
|
-
Box: {
|
|
520
|
-
Left: number;
|
|
521
|
-
Top: number;
|
|
522
|
-
Right: number;
|
|
523
|
-
Bottom: number;
|
|
524
|
-
};
|
|
525
|
-
Probability: number;
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
declare interface FoundObject {
|
|
529
|
-
Type: string;
|
|
530
|
-
Box: {
|
|
531
|
-
Left: number;
|
|
532
|
-
Top: number;
|
|
533
|
-
Right: number;
|
|
534
|
-
Bottom: number;
|
|
535
|
-
};
|
|
536
|
-
Probability: number;
|
|
537
|
-
Colors: {
|
|
538
|
-
Color: string;
|
|
539
|
-
}[];
|
|
540
|
-
}
|
|
541
|
-
|
|
542
334
|
declare const FULL_API_CONFIG: IApi;
|
|
543
335
|
|
|
544
|
-
export declare
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
declare interface GetThumbnailParams {
|
|
549
|
-
cameraId: number;
|
|
550
|
-
from: Date;
|
|
551
|
-
to: Date;
|
|
552
|
-
size?: {
|
|
553
|
-
width: number;
|
|
554
|
-
height: number;
|
|
555
|
-
};
|
|
556
|
-
}
|
|
336
|
+
export declare const FullscreenControl: {
|
|
337
|
+
({ onClick }: Props_6): JSX.Element | null;
|
|
338
|
+
displayName: string;
|
|
339
|
+
};
|
|
557
340
|
|
|
558
341
|
declare interface IApi {
|
|
559
342
|
archives: {
|
|
@@ -579,6 +362,9 @@ declare interface IApi {
|
|
|
579
362
|
GetCameras: (camera: {
|
|
580
363
|
id?: number;
|
|
581
364
|
} | null, since: Date | null) => Observable<ApiResult<RawCamera>>;
|
|
365
|
+
/**
|
|
366
|
+
* @deprecated
|
|
367
|
+
*/
|
|
582
368
|
GetMotionEvents: (params: {
|
|
583
369
|
cameraId: number;
|
|
584
370
|
endTime: Date | null;
|
|
@@ -586,9 +372,18 @@ declare interface IApi {
|
|
|
586
372
|
}) => Observable<OBVIOUSLY_NEEDS_TO_BE_FIXED_EventsApiResult<RawEvent>>;
|
|
587
373
|
GetSensorDataSchema: (eventType: EventType) => Observable<any>;
|
|
588
374
|
GetSensorEvents: (params: SensorEventsParams, filter: string, box: Box) => Observable<ApiResult<RawSensorEvent>>;
|
|
375
|
+
GetSensorEventsPage: (request: SensorEventsRequest, filter: string | null, searchPolygons: string[]) => Observable<ApiPageResult<RawSensorEvent>>;
|
|
376
|
+
AddUserSensorEvent: (event: PartialExcept<RawSensorEvent, 'id' | 'eventType' | 'message'>) => Observable<ApiResult<RawSensorEvent>>;
|
|
377
|
+
AcknowledgeSensorEvent: (event: PartialExcept<RawSensorEvent, 'id' | 'ackEventType' | 'message'>) => Observable<ApiResult<RawSensorEvent>>;
|
|
589
378
|
MoveCamera: (camera: {
|
|
590
379
|
id: number;
|
|
591
380
|
}, x: number, y: number, zoom: number, moveSpeed: number, zoomSpeed: number) => Observable<any>;
|
|
381
|
+
MoveCameraContinuousStart: ({ id }: {
|
|
382
|
+
id: number;
|
|
383
|
+
}, x: number, y: number, zoom: number, timeout: number) => Observable<any>;
|
|
384
|
+
MoveCameraContinuousStop: ({ id }: {
|
|
385
|
+
id: number;
|
|
386
|
+
}) => Observable<any>;
|
|
592
387
|
GoHomePtzCamera: ({ id }: {
|
|
593
388
|
id: number;
|
|
594
389
|
}) => Observable<any>;
|
|
@@ -630,32 +425,6 @@ declare interface IApi {
|
|
|
630
425
|
};
|
|
631
426
|
}
|
|
632
427
|
|
|
633
|
-
declare interface InitParams {
|
|
634
|
-
token?: RawToken | {
|
|
635
|
-
widgetId: string;
|
|
636
|
-
widgetToken: string;
|
|
637
|
-
};
|
|
638
|
-
tokenStorage?: Storage_2;
|
|
639
|
-
tokenStorageKey?: string;
|
|
640
|
-
apiUrl?: string;
|
|
641
|
-
tokenServiceUrl?: string;
|
|
642
|
-
widgetTokenServiceUrl?: string;
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
declare interface Interval_2 {
|
|
646
|
-
cameraId: number;
|
|
647
|
-
from: Date;
|
|
648
|
-
to: Date;
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
declare type IntervalState = {
|
|
652
|
-
state: 'fullfilled';
|
|
653
|
-
data: Thumbnail;
|
|
654
|
-
} | {
|
|
655
|
-
state: 'pending';
|
|
656
|
-
request: Observable<any>;
|
|
657
|
-
};
|
|
658
|
-
|
|
659
428
|
declare class LiveChunk {
|
|
660
429
|
cameraId: number;
|
|
661
430
|
streamUrl: string;
|
|
@@ -679,24 +448,6 @@ declare class LiveChunk {
|
|
|
679
448
|
setBounds: (range: [Date, Date]) => void;
|
|
680
449
|
}
|
|
681
450
|
|
|
682
|
-
declare interface NotificationOptions_2 {
|
|
683
|
-
autoClose: number | false | undefined;
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
-
declare class NotificationService implements Notifier {
|
|
687
|
-
private notifier;
|
|
688
|
-
constructor(notifier: Notifier);
|
|
689
|
-
error(message: string): void;
|
|
690
|
-
success(message: string, options?: NotificationOptions_2): void;
|
|
691
|
-
warn(message: string): void;
|
|
692
|
-
}
|
|
693
|
-
|
|
694
|
-
declare interface Notifier {
|
|
695
|
-
success: (message: string, options?: NotificationOptions_2) => void;
|
|
696
|
-
warn: (message: string) => void;
|
|
697
|
-
error: (message: string) => void;
|
|
698
|
-
}
|
|
699
|
-
|
|
700
451
|
declare type OBVIOUSLY_NEEDS_TO_BE_FIXED_EventsApiResult<T> = {
|
|
701
452
|
success: true;
|
|
702
453
|
motionEventItems: T[];
|
|
@@ -708,32 +459,19 @@ declare type OBVIOUSLY_NEEDS_TO_BE_FIXED_EventsApiResult<T> = {
|
|
|
708
459
|
};
|
|
709
460
|
};
|
|
710
461
|
|
|
711
|
-
declare
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
startTime: Date;
|
|
716
|
-
endTime: Date;
|
|
717
|
-
request: Observable<any>;
|
|
462
|
+
declare interface PageInfo {
|
|
463
|
+
isDescending: boolean;
|
|
464
|
+
nextPageToken: number;
|
|
465
|
+
haveMore: boolean;
|
|
718
466
|
}
|
|
719
467
|
|
|
720
|
-
declare
|
|
721
|
-
cameraId: number;
|
|
722
|
-
from: Date;
|
|
723
|
-
to: Date;
|
|
724
|
-
count: number;
|
|
725
|
-
request: Observable<any>;
|
|
726
|
-
}
|
|
468
|
+
declare type PartialApi = DeepPartial<IApi>;
|
|
727
469
|
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
close: () => void;
|
|
734
|
-
changePlaybackRate: (idx: number) => void;
|
|
735
|
-
render(): JSX.Element | null;
|
|
736
|
-
}
|
|
470
|
+
declare type PartialExcept<T, K extends keyof T> = Pick<T, K> & Partial<T>;
|
|
471
|
+
|
|
472
|
+
export declare const PlaybackRateControl: (() => JSX.Element | null) & {
|
|
473
|
+
displayName: string;
|
|
474
|
+
};
|
|
737
475
|
|
|
738
476
|
declare interface PlayerBehavior {
|
|
739
477
|
player: PlayerController;
|
|
@@ -753,7 +491,7 @@ declare class PlayerController {
|
|
|
753
491
|
disposables: (IReactionDisposer | Subscription)[];
|
|
754
492
|
liveChunk?: LiveChunk | null;
|
|
755
493
|
currentTime: Date | null;
|
|
756
|
-
chunk:
|
|
494
|
+
chunk: ArchiveChunk | LiveChunk | null;
|
|
757
495
|
paused: boolean;
|
|
758
496
|
loading: boolean;
|
|
759
497
|
error: any;
|
|
@@ -765,11 +503,12 @@ declare class PlayerController {
|
|
|
765
503
|
stats: any;
|
|
766
504
|
mode: 'archive' | 'DVR' | 'WebRTC' | null;
|
|
767
505
|
behavior: PlayerBehavior | null;
|
|
506
|
+
transform: string | null;
|
|
768
507
|
width: number;
|
|
769
508
|
height: number;
|
|
770
509
|
chunkRequestTime: Date | null;
|
|
771
510
|
requestedArchivesSince: Date;
|
|
772
|
-
archivesRequest: Observable<
|
|
511
|
+
archivesRequest: Observable<ArchiveChunk[]>;
|
|
773
512
|
video: HTMLVideoElement;
|
|
774
513
|
clip?: Clip;
|
|
775
514
|
startTime: Date | null;
|
|
@@ -807,12 +546,12 @@ declare class PlayerController {
|
|
|
807
546
|
replaceErrorMessageOnOffline(): void;
|
|
808
547
|
changeMedia: ({ time, chunk }: {
|
|
809
548
|
time?: Date | null | undefined;
|
|
810
|
-
chunk?: LiveChunk |
|
|
549
|
+
chunk?: LiveChunk | ArchiveChunk | undefined;
|
|
811
550
|
}) => void;
|
|
812
551
|
initCurrentTime(): void;
|
|
813
552
|
initLiveChunkUpdate(): void;
|
|
814
553
|
initChunkRequest(): void;
|
|
815
|
-
requestArchives: (time: Date) => Observable<
|
|
554
|
+
requestArchives: (time: Date) => Observable<ArchiveChunk[]>;
|
|
816
555
|
setupLiveChunk(): void;
|
|
817
556
|
/**
|
|
818
557
|
* Inits correct behavior for current player mode
|
|
@@ -825,13 +564,15 @@ declare class PlayerController {
|
|
|
825
564
|
toggleResizeMode: () => void;
|
|
826
565
|
setVideoResizeMode: (mode: VideoResizeMode) => void;
|
|
827
566
|
toggleMute: () => void;
|
|
567
|
+
setStartTime: (time: Date | null) => void;
|
|
828
568
|
setVolume: (volume: number) => void;
|
|
829
569
|
setPlaybackRate: (rate: number) => void;
|
|
830
570
|
reactToVolumeChange(): void;
|
|
831
571
|
togglePlayback: () => void;
|
|
572
|
+
setTransform(transform: string | null): void;
|
|
832
573
|
play: () => void;
|
|
833
574
|
pause: () => void;
|
|
834
|
-
detach()
|
|
575
|
+
detach: () => void;
|
|
835
576
|
private initUpgradeToWebRtc;
|
|
836
577
|
}
|
|
837
578
|
|
|
@@ -843,10 +584,9 @@ declare interface PlayerEventStreams {
|
|
|
843
584
|
muted$: Observable<boolean>;
|
|
844
585
|
}
|
|
845
586
|
|
|
846
|
-
export declare
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
}
|
|
587
|
+
export declare const PlayPauseControl: (() => JSX.Element) & {
|
|
588
|
+
displayName: string;
|
|
589
|
+
};
|
|
850
590
|
|
|
851
591
|
declare interface Props extends Omit<React_2.HTMLAttributes<HTMLDivElement>, 'onMouseDown'> {
|
|
852
592
|
cameraId: number;
|
|
@@ -872,6 +612,7 @@ declare type Props_4 = React_2.HTMLAttributes<HTMLButtonElement> & {
|
|
|
872
612
|
|
|
873
613
|
declare interface Props_5 {
|
|
874
614
|
children: React_2.ReactNode;
|
|
615
|
+
style?: React_2.CSSProperties;
|
|
875
616
|
}
|
|
876
617
|
|
|
877
618
|
declare interface Props_6 {
|
|
@@ -883,6 +624,8 @@ declare interface Props_7 {
|
|
|
883
624
|
onRequestToggleFullscreen: (() => void) | null;
|
|
884
625
|
}
|
|
885
626
|
|
|
627
|
+
export declare const PtzControl: React_2.FC;
|
|
628
|
+
|
|
886
629
|
declare interface RawCamera {
|
|
887
630
|
id: number;
|
|
888
631
|
customerId: number;
|
|
@@ -966,24 +709,24 @@ declare interface RawEvent {
|
|
|
966
709
|
startTime: string;
|
|
967
710
|
endTime?: string;
|
|
968
711
|
cameraId: number;
|
|
969
|
-
|
|
970
|
-
data: string;
|
|
712
|
+
data: string | null;
|
|
971
713
|
}
|
|
972
714
|
|
|
973
715
|
declare interface RawSensorEvent {
|
|
974
716
|
message: string;
|
|
975
|
-
data: string;
|
|
976
|
-
minEventDuration: number;
|
|
717
|
+
data: string | null;
|
|
977
718
|
id: number;
|
|
978
719
|
customerId: number;
|
|
979
720
|
sensorId: number;
|
|
980
721
|
sensorType: 'CameraSensor' | 'MotionSensor' | 'IntrusionSensor' | 'AudioSensor' | 'TemperatureSensor' | 'SpeedSensor' | 'Unknown';
|
|
981
|
-
eventType:
|
|
722
|
+
eventType: EventType;
|
|
723
|
+
ackEventType: string;
|
|
982
724
|
description?: any;
|
|
983
725
|
tags?: any;
|
|
984
726
|
customerData?: any;
|
|
985
727
|
startTime: string;
|
|
986
728
|
endTime: string;
|
|
729
|
+
userId: string;
|
|
987
730
|
}
|
|
988
731
|
|
|
989
732
|
declare interface RawSharedClip {
|
|
@@ -1048,22 +791,9 @@ declare interface RawUser {
|
|
|
1048
791
|
version: string;
|
|
1049
792
|
}
|
|
1050
793
|
|
|
1051
|
-
export declare
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
render(): JSX.Element;
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
declare interface SchemaDescriptionParameter {
|
|
1058
|
-
schemaId: number;
|
|
1059
|
-
eventType: string;
|
|
1060
|
-
description: string;
|
|
1061
|
-
fieldName: string;
|
|
1062
|
-
parameterType: string;
|
|
1063
|
-
possibleValues: string;
|
|
1064
|
-
valueSet: string;
|
|
1065
|
-
values?: string[];
|
|
1066
|
-
}
|
|
794
|
+
export declare const ResizeModeControl: (() => JSX.Element) & {
|
|
795
|
+
displayName: string;
|
|
796
|
+
};
|
|
1067
797
|
|
|
1068
798
|
declare interface SensorEventsParams {
|
|
1069
799
|
sensorId: number;
|
|
@@ -1073,6 +803,62 @@ declare interface SensorEventsParams {
|
|
|
1073
803
|
eventType: EventType;
|
|
1074
804
|
}
|
|
1075
805
|
|
|
806
|
+
declare interface SensorEventsRequest {
|
|
807
|
+
sensorIds: number[];
|
|
808
|
+
sensorType: string;
|
|
809
|
+
sensorEventTypes: SensorEventType[];
|
|
810
|
+
startTime?: Date;
|
|
811
|
+
endTime?: Date;
|
|
812
|
+
isDescending: boolean;
|
|
813
|
+
rowsLimit: number;
|
|
814
|
+
pageToken?: number;
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
declare enum SensorEventType {
|
|
818
|
+
Motion = 0,
|
|
819
|
+
Tampering = 1,
|
|
820
|
+
PanTiltZoom = 2,
|
|
821
|
+
CrossLine = 3,
|
|
822
|
+
Intrusion = 4,
|
|
823
|
+
LicensePlate = 5,
|
|
824
|
+
FaceDetection = 6,
|
|
825
|
+
Audio = 7,
|
|
826
|
+
Analytic = 8,
|
|
827
|
+
SpeedDetection = 9,
|
|
828
|
+
PeopleCounter = 10,
|
|
829
|
+
Temperature = 11,
|
|
830
|
+
PoS = 12,
|
|
831
|
+
GPS = 13,
|
|
832
|
+
DigitalInput = 14,
|
|
833
|
+
Normal = 15,
|
|
834
|
+
Suspicious = 16,
|
|
835
|
+
Loitering = 17,
|
|
836
|
+
Vandalism = 18,
|
|
837
|
+
Trespass = 19,
|
|
838
|
+
Emergency = 20,
|
|
839
|
+
LifeInDanger = 21,
|
|
840
|
+
ErroneousAlert = 22,
|
|
841
|
+
Misidentification = 23,
|
|
842
|
+
Fire = 24,
|
|
843
|
+
MedicalDuress = 25,
|
|
844
|
+
HoldUp = 26,
|
|
845
|
+
CheckIn = 27,
|
|
846
|
+
CheckOut = 28,
|
|
847
|
+
ClockIn = 29,
|
|
848
|
+
ClockOut = 30,
|
|
849
|
+
ParkingStart = 31,
|
|
850
|
+
ParkingEnd = 32,
|
|
851
|
+
ParkingViolation = 33,
|
|
852
|
+
GateAccess = 34,
|
|
853
|
+
DoorAccess = 35,
|
|
854
|
+
TemperatureCheck = 36,
|
|
855
|
+
IDCheck = 37,
|
|
856
|
+
PPECheck = 38,
|
|
857
|
+
WelfareCheck = 39,
|
|
858
|
+
Uncategorized = 40,
|
|
859
|
+
Unknown = 999
|
|
860
|
+
}
|
|
861
|
+
|
|
1076
862
|
export declare class SnapshotControl extends React_2.Component {
|
|
1077
863
|
static contextType: React_2.Context<PlayerController>;
|
|
1078
864
|
get player(): PlayerController;
|
|
@@ -1086,53 +872,6 @@ declare interface Storage_2 {
|
|
|
1086
872
|
removeItem: (key: string) => void | Promise<undefined>;
|
|
1087
873
|
}
|
|
1088
874
|
|
|
1089
|
-
declare interface Thumbnail {
|
|
1090
|
-
cameraId: number;
|
|
1091
|
-
timestamp: Date;
|
|
1092
|
-
realTimestamp: Date;
|
|
1093
|
-
url: string;
|
|
1094
|
-
width: number;
|
|
1095
|
-
height: number;
|
|
1096
|
-
}
|
|
1097
|
-
|
|
1098
|
-
declare class ThumbnailsStore extends ApiStore {
|
|
1099
|
-
thumbnails: crossfilter.Crossfilter<Thumbnail>;
|
|
1100
|
-
thumbnailsByCameraId: crossfilter.Dimension<Thumbnail, number>;
|
|
1101
|
-
thumbnailsByDate: crossfilter.Dimension<Thumbnail, number>;
|
|
1102
|
-
pendingRequests: crossfilter.Crossfilter<PendingRequest_2>;
|
|
1103
|
-
pendingRequestsByEnd: crossfilter.Dimension<PendingRequest_2, number>;
|
|
1104
|
-
pendingRequestsByStart: crossfilter.Dimension<PendingRequest_2, number>;
|
|
1105
|
-
pendingRequestsByCameraId: crossfilter.Dimension<PendingRequest_2, number>;
|
|
1106
|
-
pendingRequestsByCount: crossfilter.Dimension<PendingRequest_2, number>;
|
|
1107
|
-
constructor();
|
|
1108
|
-
/**
|
|
1109
|
-
* Fetches thumbnails for given camera and period.
|
|
1110
|
-
* Given period is evenly divided by number of smaller periods that equals to `count`.
|
|
1111
|
-
* Server returns first available thumbnail in each period
|
|
1112
|
-
* @param cameraId - camera id
|
|
1113
|
-
* @param from - start of the period
|
|
1114
|
-
* @param to - end of the period
|
|
1115
|
-
* @param count - number of thumbnails
|
|
1116
|
-
*/
|
|
1117
|
-
fetchThumbnails(cameraId: number, from: Date, to: Date, count: number): Observable<any>;
|
|
1118
|
-
getIntervalState(cameraId: number, from: Date, to: Date): IntervalState | null;
|
|
1119
|
-
fetchThumbnail(cameraId: number, from: Date, to: Date): Observable<Thumbnail>;
|
|
1120
|
-
/**
|
|
1121
|
-
* Returns first available thumbnail for given camera within period
|
|
1122
|
-
*/
|
|
1123
|
-
getThumbnail({ cameraId, from, to }: GetThumbnailParams): Thumbnail;
|
|
1124
|
-
/**
|
|
1125
|
-
* Returns previously obtained thumbnails for given camera within period
|
|
1126
|
-
*/
|
|
1127
|
-
getThumbnails({ cameraId, from, to }: GetThumbnailParams): Thumbnail[];
|
|
1128
|
-
toThumbnail: (cameraId: number) => ({ realtimestamp, url, width, height }: {
|
|
1129
|
-
realtimestamp: string;
|
|
1130
|
-
url: string;
|
|
1131
|
-
width: number;
|
|
1132
|
-
height: number;
|
|
1133
|
-
}) => Thumbnail;
|
|
1134
|
-
}
|
|
1135
|
-
|
|
1136
875
|
declare class Token {
|
|
1137
876
|
accessToken: string;
|
|
1138
877
|
accessTokenExpires: Date;
|
|
@@ -1151,49 +890,13 @@ declare class Token {
|
|
|
1151
890
|
constructor(raw: RawToken);
|
|
1152
891
|
}
|
|
1153
892
|
|
|
1154
|
-
declare class ToolkitApp {
|
|
1155
|
-
readonly name: string;
|
|
1156
|
-
cameras: CamerasStore;
|
|
1157
|
-
archives: ArchivesStore;
|
|
1158
|
-
events: EventsStore;
|
|
1159
|
-
eventSchema: EventSchemaStore;
|
|
1160
|
-
thumbnails: ThumbnailsStore;
|
|
1161
|
-
account: AccountStore;
|
|
1162
|
-
eventList: EventListlStore;
|
|
1163
|
-
notification: NotificationService;
|
|
1164
|
-
auth: Auth;
|
|
1165
|
-
api: Api<IApi> & IApi;
|
|
1166
|
-
private disposables;
|
|
1167
|
-
private tokenUpdateReactions;
|
|
1168
|
-
constructor(name: string);
|
|
1169
|
-
init({ token, tokenStorage: storage, tokenStorageKey, apiUrl, tokenServiceUrl, widgetTokenServiceUrl }: InitParams, name?: string): ToolkitApp;
|
|
1170
|
-
dispose: () => void;
|
|
1171
|
-
/**
|
|
1172
|
-
* Adds a reaction to token changes
|
|
1173
|
-
* If token passed to the callback is null, then the user is signed out
|
|
1174
|
-
* and you should react accordingly
|
|
1175
|
-
* @param cb
|
|
1176
|
-
*/
|
|
1177
|
-
onTokenUpdate: (cb: (token: RawToken | null) => void) => () => void;
|
|
1178
|
-
}
|
|
1179
|
-
|
|
1180
|
-
declare type User = RawUser;
|
|
1181
|
-
|
|
1182
893
|
declare enum VideoResizeMode {
|
|
1183
894
|
Fit = "contain",
|
|
1184
895
|
Stretch = "fill"
|
|
1185
896
|
}
|
|
1186
897
|
|
|
1187
|
-
export declare
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
get player(): PlayerController;
|
|
1191
|
-
close: () => void;
|
|
1192
|
-
toggle: () => void;
|
|
1193
|
-
open: () => void;
|
|
1194
|
-
changeVolume: (e: React_2.ChangeEvent<HTMLInputElement>) => void;
|
|
1195
|
-
preventButtonClick: (e: React_2.MouseEvent<HTMLDivElement>) => void;
|
|
1196
|
-
render(): JSX.Element;
|
|
1197
|
-
}
|
|
898
|
+
export declare const VolumeControl: (() => JSX.Element) & {
|
|
899
|
+
displayName: string;
|
|
900
|
+
};
|
|
1198
901
|
|
|
1199
902
|
export { }
|