livekit-server-sdk 0.5.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/.eslintrc.js +1 -1
  2. package/.github/workflows/test.yaml +3 -0
  3. package/.prettierignore +7 -0
  4. package/README.md +13 -9
  5. package/dist/AccessToken.d.ts +5 -0
  6. package/dist/AccessToken.js +7 -1
  7. package/dist/AccessToken.js.map +1 -1
  8. package/dist/AccessToken.test.js +4 -0
  9. package/dist/AccessToken.test.js.map +1 -1
  10. package/dist/EgressClient.d.ts +60 -0
  11. package/dist/EgressClient.js +198 -0
  12. package/dist/EgressClient.js.map +1 -0
  13. package/dist/RecordingServiceClient.js +5 -1
  14. package/dist/RecordingServiceClient.js.map +1 -1
  15. package/dist/RoomServiceClient.d.ts +1 -2
  16. package/dist/RoomServiceClient.js.map +1 -1
  17. package/dist/TwirpRPC.js.map +1 -1
  18. package/dist/WebhookReceiver.test.js.map +1 -1
  19. package/dist/grants.d.ts +4 -1
  20. package/dist/index.d.ts +3 -2
  21. package/dist/index.js +5 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/proto/google/protobuf/empty.d.ts +6 -2
  24. package/dist/proto/google/protobuf/empty.js +32 -12
  25. package/dist/proto/google/protobuf/empty.js.map +1 -1
  26. package/dist/proto/google/protobuf/timestamp.d.ts +132 -0
  27. package/dist/proto/google/protobuf/timestamp.js +107 -0
  28. package/dist/proto/google/protobuf/timestamp.js.map +1 -0
  29. package/dist/proto/livekit_egress.d.ts +2283 -0
  30. package/dist/proto/livekit_egress.js +1819 -0
  31. package/dist/proto/livekit_egress.js.map +1 -0
  32. package/dist/proto/livekit_models.d.ts +675 -13
  33. package/dist/proto/livekit_models.js +1414 -838
  34. package/dist/proto/livekit_models.js.map +1 -1
  35. package/dist/proto/livekit_recording.d.ts +199 -17
  36. package/dist/proto/livekit_recording.js +284 -570
  37. package/dist/proto/livekit_recording.js.map +1 -1
  38. package/dist/proto/livekit_room.d.ts +566 -34
  39. package/dist/proto/livekit_room.js +302 -671
  40. package/dist/proto/livekit_room.js.map +1 -1
  41. package/dist/proto/livekit_webhook.d.ts +1031 -6
  42. package/dist/proto/livekit_webhook.js +106 -95
  43. package/dist/proto/livekit_webhook.js.map +1 -1
  44. package/package.json +12 -7
@@ -1,15 +1,23 @@
1
- import _m0 from "protobufjs/minimal";
2
- import { Room, ParticipantInfo } from "./livekit_models";
3
- import { RecordingInfo } from "./livekit_recording";
1
+ import * as _m0 from 'protobufjs/minimal';
2
+ import { Room, ParticipantInfo, TrackInfo } from './livekit_models';
3
+ import { RecordingInfo } from './livekit_recording';
4
+ import { EgressInfo } from './livekit_egress';
4
5
  export declare const protobufPackage = "livekit";
5
6
  export interface WebhookEvent {
6
- /** one of room_started, room_finished, participant_joined, participant_left, recording_started, recording_finished */
7
+ /**
8
+ * one of room_started, room_finished, participant_joined, participant_left, recording_started, recording_finished,
9
+ * track_published, track_unpublished, egress_started, egress_ended
10
+ */
7
11
  event: string;
8
12
  room?: Room;
9
- /** set when event is participant_* */
13
+ /** set when event is participant_* or track_* */
10
14
  participant?: ParticipantInfo;
11
15
  /** set when event is recording_* */
12
16
  recordingInfo?: RecordingInfo;
17
+ /** set when event is egress_* */
18
+ egressInfo?: EgressInfo;
19
+ /** set when event is track_* */
20
+ track?: TrackInfo;
13
21
  /** unique event uuid */
14
22
  id: string;
15
23
  /** timestamp in seconds */
@@ -20,10 +28,1027 @@ export declare const WebhookEvent: {
20
28
  decode(input: _m0.Reader | Uint8Array, length?: number | undefined): WebhookEvent;
21
29
  fromJSON(object: any): WebhookEvent;
22
30
  toJSON(message: WebhookEvent): unknown;
23
- fromPartial(object: DeepPartial<WebhookEvent>): WebhookEvent;
31
+ fromPartial<I extends {
32
+ event?: string | undefined;
33
+ room?: {
34
+ sid?: string | undefined;
35
+ name?: string | undefined;
36
+ emptyTimeout?: number | undefined;
37
+ maxParticipants?: number | undefined;
38
+ creationTime?: number | undefined;
39
+ turnPassword?: string | undefined;
40
+ enabledCodecs?: {
41
+ mime?: string | undefined;
42
+ fmtpLine?: string | undefined;
43
+ }[] | undefined;
44
+ metadata?: string | undefined;
45
+ numParticipants?: number | undefined;
46
+ activeRecording?: boolean | undefined;
47
+ } | undefined;
48
+ participant?: {
49
+ sid?: string | undefined;
50
+ identity?: string | undefined;
51
+ state?: import("./livekit_models").ParticipantInfo_State | undefined;
52
+ tracks?: {
53
+ sid?: string | undefined;
54
+ type?: import("./livekit_models").TrackType | undefined;
55
+ name?: string | undefined;
56
+ muted?: boolean | undefined;
57
+ width?: number | undefined;
58
+ height?: number | undefined;
59
+ simulcast?: boolean | undefined;
60
+ disableDtx?: boolean | undefined;
61
+ source?: import("./livekit_models").TrackSource | undefined;
62
+ layers?: {
63
+ quality?: import("./livekit_models").VideoQuality | undefined;
64
+ width?: number | undefined;
65
+ height?: number | undefined;
66
+ bitrate?: number | undefined;
67
+ ssrc?: number | undefined;
68
+ }[] | undefined;
69
+ mimeType?: string | undefined;
70
+ mid?: string | undefined;
71
+ }[] | undefined;
72
+ metadata?: string | undefined;
73
+ joinedAt?: number | undefined;
74
+ name?: string | undefined;
75
+ version?: number | undefined;
76
+ permission?: {
77
+ canSubscribe?: boolean | undefined;
78
+ canPublish?: boolean | undefined;
79
+ canPublishData?: boolean | undefined;
80
+ hidden?: boolean | undefined;
81
+ recorder?: boolean | undefined;
82
+ } | undefined;
83
+ region?: string | undefined;
84
+ isPublisher?: boolean | undefined;
85
+ } | undefined;
86
+ recordingInfo?: {
87
+ id?: string | undefined;
88
+ roomName?: string | undefined;
89
+ active?: boolean | undefined;
90
+ error?: string | undefined;
91
+ file?: {
92
+ downloadUrl?: string | undefined;
93
+ duration?: number | undefined;
94
+ } | undefined;
95
+ rtmp?: {
96
+ streamUrl?: string | undefined;
97
+ duration?: number | undefined;
98
+ }[] | undefined;
99
+ } | undefined;
100
+ egressInfo?: {
101
+ egressId?: string | undefined;
102
+ roomId?: string | undefined;
103
+ status?: import("./livekit_egress").EgressStatus | undefined;
104
+ startedAt?: number | undefined;
105
+ endedAt?: number | undefined;
106
+ error?: string | undefined;
107
+ roomComposite?: {
108
+ roomName?: string | undefined;
109
+ layout?: string | undefined;
110
+ audioOnly?: boolean | undefined;
111
+ videoOnly?: boolean | undefined;
112
+ customBaseUrl?: string | undefined;
113
+ file?: {
114
+ fileType?: import("./livekit_egress").EncodedFileType | undefined;
115
+ filepath?: string | undefined;
116
+ s3?: {
117
+ accessKey?: string | undefined;
118
+ secret?: string | undefined;
119
+ region?: string | undefined;
120
+ endpoint?: string | undefined;
121
+ bucket?: string | undefined;
122
+ } | undefined;
123
+ gcp?: {
124
+ credentials?: Uint8Array | undefined;
125
+ bucket?: string | undefined;
126
+ } | undefined;
127
+ azure?: {
128
+ accountName?: string | undefined;
129
+ accountKey?: string | undefined;
130
+ containerName?: string | undefined;
131
+ } | undefined;
132
+ } | undefined;
133
+ stream?: {
134
+ protocol?: import("./livekit_egress").StreamProtocol | undefined;
135
+ urls?: string[] | undefined;
136
+ } | undefined;
137
+ preset?: import("./livekit_egress").EncodingOptionsPreset | undefined;
138
+ advanced?: {
139
+ width?: number | undefined;
140
+ height?: number | undefined;
141
+ depth?: number | undefined;
142
+ framerate?: number | undefined;
143
+ audioCodec?: import("./livekit_egress").AudioCodec | undefined;
144
+ audioBitrate?: number | undefined;
145
+ audioFrequency?: number | undefined;
146
+ videoCodec?: import("./livekit_egress").VideoCodec | undefined;
147
+ videoBitrate?: number | undefined;
148
+ } | undefined;
149
+ } | undefined;
150
+ trackComposite?: {
151
+ roomName?: string | undefined;
152
+ audioTrackId?: string | undefined;
153
+ videoTrackId?: string | undefined;
154
+ file?: {
155
+ fileType?: import("./livekit_egress").EncodedFileType | undefined;
156
+ filepath?: string | undefined;
157
+ s3?: {
158
+ accessKey?: string | undefined;
159
+ secret?: string | undefined;
160
+ region?: string | undefined;
161
+ endpoint?: string | undefined;
162
+ bucket?: string | undefined;
163
+ } | undefined;
164
+ gcp?: {
165
+ credentials?: Uint8Array | undefined;
166
+ bucket?: string | undefined;
167
+ } | undefined;
168
+ azure?: {
169
+ accountName?: string | undefined;
170
+ accountKey?: string | undefined;
171
+ containerName?: string | undefined;
172
+ } | undefined;
173
+ } | undefined;
174
+ stream?: {
175
+ protocol?: import("./livekit_egress").StreamProtocol | undefined;
176
+ urls?: string[] | undefined;
177
+ } | undefined;
178
+ preset?: import("./livekit_egress").EncodingOptionsPreset | undefined;
179
+ advanced?: {
180
+ width?: number | undefined;
181
+ height?: number | undefined;
182
+ depth?: number | undefined;
183
+ framerate?: number | undefined;
184
+ audioCodec?: import("./livekit_egress").AudioCodec | undefined;
185
+ audioBitrate?: number | undefined;
186
+ audioFrequency?: number | undefined;
187
+ videoCodec?: import("./livekit_egress").VideoCodec | undefined;
188
+ videoBitrate?: number | undefined;
189
+ } | undefined;
190
+ } | undefined;
191
+ track?: {
192
+ roomName?: string | undefined;
193
+ trackId?: string | undefined;
194
+ file?: {
195
+ filepath?: string | undefined;
196
+ s3?: {
197
+ accessKey?: string | undefined;
198
+ secret?: string | undefined;
199
+ region?: string | undefined;
200
+ endpoint?: string | undefined;
201
+ bucket?: string | undefined;
202
+ } | undefined;
203
+ gcp?: {
204
+ credentials?: Uint8Array | undefined;
205
+ bucket?: string | undefined;
206
+ } | undefined;
207
+ azure?: {
208
+ accountName?: string | undefined;
209
+ accountKey?: string | undefined;
210
+ containerName?: string | undefined;
211
+ } | undefined;
212
+ } | undefined;
213
+ websocketUrl?: string | undefined;
214
+ } | undefined;
215
+ stream?: {
216
+ info?: {
217
+ url?: string | undefined;
218
+ duration?: number | undefined;
219
+ }[] | undefined;
220
+ } | undefined;
221
+ file?: {
222
+ filename?: string | undefined;
223
+ duration?: number | undefined;
224
+ size?: number | undefined;
225
+ location?: string | undefined;
226
+ } | undefined;
227
+ } | undefined;
228
+ track?: {
229
+ sid?: string | undefined;
230
+ type?: import("./livekit_models").TrackType | undefined;
231
+ name?: string | undefined;
232
+ muted?: boolean | undefined;
233
+ width?: number | undefined;
234
+ height?: number | undefined;
235
+ simulcast?: boolean | undefined;
236
+ disableDtx?: boolean | undefined;
237
+ source?: import("./livekit_models").TrackSource | undefined;
238
+ layers?: {
239
+ quality?: import("./livekit_models").VideoQuality | undefined;
240
+ width?: number | undefined;
241
+ height?: number | undefined;
242
+ bitrate?: number | undefined;
243
+ ssrc?: number | undefined;
244
+ }[] | undefined;
245
+ mimeType?: string | undefined;
246
+ mid?: string | undefined;
247
+ } | undefined;
248
+ id?: string | undefined;
249
+ createdAt?: number | undefined;
250
+ } & {
251
+ event?: string | undefined;
252
+ room?: ({
253
+ sid?: string | undefined;
254
+ name?: string | undefined;
255
+ emptyTimeout?: number | undefined;
256
+ maxParticipants?: number | undefined;
257
+ creationTime?: number | undefined;
258
+ turnPassword?: string | undefined;
259
+ enabledCodecs?: {
260
+ mime?: string | undefined;
261
+ fmtpLine?: string | undefined;
262
+ }[] | undefined;
263
+ metadata?: string | undefined;
264
+ numParticipants?: number | undefined;
265
+ activeRecording?: boolean | undefined;
266
+ } & {
267
+ sid?: string | undefined;
268
+ name?: string | undefined;
269
+ emptyTimeout?: number | undefined;
270
+ maxParticipants?: number | undefined;
271
+ creationTime?: number | undefined;
272
+ turnPassword?: string | undefined;
273
+ enabledCodecs?: ({
274
+ mime?: string | undefined;
275
+ fmtpLine?: string | undefined;
276
+ }[] & ({
277
+ mime?: string | undefined;
278
+ fmtpLine?: string | undefined;
279
+ } & {
280
+ mime?: string | undefined;
281
+ fmtpLine?: string | undefined;
282
+ } & Record<Exclude<keyof I["room"]["enabledCodecs"][number], keyof import("./livekit_models").Codec>, never>)[] & Record<Exclude<keyof I["room"]["enabledCodecs"], number | keyof {
283
+ mime?: string | undefined;
284
+ fmtpLine?: string | undefined;
285
+ }[]>, never>) | undefined;
286
+ metadata?: string | undefined;
287
+ numParticipants?: number | undefined;
288
+ activeRecording?: boolean | undefined;
289
+ } & Record<Exclude<keyof I["room"], keyof Room>, never>) | undefined;
290
+ participant?: ({
291
+ sid?: string | undefined;
292
+ identity?: string | undefined;
293
+ state?: import("./livekit_models").ParticipantInfo_State | undefined;
294
+ tracks?: {
295
+ sid?: string | undefined;
296
+ type?: import("./livekit_models").TrackType | undefined;
297
+ name?: string | undefined;
298
+ muted?: boolean | undefined;
299
+ width?: number | undefined;
300
+ height?: number | undefined;
301
+ simulcast?: boolean | undefined;
302
+ disableDtx?: boolean | undefined;
303
+ source?: import("./livekit_models").TrackSource | undefined;
304
+ layers?: {
305
+ quality?: import("./livekit_models").VideoQuality | undefined;
306
+ width?: number | undefined;
307
+ height?: number | undefined;
308
+ bitrate?: number | undefined;
309
+ ssrc?: number | undefined;
310
+ }[] | undefined;
311
+ mimeType?: string | undefined;
312
+ mid?: string | undefined;
313
+ }[] | undefined;
314
+ metadata?: string | undefined;
315
+ joinedAt?: number | undefined;
316
+ name?: string | undefined;
317
+ version?: number | undefined;
318
+ permission?: {
319
+ canSubscribe?: boolean | undefined;
320
+ canPublish?: boolean | undefined;
321
+ canPublishData?: boolean | undefined;
322
+ hidden?: boolean | undefined;
323
+ recorder?: boolean | undefined;
324
+ } | undefined;
325
+ region?: string | undefined;
326
+ isPublisher?: boolean | undefined;
327
+ } & {
328
+ sid?: string | undefined;
329
+ identity?: string | undefined;
330
+ state?: import("./livekit_models").ParticipantInfo_State | undefined;
331
+ tracks?: ({
332
+ sid?: string | undefined;
333
+ type?: import("./livekit_models").TrackType | undefined;
334
+ name?: string | undefined;
335
+ muted?: boolean | undefined;
336
+ width?: number | undefined;
337
+ height?: number | undefined;
338
+ simulcast?: boolean | undefined;
339
+ disableDtx?: boolean | undefined;
340
+ source?: import("./livekit_models").TrackSource | undefined;
341
+ layers?: {
342
+ quality?: import("./livekit_models").VideoQuality | undefined;
343
+ width?: number | undefined;
344
+ height?: number | undefined;
345
+ bitrate?: number | undefined;
346
+ ssrc?: number | undefined;
347
+ }[] | undefined;
348
+ mimeType?: string | undefined;
349
+ mid?: string | undefined;
350
+ }[] & ({
351
+ sid?: string | undefined;
352
+ type?: import("./livekit_models").TrackType | undefined;
353
+ name?: string | undefined;
354
+ muted?: boolean | undefined;
355
+ width?: number | undefined;
356
+ height?: number | undefined;
357
+ simulcast?: boolean | undefined;
358
+ disableDtx?: boolean | undefined;
359
+ source?: import("./livekit_models").TrackSource | undefined;
360
+ layers?: {
361
+ quality?: import("./livekit_models").VideoQuality | undefined;
362
+ width?: number | undefined;
363
+ height?: number | undefined;
364
+ bitrate?: number | undefined;
365
+ ssrc?: number | undefined;
366
+ }[] | undefined;
367
+ mimeType?: string | undefined;
368
+ mid?: string | undefined;
369
+ } & {
370
+ sid?: string | undefined;
371
+ type?: import("./livekit_models").TrackType | undefined;
372
+ name?: string | undefined;
373
+ muted?: boolean | undefined;
374
+ width?: number | undefined;
375
+ height?: number | undefined;
376
+ simulcast?: boolean | undefined;
377
+ disableDtx?: boolean | undefined;
378
+ source?: import("./livekit_models").TrackSource | undefined;
379
+ layers?: ({
380
+ quality?: import("./livekit_models").VideoQuality | undefined;
381
+ width?: number | undefined;
382
+ height?: number | undefined;
383
+ bitrate?: number | undefined;
384
+ ssrc?: number | undefined;
385
+ }[] & ({
386
+ quality?: import("./livekit_models").VideoQuality | undefined;
387
+ width?: number | undefined;
388
+ height?: number | undefined;
389
+ bitrate?: number | undefined;
390
+ ssrc?: number | undefined;
391
+ } & {
392
+ quality?: import("./livekit_models").VideoQuality | undefined;
393
+ width?: number | undefined;
394
+ height?: number | undefined;
395
+ bitrate?: number | undefined;
396
+ ssrc?: number | undefined;
397
+ } & Record<Exclude<keyof I["participant"]["tracks"][number]["layers"][number], keyof import("./livekit_models").VideoLayer>, never>)[] & Record<Exclude<keyof I["participant"]["tracks"][number]["layers"], number | keyof {
398
+ quality?: import("./livekit_models").VideoQuality | undefined;
399
+ width?: number | undefined;
400
+ height?: number | undefined;
401
+ bitrate?: number | undefined;
402
+ ssrc?: number | undefined;
403
+ }[]>, never>) | undefined;
404
+ mimeType?: string | undefined;
405
+ mid?: string | undefined;
406
+ } & Record<Exclude<keyof I["participant"]["tracks"][number], keyof TrackInfo>, never>)[] & Record<Exclude<keyof I["participant"]["tracks"], number | keyof {
407
+ sid?: string | undefined;
408
+ type?: import("./livekit_models").TrackType | undefined;
409
+ name?: string | undefined;
410
+ muted?: boolean | undefined;
411
+ width?: number | undefined;
412
+ height?: number | undefined;
413
+ simulcast?: boolean | undefined;
414
+ disableDtx?: boolean | undefined;
415
+ source?: import("./livekit_models").TrackSource | undefined;
416
+ layers?: {
417
+ quality?: import("./livekit_models").VideoQuality | undefined;
418
+ width?: number | undefined;
419
+ height?: number | undefined;
420
+ bitrate?: number | undefined;
421
+ ssrc?: number | undefined;
422
+ }[] | undefined;
423
+ mimeType?: string | undefined;
424
+ mid?: string | undefined;
425
+ }[]>, never>) | undefined;
426
+ metadata?: string | undefined;
427
+ joinedAt?: number | undefined;
428
+ name?: string | undefined;
429
+ version?: number | undefined;
430
+ permission?: ({
431
+ canSubscribe?: boolean | undefined;
432
+ canPublish?: boolean | undefined;
433
+ canPublishData?: boolean | undefined;
434
+ hidden?: boolean | undefined;
435
+ recorder?: boolean | undefined;
436
+ } & {
437
+ canSubscribe?: boolean | undefined;
438
+ canPublish?: boolean | undefined;
439
+ canPublishData?: boolean | undefined;
440
+ hidden?: boolean | undefined;
441
+ recorder?: boolean | undefined;
442
+ } & Record<Exclude<keyof I["participant"]["permission"], keyof import("./livekit_models").ParticipantPermission>, never>) | undefined;
443
+ region?: string | undefined;
444
+ isPublisher?: boolean | undefined;
445
+ } & Record<Exclude<keyof I["participant"], keyof ParticipantInfo>, never>) | undefined;
446
+ recordingInfo?: ({
447
+ id?: string | undefined;
448
+ roomName?: string | undefined;
449
+ active?: boolean | undefined;
450
+ error?: string | undefined;
451
+ file?: {
452
+ downloadUrl?: string | undefined;
453
+ duration?: number | undefined;
454
+ } | undefined;
455
+ rtmp?: {
456
+ streamUrl?: string | undefined;
457
+ duration?: number | undefined;
458
+ }[] | undefined;
459
+ } & {
460
+ id?: string | undefined;
461
+ roomName?: string | undefined;
462
+ active?: boolean | undefined;
463
+ error?: string | undefined;
464
+ file?: ({
465
+ downloadUrl?: string | undefined;
466
+ duration?: number | undefined;
467
+ } & {
468
+ downloadUrl?: string | undefined;
469
+ duration?: number | undefined;
470
+ } & Record<Exclude<keyof I["recordingInfo"]["file"], keyof import("./livekit_recording").FileResult>, never>) | undefined;
471
+ rtmp?: ({
472
+ streamUrl?: string | undefined;
473
+ duration?: number | undefined;
474
+ }[] & ({
475
+ streamUrl?: string | undefined;
476
+ duration?: number | undefined;
477
+ } & {
478
+ streamUrl?: string | undefined;
479
+ duration?: number | undefined;
480
+ } & Record<Exclude<keyof I["recordingInfo"]["rtmp"][number], keyof import("./livekit_recording").RtmpResult>, never>)[] & Record<Exclude<keyof I["recordingInfo"]["rtmp"], number | keyof {
481
+ streamUrl?: string | undefined;
482
+ duration?: number | undefined;
483
+ }[]>, never>) | undefined;
484
+ } & Record<Exclude<keyof I["recordingInfo"], keyof RecordingInfo>, never>) | undefined;
485
+ egressInfo?: ({
486
+ egressId?: string | undefined;
487
+ roomId?: string | undefined;
488
+ status?: import("./livekit_egress").EgressStatus | undefined;
489
+ startedAt?: number | undefined;
490
+ endedAt?: number | undefined;
491
+ error?: string | undefined;
492
+ roomComposite?: {
493
+ roomName?: string | undefined;
494
+ layout?: string | undefined;
495
+ audioOnly?: boolean | undefined;
496
+ videoOnly?: boolean | undefined;
497
+ customBaseUrl?: string | undefined;
498
+ file?: {
499
+ fileType?: import("./livekit_egress").EncodedFileType | undefined;
500
+ filepath?: string | undefined;
501
+ s3?: {
502
+ accessKey?: string | undefined;
503
+ secret?: string | undefined;
504
+ region?: string | undefined;
505
+ endpoint?: string | undefined;
506
+ bucket?: string | undefined;
507
+ } | undefined;
508
+ gcp?: {
509
+ credentials?: Uint8Array | undefined;
510
+ bucket?: string | undefined;
511
+ } | undefined;
512
+ azure?: {
513
+ accountName?: string | undefined;
514
+ accountKey?: string | undefined;
515
+ containerName?: string | undefined;
516
+ } | undefined;
517
+ } | undefined;
518
+ stream?: {
519
+ protocol?: import("./livekit_egress").StreamProtocol | undefined;
520
+ urls?: string[] | undefined;
521
+ } | undefined;
522
+ preset?: import("./livekit_egress").EncodingOptionsPreset | undefined;
523
+ advanced?: {
524
+ width?: number | undefined;
525
+ height?: number | undefined;
526
+ depth?: number | undefined;
527
+ framerate?: number | undefined;
528
+ audioCodec?: import("./livekit_egress").AudioCodec | undefined;
529
+ audioBitrate?: number | undefined;
530
+ audioFrequency?: number | undefined;
531
+ videoCodec?: import("./livekit_egress").VideoCodec | undefined;
532
+ videoBitrate?: number | undefined;
533
+ } | undefined;
534
+ } | undefined;
535
+ trackComposite?: {
536
+ roomName?: string | undefined;
537
+ audioTrackId?: string | undefined;
538
+ videoTrackId?: string | undefined;
539
+ file?: {
540
+ fileType?: import("./livekit_egress").EncodedFileType | undefined;
541
+ filepath?: string | undefined;
542
+ s3?: {
543
+ accessKey?: string | undefined;
544
+ secret?: string | undefined;
545
+ region?: string | undefined;
546
+ endpoint?: string | undefined;
547
+ bucket?: string | undefined;
548
+ } | undefined;
549
+ gcp?: {
550
+ credentials?: Uint8Array | undefined;
551
+ bucket?: string | undefined;
552
+ } | undefined;
553
+ azure?: {
554
+ accountName?: string | undefined;
555
+ accountKey?: string | undefined;
556
+ containerName?: string | undefined;
557
+ } | undefined;
558
+ } | undefined;
559
+ stream?: {
560
+ protocol?: import("./livekit_egress").StreamProtocol | undefined;
561
+ urls?: string[] | undefined;
562
+ } | undefined;
563
+ preset?: import("./livekit_egress").EncodingOptionsPreset | undefined;
564
+ advanced?: {
565
+ width?: number | undefined;
566
+ height?: number | undefined;
567
+ depth?: number | undefined;
568
+ framerate?: number | undefined;
569
+ audioCodec?: import("./livekit_egress").AudioCodec | undefined;
570
+ audioBitrate?: number | undefined;
571
+ audioFrequency?: number | undefined;
572
+ videoCodec?: import("./livekit_egress").VideoCodec | undefined;
573
+ videoBitrate?: number | undefined;
574
+ } | undefined;
575
+ } | undefined;
576
+ track?: {
577
+ roomName?: string | undefined;
578
+ trackId?: string | undefined;
579
+ file?: {
580
+ filepath?: string | undefined;
581
+ s3?: {
582
+ accessKey?: string | undefined;
583
+ secret?: string | undefined;
584
+ region?: string | undefined;
585
+ endpoint?: string | undefined;
586
+ bucket?: string | undefined;
587
+ } | undefined;
588
+ gcp?: {
589
+ credentials?: Uint8Array | undefined;
590
+ bucket?: string | undefined;
591
+ } | undefined;
592
+ azure?: {
593
+ accountName?: string | undefined;
594
+ accountKey?: string | undefined;
595
+ containerName?: string | undefined;
596
+ } | undefined;
597
+ } | undefined;
598
+ websocketUrl?: string | undefined;
599
+ } | undefined;
600
+ stream?: {
601
+ info?: {
602
+ url?: string | undefined;
603
+ duration?: number | undefined;
604
+ }[] | undefined;
605
+ } | undefined;
606
+ file?: {
607
+ filename?: string | undefined;
608
+ duration?: number | undefined;
609
+ size?: number | undefined;
610
+ location?: string | undefined;
611
+ } | undefined;
612
+ } & {
613
+ egressId?: string | undefined;
614
+ roomId?: string | undefined;
615
+ status?: import("./livekit_egress").EgressStatus | undefined;
616
+ startedAt?: number | undefined;
617
+ endedAt?: number | undefined;
618
+ error?: string | undefined;
619
+ roomComposite?: ({
620
+ roomName?: string | undefined;
621
+ layout?: string | undefined;
622
+ audioOnly?: boolean | undefined;
623
+ videoOnly?: boolean | undefined;
624
+ customBaseUrl?: string | undefined;
625
+ file?: {
626
+ fileType?: import("./livekit_egress").EncodedFileType | undefined;
627
+ filepath?: string | undefined;
628
+ s3?: {
629
+ accessKey?: string | undefined;
630
+ secret?: string | undefined;
631
+ region?: string | undefined;
632
+ endpoint?: string | undefined;
633
+ bucket?: string | undefined;
634
+ } | undefined;
635
+ gcp?: {
636
+ credentials?: Uint8Array | undefined;
637
+ bucket?: string | undefined;
638
+ } | undefined;
639
+ azure?: {
640
+ accountName?: string | undefined;
641
+ accountKey?: string | undefined;
642
+ containerName?: string | undefined;
643
+ } | undefined;
644
+ } | undefined;
645
+ stream?: {
646
+ protocol?: import("./livekit_egress").StreamProtocol | undefined;
647
+ urls?: string[] | undefined;
648
+ } | undefined;
649
+ preset?: import("./livekit_egress").EncodingOptionsPreset | undefined;
650
+ advanced?: {
651
+ width?: number | undefined;
652
+ height?: number | undefined;
653
+ depth?: number | undefined;
654
+ framerate?: number | undefined;
655
+ audioCodec?: import("./livekit_egress").AudioCodec | undefined;
656
+ audioBitrate?: number | undefined;
657
+ audioFrequency?: number | undefined;
658
+ videoCodec?: import("./livekit_egress").VideoCodec | undefined;
659
+ videoBitrate?: number | undefined;
660
+ } | undefined;
661
+ } & {
662
+ roomName?: string | undefined;
663
+ layout?: string | undefined;
664
+ audioOnly?: boolean | undefined;
665
+ videoOnly?: boolean | undefined;
666
+ customBaseUrl?: string | undefined;
667
+ file?: ({
668
+ fileType?: import("./livekit_egress").EncodedFileType | undefined;
669
+ filepath?: string | undefined;
670
+ s3?: {
671
+ accessKey?: string | undefined;
672
+ secret?: string | undefined;
673
+ region?: string | undefined;
674
+ endpoint?: string | undefined;
675
+ bucket?: string | undefined;
676
+ } | undefined;
677
+ gcp?: {
678
+ credentials?: Uint8Array | undefined;
679
+ bucket?: string | undefined;
680
+ } | undefined;
681
+ azure?: {
682
+ accountName?: string | undefined;
683
+ accountKey?: string | undefined;
684
+ containerName?: string | undefined;
685
+ } | undefined;
686
+ } & {
687
+ fileType?: import("./livekit_egress").EncodedFileType | undefined;
688
+ filepath?: string | undefined;
689
+ s3?: ({
690
+ accessKey?: string | undefined;
691
+ secret?: string | undefined;
692
+ region?: string | undefined;
693
+ endpoint?: string | undefined;
694
+ bucket?: string | undefined;
695
+ } & {
696
+ accessKey?: string | undefined;
697
+ secret?: string | undefined;
698
+ region?: string | undefined;
699
+ endpoint?: string | undefined;
700
+ bucket?: string | undefined;
701
+ } & Record<Exclude<keyof I["egressInfo"]["roomComposite"]["file"]["s3"], keyof import("./livekit_egress").S3Upload>, never>) | undefined;
702
+ gcp?: ({
703
+ credentials?: Uint8Array | undefined;
704
+ bucket?: string | undefined;
705
+ } & {
706
+ credentials?: Uint8Array | undefined;
707
+ bucket?: string | undefined;
708
+ } & Record<Exclude<keyof I["egressInfo"]["roomComposite"]["file"]["gcp"], keyof import("./livekit_egress").GCPUpload>, never>) | undefined;
709
+ azure?: ({
710
+ accountName?: string | undefined;
711
+ accountKey?: string | undefined;
712
+ containerName?: string | undefined;
713
+ } & {
714
+ accountName?: string | undefined;
715
+ accountKey?: string | undefined;
716
+ containerName?: string | undefined;
717
+ } & Record<Exclude<keyof I["egressInfo"]["roomComposite"]["file"]["azure"], keyof import("./livekit_egress").AzureBlobUpload>, never>) | undefined;
718
+ } & Record<Exclude<keyof I["egressInfo"]["roomComposite"]["file"], keyof import("./livekit_egress").EncodedFileOutput>, never>) | undefined;
719
+ stream?: ({
720
+ protocol?: import("./livekit_egress").StreamProtocol | undefined;
721
+ urls?: string[] | undefined;
722
+ } & {
723
+ protocol?: import("./livekit_egress").StreamProtocol | undefined;
724
+ urls?: (string[] & string[] & Record<Exclude<keyof I["egressInfo"]["roomComposite"]["stream"]["urls"], number | keyof string[]>, never>) | undefined;
725
+ } & Record<Exclude<keyof I["egressInfo"]["roomComposite"]["stream"], keyof import("./livekit_egress").StreamOutput>, never>) | undefined;
726
+ preset?: import("./livekit_egress").EncodingOptionsPreset | undefined;
727
+ advanced?: ({
728
+ width?: number | undefined;
729
+ height?: number | undefined;
730
+ depth?: number | undefined;
731
+ framerate?: number | undefined;
732
+ audioCodec?: import("./livekit_egress").AudioCodec | undefined;
733
+ audioBitrate?: number | undefined;
734
+ audioFrequency?: number | undefined;
735
+ videoCodec?: import("./livekit_egress").VideoCodec | undefined;
736
+ videoBitrate?: number | undefined;
737
+ } & {
738
+ width?: number | undefined;
739
+ height?: number | undefined;
740
+ depth?: number | undefined;
741
+ framerate?: number | undefined;
742
+ audioCodec?: import("./livekit_egress").AudioCodec | undefined;
743
+ audioBitrate?: number | undefined;
744
+ audioFrequency?: number | undefined;
745
+ videoCodec?: import("./livekit_egress").VideoCodec | undefined;
746
+ videoBitrate?: number | undefined;
747
+ } & Record<Exclude<keyof I["egressInfo"]["roomComposite"]["advanced"], keyof import("./livekit_egress").EncodingOptions>, never>) | undefined;
748
+ } & Record<Exclude<keyof I["egressInfo"]["roomComposite"], keyof import("./livekit_egress").RoomCompositeEgressRequest>, never>) | undefined;
749
+ trackComposite?: ({
750
+ roomName?: string | undefined;
751
+ audioTrackId?: string | undefined;
752
+ videoTrackId?: string | undefined;
753
+ file?: {
754
+ fileType?: import("./livekit_egress").EncodedFileType | undefined;
755
+ filepath?: string | undefined;
756
+ s3?: {
757
+ accessKey?: string | undefined;
758
+ secret?: string | undefined;
759
+ region?: string | undefined;
760
+ endpoint?: string | undefined;
761
+ bucket?: string | undefined;
762
+ } | undefined;
763
+ gcp?: {
764
+ credentials?: Uint8Array | undefined;
765
+ bucket?: string | undefined;
766
+ } | undefined;
767
+ azure?: {
768
+ accountName?: string | undefined;
769
+ accountKey?: string | undefined;
770
+ containerName?: string | undefined;
771
+ } | undefined;
772
+ } | undefined;
773
+ stream?: {
774
+ protocol?: import("./livekit_egress").StreamProtocol | undefined;
775
+ urls?: string[] | undefined;
776
+ } | undefined;
777
+ preset?: import("./livekit_egress").EncodingOptionsPreset | undefined;
778
+ advanced?: {
779
+ width?: number | undefined;
780
+ height?: number | undefined;
781
+ depth?: number | undefined;
782
+ framerate?: number | undefined;
783
+ audioCodec?: import("./livekit_egress").AudioCodec | undefined;
784
+ audioBitrate?: number | undefined;
785
+ audioFrequency?: number | undefined;
786
+ videoCodec?: import("./livekit_egress").VideoCodec | undefined;
787
+ videoBitrate?: number | undefined;
788
+ } | undefined;
789
+ } & {
790
+ roomName?: string | undefined;
791
+ audioTrackId?: string | undefined;
792
+ videoTrackId?: string | undefined;
793
+ file?: ({
794
+ fileType?: import("./livekit_egress").EncodedFileType | undefined;
795
+ filepath?: string | undefined;
796
+ s3?: {
797
+ accessKey?: string | undefined;
798
+ secret?: string | undefined;
799
+ region?: string | undefined;
800
+ endpoint?: string | undefined;
801
+ bucket?: string | undefined;
802
+ } | undefined;
803
+ gcp?: {
804
+ credentials?: Uint8Array | undefined;
805
+ bucket?: string | undefined;
806
+ } | undefined;
807
+ azure?: {
808
+ accountName?: string | undefined;
809
+ accountKey?: string | undefined;
810
+ containerName?: string | undefined;
811
+ } | undefined;
812
+ } & {
813
+ fileType?: import("./livekit_egress").EncodedFileType | undefined;
814
+ filepath?: string | undefined;
815
+ s3?: ({
816
+ accessKey?: string | undefined;
817
+ secret?: string | undefined;
818
+ region?: string | undefined;
819
+ endpoint?: string | undefined;
820
+ bucket?: string | undefined;
821
+ } & {
822
+ accessKey?: string | undefined;
823
+ secret?: string | undefined;
824
+ region?: string | undefined;
825
+ endpoint?: string | undefined;
826
+ bucket?: string | undefined;
827
+ } & Record<Exclude<keyof I["egressInfo"]["trackComposite"]["file"]["s3"], keyof import("./livekit_egress").S3Upload>, never>) | undefined;
828
+ gcp?: ({
829
+ credentials?: Uint8Array | undefined;
830
+ bucket?: string | undefined;
831
+ } & {
832
+ credentials?: Uint8Array | undefined;
833
+ bucket?: string | undefined;
834
+ } & Record<Exclude<keyof I["egressInfo"]["trackComposite"]["file"]["gcp"], keyof import("./livekit_egress").GCPUpload>, never>) | undefined;
835
+ azure?: ({
836
+ accountName?: string | undefined;
837
+ accountKey?: string | undefined;
838
+ containerName?: string | undefined;
839
+ } & {
840
+ accountName?: string | undefined;
841
+ accountKey?: string | undefined;
842
+ containerName?: string | undefined;
843
+ } & Record<Exclude<keyof I["egressInfo"]["trackComposite"]["file"]["azure"], keyof import("./livekit_egress").AzureBlobUpload>, never>) | undefined;
844
+ } & Record<Exclude<keyof I["egressInfo"]["trackComposite"]["file"], keyof import("./livekit_egress").EncodedFileOutput>, never>) | undefined;
845
+ stream?: ({
846
+ protocol?: import("./livekit_egress").StreamProtocol | undefined;
847
+ urls?: string[] | undefined;
848
+ } & {
849
+ protocol?: import("./livekit_egress").StreamProtocol | undefined;
850
+ urls?: (string[] & string[] & Record<Exclude<keyof I["egressInfo"]["trackComposite"]["stream"]["urls"], number | keyof string[]>, never>) | undefined;
851
+ } & Record<Exclude<keyof I["egressInfo"]["trackComposite"]["stream"], keyof import("./livekit_egress").StreamOutput>, never>) | undefined;
852
+ preset?: import("./livekit_egress").EncodingOptionsPreset | undefined;
853
+ advanced?: ({
854
+ width?: number | undefined;
855
+ height?: number | undefined;
856
+ depth?: number | undefined;
857
+ framerate?: number | undefined;
858
+ audioCodec?: import("./livekit_egress").AudioCodec | undefined;
859
+ audioBitrate?: number | undefined;
860
+ audioFrequency?: number | undefined;
861
+ videoCodec?: import("./livekit_egress").VideoCodec | undefined;
862
+ videoBitrate?: number | undefined;
863
+ } & {
864
+ width?: number | undefined;
865
+ height?: number | undefined;
866
+ depth?: number | undefined;
867
+ framerate?: number | undefined;
868
+ audioCodec?: import("./livekit_egress").AudioCodec | undefined;
869
+ audioBitrate?: number | undefined;
870
+ audioFrequency?: number | undefined;
871
+ videoCodec?: import("./livekit_egress").VideoCodec | undefined;
872
+ videoBitrate?: number | undefined;
873
+ } & Record<Exclude<keyof I["egressInfo"]["trackComposite"]["advanced"], keyof import("./livekit_egress").EncodingOptions>, never>) | undefined;
874
+ } & Record<Exclude<keyof I["egressInfo"]["trackComposite"], keyof import("./livekit_egress").TrackCompositeEgressRequest>, never>) | undefined;
875
+ track?: ({
876
+ roomName?: string | undefined;
877
+ trackId?: string | undefined;
878
+ file?: {
879
+ filepath?: string | undefined;
880
+ s3?: {
881
+ accessKey?: string | undefined;
882
+ secret?: string | undefined;
883
+ region?: string | undefined;
884
+ endpoint?: string | undefined;
885
+ bucket?: string | undefined;
886
+ } | undefined;
887
+ gcp?: {
888
+ credentials?: Uint8Array | undefined;
889
+ bucket?: string | undefined;
890
+ } | undefined;
891
+ azure?: {
892
+ accountName?: string | undefined;
893
+ accountKey?: string | undefined;
894
+ containerName?: string | undefined;
895
+ } | undefined;
896
+ } | undefined;
897
+ websocketUrl?: string | undefined;
898
+ } & {
899
+ roomName?: string | undefined;
900
+ trackId?: string | undefined;
901
+ file?: ({
902
+ filepath?: string | undefined;
903
+ s3?: {
904
+ accessKey?: string | undefined;
905
+ secret?: string | undefined;
906
+ region?: string | undefined;
907
+ endpoint?: string | undefined;
908
+ bucket?: string | undefined;
909
+ } | undefined;
910
+ gcp?: {
911
+ credentials?: Uint8Array | undefined;
912
+ bucket?: string | undefined;
913
+ } | undefined;
914
+ azure?: {
915
+ accountName?: string | undefined;
916
+ accountKey?: string | undefined;
917
+ containerName?: string | undefined;
918
+ } | undefined;
919
+ } & {
920
+ filepath?: string | undefined;
921
+ s3?: ({
922
+ accessKey?: string | undefined;
923
+ secret?: string | undefined;
924
+ region?: string | undefined;
925
+ endpoint?: string | undefined;
926
+ bucket?: string | undefined;
927
+ } & {
928
+ accessKey?: string | undefined;
929
+ secret?: string | undefined;
930
+ region?: string | undefined;
931
+ endpoint?: string | undefined;
932
+ bucket?: string | undefined;
933
+ } & Record<Exclude<keyof I["egressInfo"]["track"]["file"]["s3"], keyof import("./livekit_egress").S3Upload>, never>) | undefined;
934
+ gcp?: ({
935
+ credentials?: Uint8Array | undefined;
936
+ bucket?: string | undefined;
937
+ } & {
938
+ credentials?: Uint8Array | undefined;
939
+ bucket?: string | undefined;
940
+ } & Record<Exclude<keyof I["egressInfo"]["track"]["file"]["gcp"], keyof import("./livekit_egress").GCPUpload>, never>) | undefined;
941
+ azure?: ({
942
+ accountName?: string | undefined;
943
+ accountKey?: string | undefined;
944
+ containerName?: string | undefined;
945
+ } & {
946
+ accountName?: string | undefined;
947
+ accountKey?: string | undefined;
948
+ containerName?: string | undefined;
949
+ } & Record<Exclude<keyof I["egressInfo"]["track"]["file"]["azure"], keyof import("./livekit_egress").AzureBlobUpload>, never>) | undefined;
950
+ } & Record<Exclude<keyof I["egressInfo"]["track"]["file"], keyof import("./livekit_egress").DirectFileOutput>, never>) | undefined;
951
+ websocketUrl?: string | undefined;
952
+ } & Record<Exclude<keyof I["egressInfo"]["track"], keyof import("./livekit_egress").TrackEgressRequest>, never>) | undefined;
953
+ stream?: ({
954
+ info?: {
955
+ url?: string | undefined;
956
+ duration?: number | undefined;
957
+ }[] | undefined;
958
+ } & {
959
+ info?: ({
960
+ url?: string | undefined;
961
+ duration?: number | undefined;
962
+ }[] & ({
963
+ url?: string | undefined;
964
+ duration?: number | undefined;
965
+ } & {
966
+ url?: string | undefined;
967
+ duration?: number | undefined;
968
+ } & Record<Exclude<keyof I["egressInfo"]["stream"]["info"][number], keyof import("./livekit_egress").StreamInfo>, never>)[] & Record<Exclude<keyof I["egressInfo"]["stream"]["info"], number | keyof {
969
+ url?: string | undefined;
970
+ duration?: number | undefined;
971
+ }[]>, never>) | undefined;
972
+ } & Record<Exclude<keyof I["egressInfo"]["stream"], "info">, never>) | undefined;
973
+ file?: ({
974
+ filename?: string | undefined;
975
+ duration?: number | undefined;
976
+ size?: number | undefined;
977
+ location?: string | undefined;
978
+ } & {
979
+ filename?: string | undefined;
980
+ duration?: number | undefined;
981
+ size?: number | undefined;
982
+ location?: string | undefined;
983
+ } & Record<Exclude<keyof I["egressInfo"]["file"], keyof import("./livekit_egress").FileInfo>, never>) | undefined;
984
+ } & Record<Exclude<keyof I["egressInfo"], keyof EgressInfo>, never>) | undefined;
985
+ track?: ({
986
+ sid?: string | undefined;
987
+ type?: import("./livekit_models").TrackType | undefined;
988
+ name?: string | undefined;
989
+ muted?: boolean | undefined;
990
+ width?: number | undefined;
991
+ height?: number | undefined;
992
+ simulcast?: boolean | undefined;
993
+ disableDtx?: boolean | undefined;
994
+ source?: import("./livekit_models").TrackSource | undefined;
995
+ layers?: {
996
+ quality?: import("./livekit_models").VideoQuality | undefined;
997
+ width?: number | undefined;
998
+ height?: number | undefined;
999
+ bitrate?: number | undefined;
1000
+ ssrc?: number | undefined;
1001
+ }[] | undefined;
1002
+ mimeType?: string | undefined;
1003
+ mid?: string | undefined;
1004
+ } & {
1005
+ sid?: string | undefined;
1006
+ type?: import("./livekit_models").TrackType | undefined;
1007
+ name?: string | undefined;
1008
+ muted?: boolean | undefined;
1009
+ width?: number | undefined;
1010
+ height?: number | undefined;
1011
+ simulcast?: boolean | undefined;
1012
+ disableDtx?: boolean | undefined;
1013
+ source?: import("./livekit_models").TrackSource | undefined;
1014
+ layers?: ({
1015
+ quality?: import("./livekit_models").VideoQuality | undefined;
1016
+ width?: number | undefined;
1017
+ height?: number | undefined;
1018
+ bitrate?: number | undefined;
1019
+ ssrc?: number | undefined;
1020
+ }[] & ({
1021
+ quality?: import("./livekit_models").VideoQuality | undefined;
1022
+ width?: number | undefined;
1023
+ height?: number | undefined;
1024
+ bitrate?: number | undefined;
1025
+ ssrc?: number | undefined;
1026
+ } & {
1027
+ quality?: import("./livekit_models").VideoQuality | undefined;
1028
+ width?: number | undefined;
1029
+ height?: number | undefined;
1030
+ bitrate?: number | undefined;
1031
+ ssrc?: number | undefined;
1032
+ } & Record<Exclude<keyof I["track"]["layers"][number], keyof import("./livekit_models").VideoLayer>, never>)[] & Record<Exclude<keyof I["track"]["layers"], number | keyof {
1033
+ quality?: import("./livekit_models").VideoQuality | undefined;
1034
+ width?: number | undefined;
1035
+ height?: number | undefined;
1036
+ bitrate?: number | undefined;
1037
+ ssrc?: number | undefined;
1038
+ }[]>, never>) | undefined;
1039
+ mimeType?: string | undefined;
1040
+ mid?: string | undefined;
1041
+ } & Record<Exclude<keyof I["track"], keyof TrackInfo>, never>) | undefined;
1042
+ id?: string | undefined;
1043
+ createdAt?: number | undefined;
1044
+ } & Record<Exclude<keyof I, keyof WebhookEvent>, never>>(object: I): WebhookEvent;
24
1045
  };
25
1046
  declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
26
1047
  export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
27
1048
  [K in keyof T]?: DeepPartial<T[K]>;
28
1049
  } : Partial<T>;
1050
+ declare type KeysOfUnion<T> = T extends T ? keyof T : never;
1051
+ export declare type Exact<P, I extends P> = P extends Builtin ? P : P & {
1052
+ [K in keyof P]: Exact<P[K], I[K]>;
1053
+ } & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
29
1054
  export {};