azot 0.0.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib.d.ts ADDED
@@ -0,0 +1,2169 @@
1
+ import * as $protobuf from 'protobufjs';
2
+ import Long from 'long';
3
+
4
+ /** PlatformVerificationStatus enum. */
5
+ declare enum PlatformVerificationStatus {
6
+ PLATFORM_UNVERIFIED = 0,
7
+ PLATFORM_TAMPERED = 1,
8
+ PLATFORM_SOFTWARE_VERIFIED = 2,
9
+ PLATFORM_HARDWARE_VERIFIED = 3,
10
+ PLATFORM_NO_VERIFICATION = 4,
11
+ PLATFORM_SECURE_STORAGE_SOFTWARE_VERIFIED = 5
12
+ }
13
+
14
+ /** Represents a License. */
15
+ declare class License implements ILicense {
16
+
17
+ /**
18
+ * Constructs a new License.
19
+ * @param [p] Properties to set
20
+ */
21
+ constructor(p?: ILicense);
22
+
23
+ /** License id. */
24
+ public id?: (ILicenseIdentification|null);
25
+
26
+ /** License policy. */
27
+ public policy?: (License.IPolicy|null);
28
+
29
+ /** License key. */
30
+ public key: License.IKeyContainer[];
31
+
32
+ /** License licenseStartTime. */
33
+ public licenseStartTime: (number|Long);
34
+
35
+ /** License remoteAttestationVerified. */
36
+ public remoteAttestationVerified: boolean;
37
+
38
+ /** License providerClientToken. */
39
+ public providerClientToken: Uint8Array;
40
+
41
+ /** License protectionScheme. */
42
+ public protectionScheme: number;
43
+
44
+ /** License srmRequirement. */
45
+ public srmRequirement: Uint8Array;
46
+
47
+ /** License srmUpdate. */
48
+ public srmUpdate: Uint8Array;
49
+
50
+ /** License platformVerificationStatus. */
51
+ public platformVerificationStatus: PlatformVerificationStatus;
52
+
53
+ /** License groupIds. */
54
+ public groupIds: Uint8Array[];
55
+
56
+ /**
57
+ * Creates a new License instance using the specified properties.
58
+ * @param [properties] Properties to set
59
+ * @returns License instance
60
+ */
61
+ public static create(properties?: ILicense): License;
62
+
63
+ /**
64
+ * Encodes the specified License message. Does not implicitly {@link License.verify|verify} messages.
65
+ * @param m License message or plain object to encode
66
+ * @param [w] Writer to encode to
67
+ * @returns Writer
68
+ */
69
+ public static encode(m: ILicense, w?: $protobuf.Writer): $protobuf.Writer;
70
+
71
+ /**
72
+ * Encodes the specified License message, length delimited. Does not implicitly {@link License.verify|verify} messages.
73
+ * @param message License message or plain object to encode
74
+ * @param [writer] Writer to encode to
75
+ * @returns Writer
76
+ */
77
+ public static encodeDelimited(message: ILicense, writer?: $protobuf.Writer): $protobuf.Writer;
78
+
79
+ /**
80
+ * Decodes a License message from the specified reader or buffer.
81
+ * @param r Reader or buffer to decode from
82
+ * @param [l] Message length if known beforehand
83
+ * @returns License
84
+ * @throws {Error} If the payload is not a reader or valid buffer
85
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
86
+ */
87
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): License;
88
+
89
+ /**
90
+ * Decodes a License message from the specified reader or buffer, length delimited.
91
+ * @param reader Reader or buffer to decode from
92
+ * @returns License
93
+ * @throws {Error} If the payload is not a reader or valid buffer
94
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
95
+ */
96
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): License;
97
+
98
+ /**
99
+ * Creates a License message from a plain object. Also converts values to their respective internal types.
100
+ * @param d Plain object
101
+ * @returns License
102
+ */
103
+ public static fromObject(d: { [k: string]: any }): License;
104
+
105
+ /**
106
+ * Creates a plain object from a License message. Also converts values to other types if specified.
107
+ * @param m License
108
+ * @param [o] Conversion options
109
+ * @returns Plain object
110
+ */
111
+ public static toObject(m: License, o?: $protobuf.IConversionOptions): { [k: string]: any };
112
+
113
+ /**
114
+ * Converts this License to JSON.
115
+ * @returns JSON object
116
+ */
117
+ public toJSON(): { [k: string]: any };
118
+
119
+ /**
120
+ * Gets the default type url for License
121
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
122
+ * @returns The default type url
123
+ */
124
+ public static getTypeUrl(typeUrlPrefix?: string): string;
125
+ }
126
+
127
+ declare namespace License {
128
+
129
+ /** Properties of a Policy. */
130
+ interface IPolicy {
131
+
132
+ /** Policy canPlay */
133
+ canPlay?: (boolean|null);
134
+
135
+ /** Policy canPersist */
136
+ canPersist?: (boolean|null);
137
+
138
+ /** Policy canRenew */
139
+ canRenew?: (boolean|null);
140
+
141
+ /** Policy rentalDurationSeconds */
142
+ rentalDurationSeconds?: (number|Long|null);
143
+
144
+ /** Policy playbackDurationSeconds */
145
+ playbackDurationSeconds?: (number|Long|null);
146
+
147
+ /** Policy licenseDurationSeconds */
148
+ licenseDurationSeconds?: (number|Long|null);
149
+
150
+ /** Policy renewalRecoveryDurationSeconds */
151
+ renewalRecoveryDurationSeconds?: (number|Long|null);
152
+
153
+ /** Policy renewalServerUrl */
154
+ renewalServerUrl?: (string|null);
155
+
156
+ /** Policy renewalDelaySeconds */
157
+ renewalDelaySeconds?: (number|Long|null);
158
+
159
+ /** Policy renewalRetryIntervalSeconds */
160
+ renewalRetryIntervalSeconds?: (number|Long|null);
161
+
162
+ /** Policy renewWithUsage */
163
+ renewWithUsage?: (boolean|null);
164
+
165
+ /** Policy alwaysIncludeClientId */
166
+ alwaysIncludeClientId?: (boolean|null);
167
+
168
+ /** Policy playStartGracePeriodSeconds */
169
+ playStartGracePeriodSeconds?: (number|Long|null);
170
+
171
+ /** Policy softEnforcePlaybackDuration */
172
+ softEnforcePlaybackDuration?: (boolean|null);
173
+
174
+ /** Policy softEnforceRentalDuration */
175
+ softEnforceRentalDuration?: (boolean|null);
176
+ }
177
+
178
+ /** Represents a Policy. */
179
+ class Policy implements IPolicy {
180
+
181
+ /**
182
+ * Constructs a new Policy.
183
+ * @param [p] Properties to set
184
+ */
185
+ constructor(p?: License.IPolicy);
186
+
187
+ /** Policy canPlay. */
188
+ public canPlay: boolean;
189
+
190
+ /** Policy canPersist. */
191
+ public canPersist: boolean;
192
+
193
+ /** Policy canRenew. */
194
+ public canRenew: boolean;
195
+
196
+ /** Policy rentalDurationSeconds. */
197
+ public rentalDurationSeconds: (number|Long);
198
+
199
+ /** Policy playbackDurationSeconds. */
200
+ public playbackDurationSeconds: (number|Long);
201
+
202
+ /** Policy licenseDurationSeconds. */
203
+ public licenseDurationSeconds: (number|Long);
204
+
205
+ /** Policy renewalRecoveryDurationSeconds. */
206
+ public renewalRecoveryDurationSeconds: (number|Long);
207
+
208
+ /** Policy renewalServerUrl. */
209
+ public renewalServerUrl: string;
210
+
211
+ /** Policy renewalDelaySeconds. */
212
+ public renewalDelaySeconds: (number|Long);
213
+
214
+ /** Policy renewalRetryIntervalSeconds. */
215
+ public renewalRetryIntervalSeconds: (number|Long);
216
+
217
+ /** Policy renewWithUsage. */
218
+ public renewWithUsage: boolean;
219
+
220
+ /** Policy alwaysIncludeClientId. */
221
+ public alwaysIncludeClientId: boolean;
222
+
223
+ /** Policy playStartGracePeriodSeconds. */
224
+ public playStartGracePeriodSeconds: (number|Long);
225
+
226
+ /** Policy softEnforcePlaybackDuration. */
227
+ public softEnforcePlaybackDuration: boolean;
228
+
229
+ /** Policy softEnforceRentalDuration. */
230
+ public softEnforceRentalDuration: boolean;
231
+
232
+ /**
233
+ * Creates a new Policy instance using the specified properties.
234
+ * @param [properties] Properties to set
235
+ * @returns Policy instance
236
+ */
237
+ public static create(properties?: License.IPolicy): License.Policy;
238
+
239
+ /**
240
+ * Encodes the specified Policy message. Does not implicitly {@link License.Policy.verify|verify} messages.
241
+ * @param m Policy message or plain object to encode
242
+ * @param [w] Writer to encode to
243
+ * @returns Writer
244
+ */
245
+ public static encode(m: License.IPolicy, w?: $protobuf.Writer): $protobuf.Writer;
246
+
247
+ /**
248
+ * Encodes the specified Policy message, length delimited. Does not implicitly {@link License.Policy.verify|verify} messages.
249
+ * @param message Policy message or plain object to encode
250
+ * @param [writer] Writer to encode to
251
+ * @returns Writer
252
+ */
253
+ public static encodeDelimited(message: License.IPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
254
+
255
+ /**
256
+ * Decodes a Policy message from the specified reader or buffer.
257
+ * @param r Reader or buffer to decode from
258
+ * @param [l] Message length if known beforehand
259
+ * @returns Policy
260
+ * @throws {Error} If the payload is not a reader or valid buffer
261
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
262
+ */
263
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): License.Policy;
264
+
265
+ /**
266
+ * Decodes a Policy message from the specified reader or buffer, length delimited.
267
+ * @param reader Reader or buffer to decode from
268
+ * @returns Policy
269
+ * @throws {Error} If the payload is not a reader or valid buffer
270
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
271
+ */
272
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): License.Policy;
273
+
274
+ /**
275
+ * Creates a Policy message from a plain object. Also converts values to their respective internal types.
276
+ * @param d Plain object
277
+ * @returns Policy
278
+ */
279
+ public static fromObject(d: { [k: string]: any }): License.Policy;
280
+
281
+ /**
282
+ * Creates a plain object from a Policy message. Also converts values to other types if specified.
283
+ * @param m Policy
284
+ * @param [o] Conversion options
285
+ * @returns Plain object
286
+ */
287
+ public static toObject(m: License.Policy, o?: $protobuf.IConversionOptions): { [k: string]: any };
288
+
289
+ /**
290
+ * Converts this Policy to JSON.
291
+ * @returns JSON object
292
+ */
293
+ public toJSON(): { [k: string]: any };
294
+
295
+ /**
296
+ * Gets the default type url for Policy
297
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
298
+ * @returns The default type url
299
+ */
300
+ public static getTypeUrl(typeUrlPrefix?: string): string;
301
+ }
302
+
303
+ /** Properties of a KeyContainer. */
304
+ interface IKeyContainer {
305
+
306
+ /** KeyContainer id */
307
+ id?: (Uint8Array|null);
308
+
309
+ /** KeyContainer iv */
310
+ iv?: (Uint8Array|null);
311
+
312
+ /** KeyContainer key */
313
+ key?: (Uint8Array|null);
314
+
315
+ /** KeyContainer type */
316
+ type?: (License.KeyContainer.KeyType|null);
317
+
318
+ /** KeyContainer level */
319
+ level?: (License.KeyContainer.SecurityLevel|null);
320
+
321
+ /** KeyContainer requiredProtection */
322
+ requiredProtection?: (License.KeyContainer.IOutputProtection|null);
323
+
324
+ /** KeyContainer requestedProtection */
325
+ requestedProtection?: (License.KeyContainer.IOutputProtection|null);
326
+
327
+ /** KeyContainer keyControl */
328
+ keyControl?: (License.KeyContainer.IKeyControl|null);
329
+
330
+ /** KeyContainer operatorSessionKeyPermissions */
331
+ operatorSessionKeyPermissions?: (License.KeyContainer.IOperatorSessionKeyPermissions|null);
332
+
333
+ /** KeyContainer videoResolutionConstraints */
334
+ videoResolutionConstraints?: (License.KeyContainer.IVideoResolutionConstraint[]|null);
335
+
336
+ /** KeyContainer antiRollbackUsageTable */
337
+ antiRollbackUsageTable?: (boolean|null);
338
+
339
+ /** KeyContainer trackLabel */
340
+ trackLabel?: (string|null);
341
+ }
342
+
343
+ /** Represents a KeyContainer. */
344
+ class KeyContainer implements IKeyContainer {
345
+
346
+ /**
347
+ * Constructs a new KeyContainer.
348
+ * @param [p] Properties to set
349
+ */
350
+ constructor(p?: License.IKeyContainer);
351
+
352
+ /** KeyContainer id. */
353
+ public id: Uint8Array;
354
+
355
+ /** KeyContainer iv. */
356
+ public iv: Uint8Array;
357
+
358
+ /** KeyContainer key. */
359
+ public key: Uint8Array;
360
+
361
+ /** KeyContainer type. */
362
+ public type: License.KeyContainer.KeyType;
363
+
364
+ /** KeyContainer level. */
365
+ public level: License.KeyContainer.SecurityLevel;
366
+
367
+ /** KeyContainer requiredProtection. */
368
+ public requiredProtection?: (License.KeyContainer.IOutputProtection|null);
369
+
370
+ /** KeyContainer requestedProtection. */
371
+ public requestedProtection?: (License.KeyContainer.IOutputProtection|null);
372
+
373
+ /** KeyContainer keyControl. */
374
+ public keyControl?: (License.KeyContainer.IKeyControl|null);
375
+
376
+ /** KeyContainer operatorSessionKeyPermissions. */
377
+ public operatorSessionKeyPermissions?: (License.KeyContainer.IOperatorSessionKeyPermissions|null);
378
+
379
+ /** KeyContainer videoResolutionConstraints. */
380
+ public videoResolutionConstraints: License.KeyContainer.IVideoResolutionConstraint[];
381
+
382
+ /** KeyContainer antiRollbackUsageTable. */
383
+ public antiRollbackUsageTable: boolean;
384
+
385
+ /** KeyContainer trackLabel. */
386
+ public trackLabel: string;
387
+
388
+ /**
389
+ * Creates a new KeyContainer instance using the specified properties.
390
+ * @param [properties] Properties to set
391
+ * @returns KeyContainer instance
392
+ */
393
+ public static create(properties?: License.IKeyContainer): License.KeyContainer;
394
+
395
+ /**
396
+ * Encodes the specified KeyContainer message. Does not implicitly {@link License.KeyContainer.verify|verify} messages.
397
+ * @param m KeyContainer message or plain object to encode
398
+ * @param [w] Writer to encode to
399
+ * @returns Writer
400
+ */
401
+ public static encode(m: License.IKeyContainer, w?: $protobuf.Writer): $protobuf.Writer;
402
+
403
+ /**
404
+ * Encodes the specified KeyContainer message, length delimited. Does not implicitly {@link License.KeyContainer.verify|verify} messages.
405
+ * @param message KeyContainer message or plain object to encode
406
+ * @param [writer] Writer to encode to
407
+ * @returns Writer
408
+ */
409
+ public static encodeDelimited(message: License.IKeyContainer, writer?: $protobuf.Writer): $protobuf.Writer;
410
+
411
+ /**
412
+ * Decodes a KeyContainer message from the specified reader or buffer.
413
+ * @param r Reader or buffer to decode from
414
+ * @param [l] Message length if known beforehand
415
+ * @returns KeyContainer
416
+ * @throws {Error} If the payload is not a reader or valid buffer
417
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
418
+ */
419
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): License.KeyContainer;
420
+
421
+ /**
422
+ * Decodes a KeyContainer message from the specified reader or buffer, length delimited.
423
+ * @param reader Reader or buffer to decode from
424
+ * @returns KeyContainer
425
+ * @throws {Error} If the payload is not a reader or valid buffer
426
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
427
+ */
428
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): License.KeyContainer;
429
+
430
+ /**
431
+ * Creates a KeyContainer message from a plain object. Also converts values to their respective internal types.
432
+ * @param d Plain object
433
+ * @returns KeyContainer
434
+ */
435
+ public static fromObject(d: { [k: string]: any }): License.KeyContainer;
436
+
437
+ /**
438
+ * Creates a plain object from a KeyContainer message. Also converts values to other types if specified.
439
+ * @param m KeyContainer
440
+ * @param [o] Conversion options
441
+ * @returns Plain object
442
+ */
443
+ public static toObject(m: License.KeyContainer, o?: $protobuf.IConversionOptions): { [k: string]: any };
444
+
445
+ /**
446
+ * Converts this KeyContainer to JSON.
447
+ * @returns JSON object
448
+ */
449
+ public toJSON(): { [k: string]: any };
450
+
451
+ /**
452
+ * Gets the default type url for KeyContainer
453
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
454
+ * @returns The default type url
455
+ */
456
+ public static getTypeUrl(typeUrlPrefix?: string): string;
457
+ }
458
+
459
+ namespace KeyContainer {
460
+
461
+ /** KeyType enum. */
462
+ enum KeyType {
463
+ SIGNING = 1,
464
+ CONTENT = 2,
465
+ KEY_CONTROL = 3,
466
+ OPERATOR_SESSION = 4,
467
+ ENTITLEMENT = 5,
468
+ OEM_CONTENT = 6
469
+ }
470
+
471
+ /** SecurityLevel enum. */
472
+ enum SecurityLevel {
473
+ SW_SECURE_CRYPTO = 1,
474
+ SW_SECURE_DECODE = 2,
475
+ HW_SECURE_CRYPTO = 3,
476
+ HW_SECURE_DECODE = 4,
477
+ HW_SECURE_ALL = 5
478
+ }
479
+
480
+ /** Properties of a KeyControl. */
481
+ interface IKeyControl {
482
+
483
+ /** KeyControl keyControlBlock */
484
+ keyControlBlock?: (Uint8Array|null);
485
+
486
+ /** KeyControl iv */
487
+ iv?: (Uint8Array|null);
488
+ }
489
+
490
+ /** Represents a KeyControl. */
491
+ class KeyControl implements IKeyControl {
492
+
493
+ /**
494
+ * Constructs a new KeyControl.
495
+ * @param [p] Properties to set
496
+ */
497
+ constructor(p?: License.KeyContainer.IKeyControl);
498
+
499
+ /** KeyControl keyControlBlock. */
500
+ public keyControlBlock: Uint8Array;
501
+
502
+ /** KeyControl iv. */
503
+ public iv: Uint8Array;
504
+
505
+ /**
506
+ * Creates a new KeyControl instance using the specified properties.
507
+ * @param [properties] Properties to set
508
+ * @returns KeyControl instance
509
+ */
510
+ public static create(properties?: License.KeyContainer.IKeyControl): License.KeyContainer.KeyControl;
511
+
512
+ /**
513
+ * Encodes the specified KeyControl message. Does not implicitly {@link License.KeyContainer.KeyControl.verify|verify} messages.
514
+ * @param m KeyControl message or plain object to encode
515
+ * @param [w] Writer to encode to
516
+ * @returns Writer
517
+ */
518
+ public static encode(m: License.KeyContainer.IKeyControl, w?: $protobuf.Writer): $protobuf.Writer;
519
+
520
+ /**
521
+ * Encodes the specified KeyControl message, length delimited. Does not implicitly {@link License.KeyContainer.KeyControl.verify|verify} messages.
522
+ * @param message KeyControl message or plain object to encode
523
+ * @param [writer] Writer to encode to
524
+ * @returns Writer
525
+ */
526
+ public static encodeDelimited(message: License.KeyContainer.IKeyControl, writer?: $protobuf.Writer): $protobuf.Writer;
527
+
528
+ /**
529
+ * Decodes a KeyControl message from the specified reader or buffer.
530
+ * @param r Reader or buffer to decode from
531
+ * @param [l] Message length if known beforehand
532
+ * @returns KeyControl
533
+ * @throws {Error} If the payload is not a reader or valid buffer
534
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
535
+ */
536
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): License.KeyContainer.KeyControl;
537
+
538
+ /**
539
+ * Decodes a KeyControl message from the specified reader or buffer, length delimited.
540
+ * @param reader Reader or buffer to decode from
541
+ * @returns KeyControl
542
+ * @throws {Error} If the payload is not a reader or valid buffer
543
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
544
+ */
545
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): License.KeyContainer.KeyControl;
546
+
547
+ /**
548
+ * Creates a KeyControl message from a plain object. Also converts values to their respective internal types.
549
+ * @param d Plain object
550
+ * @returns KeyControl
551
+ */
552
+ public static fromObject(d: { [k: string]: any }): License.KeyContainer.KeyControl;
553
+
554
+ /**
555
+ * Creates a plain object from a KeyControl message. Also converts values to other types if specified.
556
+ * @param m KeyControl
557
+ * @param [o] Conversion options
558
+ * @returns Plain object
559
+ */
560
+ public static toObject(m: License.KeyContainer.KeyControl, o?: $protobuf.IConversionOptions): { [k: string]: any };
561
+
562
+ /**
563
+ * Converts this KeyControl to JSON.
564
+ * @returns JSON object
565
+ */
566
+ public toJSON(): { [k: string]: any };
567
+
568
+ /**
569
+ * Gets the default type url for KeyControl
570
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
571
+ * @returns The default type url
572
+ */
573
+ public static getTypeUrl(typeUrlPrefix?: string): string;
574
+ }
575
+
576
+ /** Properties of an OutputProtection. */
577
+ interface IOutputProtection {
578
+
579
+ /** OutputProtection hdcp */
580
+ hdcp?: (License.KeyContainer.OutputProtection.HDCP|null);
581
+
582
+ /** OutputProtection cgmsFlags */
583
+ cgmsFlags?: (License.KeyContainer.OutputProtection.CGMS|null);
584
+
585
+ /** OutputProtection hdcpSrmRule */
586
+ hdcpSrmRule?: (License.KeyContainer.OutputProtection.HdcpSrmRule|null);
587
+
588
+ /** OutputProtection disableAnalogOutput */
589
+ disableAnalogOutput?: (boolean|null);
590
+
591
+ /** OutputProtection disableDigitalOutput */
592
+ disableDigitalOutput?: (boolean|null);
593
+ }
594
+
595
+ /** Represents an OutputProtection. */
596
+ class OutputProtection implements IOutputProtection {
597
+
598
+ /**
599
+ * Constructs a new OutputProtection.
600
+ * @param [p] Properties to set
601
+ */
602
+ constructor(p?: License.KeyContainer.IOutputProtection);
603
+
604
+ /** OutputProtection hdcp. */
605
+ public hdcp: License.KeyContainer.OutputProtection.HDCP;
606
+
607
+ /** OutputProtection cgmsFlags. */
608
+ public cgmsFlags: License.KeyContainer.OutputProtection.CGMS;
609
+
610
+ /** OutputProtection hdcpSrmRule. */
611
+ public hdcpSrmRule: License.KeyContainer.OutputProtection.HdcpSrmRule;
612
+
613
+ /** OutputProtection disableAnalogOutput. */
614
+ public disableAnalogOutput: boolean;
615
+
616
+ /** OutputProtection disableDigitalOutput. */
617
+ public disableDigitalOutput: boolean;
618
+
619
+ /**
620
+ * Creates a new OutputProtection instance using the specified properties.
621
+ * @param [properties] Properties to set
622
+ * @returns OutputProtection instance
623
+ */
624
+ public static create(properties?: License.KeyContainer.IOutputProtection): License.KeyContainer.OutputProtection;
625
+
626
+ /**
627
+ * Encodes the specified OutputProtection message. Does not implicitly {@link License.KeyContainer.OutputProtection.verify|verify} messages.
628
+ * @param m OutputProtection message or plain object to encode
629
+ * @param [w] Writer to encode to
630
+ * @returns Writer
631
+ */
632
+ public static encode(m: License.KeyContainer.IOutputProtection, w?: $protobuf.Writer): $protobuf.Writer;
633
+
634
+ /**
635
+ * Encodes the specified OutputProtection message, length delimited. Does not implicitly {@link License.KeyContainer.OutputProtection.verify|verify} messages.
636
+ * @param message OutputProtection message or plain object to encode
637
+ * @param [writer] Writer to encode to
638
+ * @returns Writer
639
+ */
640
+ public static encodeDelimited(message: License.KeyContainer.IOutputProtection, writer?: $protobuf.Writer): $protobuf.Writer;
641
+
642
+ /**
643
+ * Decodes an OutputProtection message from the specified reader or buffer.
644
+ * @param r Reader or buffer to decode from
645
+ * @param [l] Message length if known beforehand
646
+ * @returns OutputProtection
647
+ * @throws {Error} If the payload is not a reader or valid buffer
648
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
649
+ */
650
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): License.KeyContainer.OutputProtection;
651
+
652
+ /**
653
+ * Decodes an OutputProtection message from the specified reader or buffer, length delimited.
654
+ * @param reader Reader or buffer to decode from
655
+ * @returns OutputProtection
656
+ * @throws {Error} If the payload is not a reader or valid buffer
657
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
658
+ */
659
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): License.KeyContainer.OutputProtection;
660
+
661
+ /**
662
+ * Creates an OutputProtection message from a plain object. Also converts values to their respective internal types.
663
+ * @param d Plain object
664
+ * @returns OutputProtection
665
+ */
666
+ public static fromObject(d: { [k: string]: any }): License.KeyContainer.OutputProtection;
667
+
668
+ /**
669
+ * Creates a plain object from an OutputProtection message. Also converts values to other types if specified.
670
+ * @param m OutputProtection
671
+ * @param [o] Conversion options
672
+ * @returns Plain object
673
+ */
674
+ public static toObject(m: License.KeyContainer.OutputProtection, o?: $protobuf.IConversionOptions): { [k: string]: any };
675
+
676
+ /**
677
+ * Converts this OutputProtection to JSON.
678
+ * @returns JSON object
679
+ */
680
+ public toJSON(): { [k: string]: any };
681
+
682
+ /**
683
+ * Gets the default type url for OutputProtection
684
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
685
+ * @returns The default type url
686
+ */
687
+ public static getTypeUrl(typeUrlPrefix?: string): string;
688
+ }
689
+
690
+ namespace OutputProtection {
691
+
692
+ /** HDCP enum. */
693
+ enum HDCP {
694
+ HDCP_NONE = 0,
695
+ HDCP_V1 = 1,
696
+ HDCP_V2 = 2,
697
+ HDCP_V2_1 = 3,
698
+ HDCP_V2_2 = 4,
699
+ HDCP_V2_3 = 5,
700
+ HDCP_NO_DIGITAL_OUTPUT = 255
701
+ }
702
+
703
+ /** CGMS enum. */
704
+ enum CGMS {
705
+ CGMS_NONE = 42,
706
+ COPY_FREE = 0,
707
+ COPY_ONCE = 2,
708
+ COPY_NEVER = 3
709
+ }
710
+
711
+ /** HdcpSrmRule enum. */
712
+ enum HdcpSrmRule {
713
+ HDCP_SRM_RULE_NONE = 0,
714
+ CURRENT_SRM = 1
715
+ }
716
+ }
717
+
718
+ /** Properties of a VideoResolutionConstraint. */
719
+ interface IVideoResolutionConstraint {
720
+
721
+ /** VideoResolutionConstraint minResolutionPixels */
722
+ minResolutionPixels?: (number|null);
723
+
724
+ /** VideoResolutionConstraint maxResolutionPixels */
725
+ maxResolutionPixels?: (number|null);
726
+
727
+ /** VideoResolutionConstraint requiredProtection */
728
+ requiredProtection?: (License.KeyContainer.IOutputProtection|null);
729
+ }
730
+
731
+ /** Represents a VideoResolutionConstraint. */
732
+ class VideoResolutionConstraint implements IVideoResolutionConstraint {
733
+
734
+ /**
735
+ * Constructs a new VideoResolutionConstraint.
736
+ * @param [p] Properties to set
737
+ */
738
+ constructor(p?: License.KeyContainer.IVideoResolutionConstraint);
739
+
740
+ /** VideoResolutionConstraint minResolutionPixels. */
741
+ public minResolutionPixels: number;
742
+
743
+ /** VideoResolutionConstraint maxResolutionPixels. */
744
+ public maxResolutionPixels: number;
745
+
746
+ /** VideoResolutionConstraint requiredProtection. */
747
+ public requiredProtection?: (License.KeyContainer.IOutputProtection|null);
748
+
749
+ /**
750
+ * Creates a new VideoResolutionConstraint instance using the specified properties.
751
+ * @param [properties] Properties to set
752
+ * @returns VideoResolutionConstraint instance
753
+ */
754
+ public static create(properties?: License.KeyContainer.IVideoResolutionConstraint): License.KeyContainer.VideoResolutionConstraint;
755
+
756
+ /**
757
+ * Encodes the specified VideoResolutionConstraint message. Does not implicitly {@link License.KeyContainer.VideoResolutionConstraint.verify|verify} messages.
758
+ * @param m VideoResolutionConstraint message or plain object to encode
759
+ * @param [w] Writer to encode to
760
+ * @returns Writer
761
+ */
762
+ public static encode(m: License.KeyContainer.IVideoResolutionConstraint, w?: $protobuf.Writer): $protobuf.Writer;
763
+
764
+ /**
765
+ * Encodes the specified VideoResolutionConstraint message, length delimited. Does not implicitly {@link License.KeyContainer.VideoResolutionConstraint.verify|verify} messages.
766
+ * @param message VideoResolutionConstraint message or plain object to encode
767
+ * @param [writer] Writer to encode to
768
+ * @returns Writer
769
+ */
770
+ public static encodeDelimited(message: License.KeyContainer.IVideoResolutionConstraint, writer?: $protobuf.Writer): $protobuf.Writer;
771
+
772
+ /**
773
+ * Decodes a VideoResolutionConstraint message from the specified reader or buffer.
774
+ * @param r Reader or buffer to decode from
775
+ * @param [l] Message length if known beforehand
776
+ * @returns VideoResolutionConstraint
777
+ * @throws {Error} If the payload is not a reader or valid buffer
778
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
779
+ */
780
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): License.KeyContainer.VideoResolutionConstraint;
781
+
782
+ /**
783
+ * Decodes a VideoResolutionConstraint message from the specified reader or buffer, length delimited.
784
+ * @param reader Reader or buffer to decode from
785
+ * @returns VideoResolutionConstraint
786
+ * @throws {Error} If the payload is not a reader or valid buffer
787
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
788
+ */
789
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): License.KeyContainer.VideoResolutionConstraint;
790
+
791
+ /**
792
+ * Creates a VideoResolutionConstraint message from a plain object. Also converts values to their respective internal types.
793
+ * @param d Plain object
794
+ * @returns VideoResolutionConstraint
795
+ */
796
+ public static fromObject(d: { [k: string]: any }): License.KeyContainer.VideoResolutionConstraint;
797
+
798
+ /**
799
+ * Creates a plain object from a VideoResolutionConstraint message. Also converts values to other types if specified.
800
+ * @param m VideoResolutionConstraint
801
+ * @param [o] Conversion options
802
+ * @returns Plain object
803
+ */
804
+ public static toObject(m: License.KeyContainer.VideoResolutionConstraint, o?: $protobuf.IConversionOptions): { [k: string]: any };
805
+
806
+ /**
807
+ * Converts this VideoResolutionConstraint to JSON.
808
+ * @returns JSON object
809
+ */
810
+ public toJSON(): { [k: string]: any };
811
+
812
+ /**
813
+ * Gets the default type url for VideoResolutionConstraint
814
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
815
+ * @returns The default type url
816
+ */
817
+ public static getTypeUrl(typeUrlPrefix?: string): string;
818
+ }
819
+
820
+ /** Properties of an OperatorSessionKeyPermissions. */
821
+ interface IOperatorSessionKeyPermissions {
822
+
823
+ /** OperatorSessionKeyPermissions allowEncrypt */
824
+ allowEncrypt?: (boolean|null);
825
+
826
+ /** OperatorSessionKeyPermissions allowDecrypt */
827
+ allowDecrypt?: (boolean|null);
828
+
829
+ /** OperatorSessionKeyPermissions allowSign */
830
+ allowSign?: (boolean|null);
831
+
832
+ /** OperatorSessionKeyPermissions allowSignatureVerify */
833
+ allowSignatureVerify?: (boolean|null);
834
+ }
835
+
836
+ /** Represents an OperatorSessionKeyPermissions. */
837
+ class OperatorSessionKeyPermissions implements IOperatorSessionKeyPermissions {
838
+
839
+ /**
840
+ * Constructs a new OperatorSessionKeyPermissions.
841
+ * @param [p] Properties to set
842
+ */
843
+ constructor(p?: License.KeyContainer.IOperatorSessionKeyPermissions);
844
+
845
+ /** OperatorSessionKeyPermissions allowEncrypt. */
846
+ public allowEncrypt: boolean;
847
+
848
+ /** OperatorSessionKeyPermissions allowDecrypt. */
849
+ public allowDecrypt: boolean;
850
+
851
+ /** OperatorSessionKeyPermissions allowSign. */
852
+ public allowSign: boolean;
853
+
854
+ /** OperatorSessionKeyPermissions allowSignatureVerify. */
855
+ public allowSignatureVerify: boolean;
856
+
857
+ /**
858
+ * Creates a new OperatorSessionKeyPermissions instance using the specified properties.
859
+ * @param [properties] Properties to set
860
+ * @returns OperatorSessionKeyPermissions instance
861
+ */
862
+ public static create(properties?: License.KeyContainer.IOperatorSessionKeyPermissions): License.KeyContainer.OperatorSessionKeyPermissions;
863
+
864
+ /**
865
+ * Encodes the specified OperatorSessionKeyPermissions message. Does not implicitly {@link License.KeyContainer.OperatorSessionKeyPermissions.verify|verify} messages.
866
+ * @param m OperatorSessionKeyPermissions message or plain object to encode
867
+ * @param [w] Writer to encode to
868
+ * @returns Writer
869
+ */
870
+ public static encode(m: License.KeyContainer.IOperatorSessionKeyPermissions, w?: $protobuf.Writer): $protobuf.Writer;
871
+
872
+ /**
873
+ * Encodes the specified OperatorSessionKeyPermissions message, length delimited. Does not implicitly {@link License.KeyContainer.OperatorSessionKeyPermissions.verify|verify} messages.
874
+ * @param message OperatorSessionKeyPermissions message or plain object to encode
875
+ * @param [writer] Writer to encode to
876
+ * @returns Writer
877
+ */
878
+ public static encodeDelimited(message: License.KeyContainer.IOperatorSessionKeyPermissions, writer?: $protobuf.Writer): $protobuf.Writer;
879
+
880
+ /**
881
+ * Decodes an OperatorSessionKeyPermissions message from the specified reader or buffer.
882
+ * @param r Reader or buffer to decode from
883
+ * @param [l] Message length if known beforehand
884
+ * @returns OperatorSessionKeyPermissions
885
+ * @throws {Error} If the payload is not a reader or valid buffer
886
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
887
+ */
888
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): License.KeyContainer.OperatorSessionKeyPermissions;
889
+
890
+ /**
891
+ * Decodes an OperatorSessionKeyPermissions message from the specified reader or buffer, length delimited.
892
+ * @param reader Reader or buffer to decode from
893
+ * @returns OperatorSessionKeyPermissions
894
+ * @throws {Error} If the payload is not a reader or valid buffer
895
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
896
+ */
897
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): License.KeyContainer.OperatorSessionKeyPermissions;
898
+
899
+ /**
900
+ * Creates an OperatorSessionKeyPermissions message from a plain object. Also converts values to their respective internal types.
901
+ * @param d Plain object
902
+ * @returns OperatorSessionKeyPermissions
903
+ */
904
+ public static fromObject(d: { [k: string]: any }): License.KeyContainer.OperatorSessionKeyPermissions;
905
+
906
+ /**
907
+ * Creates a plain object from an OperatorSessionKeyPermissions message. Also converts values to other types if specified.
908
+ * @param m OperatorSessionKeyPermissions
909
+ * @param [o] Conversion options
910
+ * @returns Plain object
911
+ */
912
+ public static toObject(m: License.KeyContainer.OperatorSessionKeyPermissions, o?: $protobuf.IConversionOptions): { [k: string]: any };
913
+
914
+ /**
915
+ * Converts this OperatorSessionKeyPermissions to JSON.
916
+ * @returns JSON object
917
+ */
918
+ public toJSON(): { [k: string]: any };
919
+
920
+ /**
921
+ * Gets the default type url for OperatorSessionKeyPermissions
922
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
923
+ * @returns The default type url
924
+ */
925
+ public static getTypeUrl(typeUrlPrefix?: string): string;
926
+ }
927
+ }
928
+ }
929
+
930
+ /** HashAlgorithmProto enum. */
931
+ declare enum HashAlgorithmProto {
932
+ HASH_ALGORITHM_UNSPECIFIED = 0,
933
+ HASH_ALGORITHM_SHA_1 = 1,
934
+ HASH_ALGORITHM_SHA_256 = 2,
935
+ HASH_ALGORITHM_SHA_384 = 3
936
+ }
937
+
938
+ /** Represents a ClientIdentification. */
939
+ declare class ClientIdentification implements IClientIdentification {
940
+
941
+ /**
942
+ * Constructs a new ClientIdentification.
943
+ * @param [p] Properties to set
944
+ */
945
+ constructor(p?: IClientIdentification);
946
+
947
+ /** ClientIdentification type. */
948
+ public type: ClientIdentification.TokenType;
949
+
950
+ /** ClientIdentification token. */
951
+ public token: Uint8Array;
952
+
953
+ /** ClientIdentification clientInfo. */
954
+ public clientInfo: ClientIdentification.INameValue[];
955
+
956
+ /** ClientIdentification providerClientToken. */
957
+ public providerClientToken: Uint8Array;
958
+
959
+ /** ClientIdentification licenseCounter. */
960
+ public licenseCounter: number;
961
+
962
+ /** ClientIdentification clientCapabilities. */
963
+ public clientCapabilities?: (ClientIdentification.IClientCapabilities|null);
964
+
965
+ /** ClientIdentification vmpData. */
966
+ public vmpData: Uint8Array;
967
+
968
+ /** ClientIdentification deviceCredentials. */
969
+ public deviceCredentials: ClientIdentification.IClientCredentials[];
970
+
971
+ /**
972
+ * Creates a new ClientIdentification instance using the specified properties.
973
+ * @param [properties] Properties to set
974
+ * @returns ClientIdentification instance
975
+ */
976
+ public static create(properties?: IClientIdentification): ClientIdentification;
977
+
978
+ /**
979
+ * Encodes the specified ClientIdentification message. Does not implicitly {@link ClientIdentification.verify|verify} messages.
980
+ * @param m ClientIdentification message or plain object to encode
981
+ * @param [w] Writer to encode to
982
+ * @returns Writer
983
+ */
984
+ public static encode(m: IClientIdentification, w?: $protobuf.Writer): $protobuf.Writer;
985
+
986
+ /**
987
+ * Encodes the specified ClientIdentification message, length delimited. Does not implicitly {@link ClientIdentification.verify|verify} messages.
988
+ * @param message ClientIdentification message or plain object to encode
989
+ * @param [writer] Writer to encode to
990
+ * @returns Writer
991
+ */
992
+ public static encodeDelimited(message: IClientIdentification, writer?: $protobuf.Writer): $protobuf.Writer;
993
+
994
+ /**
995
+ * Decodes a ClientIdentification message from the specified reader or buffer.
996
+ * @param r Reader or buffer to decode from
997
+ * @param [l] Message length if known beforehand
998
+ * @returns ClientIdentification
999
+ * @throws {Error} If the payload is not a reader or valid buffer
1000
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1001
+ */
1002
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): ClientIdentification;
1003
+
1004
+ /**
1005
+ * Decodes a ClientIdentification message from the specified reader or buffer, length delimited.
1006
+ * @param reader Reader or buffer to decode from
1007
+ * @returns ClientIdentification
1008
+ * @throws {Error} If the payload is not a reader or valid buffer
1009
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1010
+ */
1011
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ClientIdentification;
1012
+
1013
+ /**
1014
+ * Creates a ClientIdentification message from a plain object. Also converts values to their respective internal types.
1015
+ * @param d Plain object
1016
+ * @returns ClientIdentification
1017
+ */
1018
+ public static fromObject(d: { [k: string]: any }): ClientIdentification;
1019
+
1020
+ /**
1021
+ * Creates a plain object from a ClientIdentification message. Also converts values to other types if specified.
1022
+ * @param m ClientIdentification
1023
+ * @param [o] Conversion options
1024
+ * @returns Plain object
1025
+ */
1026
+ public static toObject(m: ClientIdentification, o?: $protobuf.IConversionOptions): { [k: string]: any };
1027
+
1028
+ /**
1029
+ * Converts this ClientIdentification to JSON.
1030
+ * @returns JSON object
1031
+ */
1032
+ public toJSON(): { [k: string]: any };
1033
+
1034
+ /**
1035
+ * Gets the default type url for ClientIdentification
1036
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1037
+ * @returns The default type url
1038
+ */
1039
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1040
+ }
1041
+
1042
+ declare namespace ClientIdentification {
1043
+
1044
+ /** TokenType enum. */
1045
+ enum TokenType {
1046
+ KEYBOX = 0,
1047
+ DRM_DEVICE_CERTIFICATE = 1,
1048
+ REMOTE_ATTESTATION_CERTIFICATE = 2,
1049
+ OEM_DEVICE_CERTIFICATE = 3
1050
+ }
1051
+
1052
+ /** Properties of a NameValue. */
1053
+ interface INameValue {
1054
+
1055
+ /** NameValue name */
1056
+ name?: (string|null);
1057
+
1058
+ /** NameValue value */
1059
+ value?: (string|null);
1060
+ }
1061
+
1062
+ /** Represents a NameValue. */
1063
+ class NameValue implements INameValue {
1064
+
1065
+ /**
1066
+ * Constructs a new NameValue.
1067
+ * @param [p] Properties to set
1068
+ */
1069
+ constructor(p?: ClientIdentification.INameValue);
1070
+
1071
+ /** NameValue name. */
1072
+ public name: string;
1073
+
1074
+ /** NameValue value. */
1075
+ public value: string;
1076
+
1077
+ /**
1078
+ * Creates a new NameValue instance using the specified properties.
1079
+ * @param [properties] Properties to set
1080
+ * @returns NameValue instance
1081
+ */
1082
+ public static create(properties?: ClientIdentification.INameValue): ClientIdentification.NameValue;
1083
+
1084
+ /**
1085
+ * Encodes the specified NameValue message. Does not implicitly {@link ClientIdentification.NameValue.verify|verify} messages.
1086
+ * @param m NameValue message or plain object to encode
1087
+ * @param [w] Writer to encode to
1088
+ * @returns Writer
1089
+ */
1090
+ public static encode(m: ClientIdentification.INameValue, w?: $protobuf.Writer): $protobuf.Writer;
1091
+
1092
+ /**
1093
+ * Encodes the specified NameValue message, length delimited. Does not implicitly {@link ClientIdentification.NameValue.verify|verify} messages.
1094
+ * @param message NameValue message or plain object to encode
1095
+ * @param [writer] Writer to encode to
1096
+ * @returns Writer
1097
+ */
1098
+ public static encodeDelimited(message: ClientIdentification.INameValue, writer?: $protobuf.Writer): $protobuf.Writer;
1099
+
1100
+ /**
1101
+ * Decodes a NameValue message from the specified reader or buffer.
1102
+ * @param r Reader or buffer to decode from
1103
+ * @param [l] Message length if known beforehand
1104
+ * @returns NameValue
1105
+ * @throws {Error} If the payload is not a reader or valid buffer
1106
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1107
+ */
1108
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): ClientIdentification.NameValue;
1109
+
1110
+ /**
1111
+ * Decodes a NameValue message from the specified reader or buffer, length delimited.
1112
+ * @param reader Reader or buffer to decode from
1113
+ * @returns NameValue
1114
+ * @throws {Error} If the payload is not a reader or valid buffer
1115
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1116
+ */
1117
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ClientIdentification.NameValue;
1118
+
1119
+ /**
1120
+ * Creates a NameValue message from a plain object. Also converts values to their respective internal types.
1121
+ * @param d Plain object
1122
+ * @returns NameValue
1123
+ */
1124
+ public static fromObject(d: { [k: string]: any }): ClientIdentification.NameValue;
1125
+
1126
+ /**
1127
+ * Creates a plain object from a NameValue message. Also converts values to other types if specified.
1128
+ * @param m NameValue
1129
+ * @param [o] Conversion options
1130
+ * @returns Plain object
1131
+ */
1132
+ public static toObject(m: ClientIdentification.NameValue, o?: $protobuf.IConversionOptions): { [k: string]: any };
1133
+
1134
+ /**
1135
+ * Converts this NameValue to JSON.
1136
+ * @returns JSON object
1137
+ */
1138
+ public toJSON(): { [k: string]: any };
1139
+
1140
+ /**
1141
+ * Gets the default type url for NameValue
1142
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1143
+ * @returns The default type url
1144
+ */
1145
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1146
+ }
1147
+
1148
+ /** Properties of a ClientCapabilities. */
1149
+ interface IClientCapabilities {
1150
+
1151
+ /** ClientCapabilities clientToken */
1152
+ clientToken?: (boolean|null);
1153
+
1154
+ /** ClientCapabilities sessionToken */
1155
+ sessionToken?: (boolean|null);
1156
+
1157
+ /** ClientCapabilities videoResolutionConstraints */
1158
+ videoResolutionConstraints?: (boolean|null);
1159
+
1160
+ /** ClientCapabilities maxHdcpVersion */
1161
+ maxHdcpVersion?: (ClientIdentification.ClientCapabilities.HdcpVersion|null);
1162
+
1163
+ /** ClientCapabilities oemCryptoApiVersion */
1164
+ oemCryptoApiVersion?: (number|null);
1165
+
1166
+ /** ClientCapabilities antiRollbackUsageTable */
1167
+ antiRollbackUsageTable?: (boolean|null);
1168
+
1169
+ /** ClientCapabilities srmVersion */
1170
+ srmVersion?: (number|null);
1171
+
1172
+ /** ClientCapabilities canUpdateSrm */
1173
+ canUpdateSrm?: (boolean|null);
1174
+
1175
+ /** ClientCapabilities supportedCertificateKeyType */
1176
+ supportedCertificateKeyType?: (ClientIdentification.ClientCapabilities.CertificateKeyType[]|null);
1177
+
1178
+ /** ClientCapabilities analogOutputCapabilities */
1179
+ analogOutputCapabilities?: (ClientIdentification.ClientCapabilities.AnalogOutputCapabilities|null);
1180
+
1181
+ /** ClientCapabilities canDisableAnalogOutput */
1182
+ canDisableAnalogOutput?: (boolean|null);
1183
+
1184
+ /** ClientCapabilities resourceRatingTier */
1185
+ resourceRatingTier?: (number|null);
1186
+ }
1187
+
1188
+ /** Represents a ClientCapabilities. */
1189
+ class ClientCapabilities implements IClientCapabilities {
1190
+
1191
+ /**
1192
+ * Constructs a new ClientCapabilities.
1193
+ * @param [p] Properties to set
1194
+ */
1195
+ constructor(p?: ClientIdentification.IClientCapabilities);
1196
+
1197
+ /** ClientCapabilities clientToken. */
1198
+ public clientToken: boolean;
1199
+
1200
+ /** ClientCapabilities sessionToken. */
1201
+ public sessionToken: boolean;
1202
+
1203
+ /** ClientCapabilities videoResolutionConstraints. */
1204
+ public videoResolutionConstraints: boolean;
1205
+
1206
+ /** ClientCapabilities maxHdcpVersion. */
1207
+ public maxHdcpVersion: ClientIdentification.ClientCapabilities.HdcpVersion;
1208
+
1209
+ /** ClientCapabilities oemCryptoApiVersion. */
1210
+ public oemCryptoApiVersion: number;
1211
+
1212
+ /** ClientCapabilities antiRollbackUsageTable. */
1213
+ public antiRollbackUsageTable: boolean;
1214
+
1215
+ /** ClientCapabilities srmVersion. */
1216
+ public srmVersion: number;
1217
+
1218
+ /** ClientCapabilities canUpdateSrm. */
1219
+ public canUpdateSrm: boolean;
1220
+
1221
+ /** ClientCapabilities supportedCertificateKeyType. */
1222
+ public supportedCertificateKeyType: ClientIdentification.ClientCapabilities.CertificateKeyType[];
1223
+
1224
+ /** ClientCapabilities analogOutputCapabilities. */
1225
+ public analogOutputCapabilities: ClientIdentification.ClientCapabilities.AnalogOutputCapabilities;
1226
+
1227
+ /** ClientCapabilities canDisableAnalogOutput. */
1228
+ public canDisableAnalogOutput: boolean;
1229
+
1230
+ /** ClientCapabilities resourceRatingTier. */
1231
+ public resourceRatingTier: number;
1232
+
1233
+ /**
1234
+ * Creates a new ClientCapabilities instance using the specified properties.
1235
+ * @param [properties] Properties to set
1236
+ * @returns ClientCapabilities instance
1237
+ */
1238
+ public static create(properties?: ClientIdentification.IClientCapabilities): ClientIdentification.ClientCapabilities;
1239
+
1240
+ /**
1241
+ * Encodes the specified ClientCapabilities message. Does not implicitly {@link ClientIdentification.ClientCapabilities.verify|verify} messages.
1242
+ * @param m ClientCapabilities message or plain object to encode
1243
+ * @param [w] Writer to encode to
1244
+ * @returns Writer
1245
+ */
1246
+ public static encode(m: ClientIdentification.IClientCapabilities, w?: $protobuf.Writer): $protobuf.Writer;
1247
+
1248
+ /**
1249
+ * Encodes the specified ClientCapabilities message, length delimited. Does not implicitly {@link ClientIdentification.ClientCapabilities.verify|verify} messages.
1250
+ * @param message ClientCapabilities message or plain object to encode
1251
+ * @param [writer] Writer to encode to
1252
+ * @returns Writer
1253
+ */
1254
+ public static encodeDelimited(message: ClientIdentification.IClientCapabilities, writer?: $protobuf.Writer): $protobuf.Writer;
1255
+
1256
+ /**
1257
+ * Decodes a ClientCapabilities message from the specified reader or buffer.
1258
+ * @param r Reader or buffer to decode from
1259
+ * @param [l] Message length if known beforehand
1260
+ * @returns ClientCapabilities
1261
+ * @throws {Error} If the payload is not a reader or valid buffer
1262
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1263
+ */
1264
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): ClientIdentification.ClientCapabilities;
1265
+
1266
+ /**
1267
+ * Decodes a ClientCapabilities message from the specified reader or buffer, length delimited.
1268
+ * @param reader Reader or buffer to decode from
1269
+ * @returns ClientCapabilities
1270
+ * @throws {Error} If the payload is not a reader or valid buffer
1271
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1272
+ */
1273
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ClientIdentification.ClientCapabilities;
1274
+
1275
+ /**
1276
+ * Creates a ClientCapabilities message from a plain object. Also converts values to their respective internal types.
1277
+ * @param d Plain object
1278
+ * @returns ClientCapabilities
1279
+ */
1280
+ public static fromObject(d: { [k: string]: any }): ClientIdentification.ClientCapabilities;
1281
+
1282
+ /**
1283
+ * Creates a plain object from a ClientCapabilities message. Also converts values to other types if specified.
1284
+ * @param m ClientCapabilities
1285
+ * @param [o] Conversion options
1286
+ * @returns Plain object
1287
+ */
1288
+ public static toObject(m: ClientIdentification.ClientCapabilities, o?: $protobuf.IConversionOptions): { [k: string]: any };
1289
+
1290
+ /**
1291
+ * Converts this ClientCapabilities to JSON.
1292
+ * @returns JSON object
1293
+ */
1294
+ public toJSON(): { [k: string]: any };
1295
+
1296
+ /**
1297
+ * Gets the default type url for ClientCapabilities
1298
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1299
+ * @returns The default type url
1300
+ */
1301
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1302
+ }
1303
+
1304
+ namespace ClientCapabilities {
1305
+
1306
+ /** HdcpVersion enum. */
1307
+ enum HdcpVersion {
1308
+ HDCP_NONE = 0,
1309
+ HDCP_V1 = 1,
1310
+ HDCP_V2 = 2,
1311
+ HDCP_V2_1 = 3,
1312
+ HDCP_V2_2 = 4,
1313
+ HDCP_V2_3 = 5,
1314
+ HDCP_NO_DIGITAL_OUTPUT = 255
1315
+ }
1316
+
1317
+ /** CertificateKeyType enum. */
1318
+ enum CertificateKeyType {
1319
+ RSA_2048 = 0,
1320
+ RSA_3072 = 1,
1321
+ ECC_SECP256R1 = 2,
1322
+ ECC_SECP384R1 = 3,
1323
+ ECC_SECP521R1 = 4
1324
+ }
1325
+
1326
+ /** AnalogOutputCapabilities enum. */
1327
+ enum AnalogOutputCapabilities {
1328
+ ANALOG_OUTPUT_UNKNOWN = 0,
1329
+ ANALOG_OUTPUT_NONE = 1,
1330
+ ANALOG_OUTPUT_SUPPORTED = 2,
1331
+ ANALOG_OUTPUT_SUPPORTS_CGMS_A = 3
1332
+ }
1333
+ }
1334
+
1335
+ /** Properties of a ClientCredentials. */
1336
+ interface IClientCredentials {
1337
+
1338
+ /** ClientCredentials type */
1339
+ type?: (ClientIdentification.TokenType|null);
1340
+
1341
+ /** ClientCredentials token */
1342
+ token?: (Uint8Array|null);
1343
+ }
1344
+
1345
+ /** Represents a ClientCredentials. */
1346
+ class ClientCredentials implements IClientCredentials {
1347
+
1348
+ /**
1349
+ * Constructs a new ClientCredentials.
1350
+ * @param [p] Properties to set
1351
+ */
1352
+ constructor(p?: ClientIdentification.IClientCredentials);
1353
+
1354
+ /** ClientCredentials type. */
1355
+ public type: ClientIdentification.TokenType;
1356
+
1357
+ /** ClientCredentials token. */
1358
+ public token: Uint8Array;
1359
+
1360
+ /**
1361
+ * Creates a new ClientCredentials instance using the specified properties.
1362
+ * @param [properties] Properties to set
1363
+ * @returns ClientCredentials instance
1364
+ */
1365
+ public static create(properties?: ClientIdentification.IClientCredentials): ClientIdentification.ClientCredentials;
1366
+
1367
+ /**
1368
+ * Encodes the specified ClientCredentials message. Does not implicitly {@link ClientIdentification.ClientCredentials.verify|verify} messages.
1369
+ * @param m ClientCredentials message or plain object to encode
1370
+ * @param [w] Writer to encode to
1371
+ * @returns Writer
1372
+ */
1373
+ public static encode(m: ClientIdentification.IClientCredentials, w?: $protobuf.Writer): $protobuf.Writer;
1374
+
1375
+ /**
1376
+ * Encodes the specified ClientCredentials message, length delimited. Does not implicitly {@link ClientIdentification.ClientCredentials.verify|verify} messages.
1377
+ * @param message ClientCredentials message or plain object to encode
1378
+ * @param [writer] Writer to encode to
1379
+ * @returns Writer
1380
+ */
1381
+ public static encodeDelimited(message: ClientIdentification.IClientCredentials, writer?: $protobuf.Writer): $protobuf.Writer;
1382
+
1383
+ /**
1384
+ * Decodes a ClientCredentials message from the specified reader or buffer.
1385
+ * @param r Reader or buffer to decode from
1386
+ * @param [l] Message length if known beforehand
1387
+ * @returns ClientCredentials
1388
+ * @throws {Error} If the payload is not a reader or valid buffer
1389
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1390
+ */
1391
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): ClientIdentification.ClientCredentials;
1392
+
1393
+ /**
1394
+ * Decodes a ClientCredentials message from the specified reader or buffer, length delimited.
1395
+ * @param reader Reader or buffer to decode from
1396
+ * @returns ClientCredentials
1397
+ * @throws {Error} If the payload is not a reader or valid buffer
1398
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1399
+ */
1400
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ClientIdentification.ClientCredentials;
1401
+
1402
+ /**
1403
+ * Creates a ClientCredentials message from a plain object. Also converts values to their respective internal types.
1404
+ * @param d Plain object
1405
+ * @returns ClientCredentials
1406
+ */
1407
+ public static fromObject(d: { [k: string]: any }): ClientIdentification.ClientCredentials;
1408
+
1409
+ /**
1410
+ * Creates a plain object from a ClientCredentials message. Also converts values to other types if specified.
1411
+ * @param m ClientCredentials
1412
+ * @param [o] Conversion options
1413
+ * @returns Plain object
1414
+ */
1415
+ public static toObject(m: ClientIdentification.ClientCredentials, o?: $protobuf.IConversionOptions): { [k: string]: any };
1416
+
1417
+ /**
1418
+ * Converts this ClientCredentials to JSON.
1419
+ * @returns JSON object
1420
+ */
1421
+ public toJSON(): { [k: string]: any };
1422
+
1423
+ /**
1424
+ * Gets the default type url for ClientCredentials
1425
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1426
+ * @returns The default type url
1427
+ */
1428
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1429
+ }
1430
+ }
1431
+
1432
+ /** Represents an EncryptedClientIdentification. */
1433
+ declare class EncryptedClientIdentification implements IEncryptedClientIdentification {
1434
+
1435
+ /**
1436
+ * Constructs a new EncryptedClientIdentification.
1437
+ * @param [p] Properties to set
1438
+ */
1439
+ constructor(p?: IEncryptedClientIdentification);
1440
+
1441
+ /** EncryptedClientIdentification providerId. */
1442
+ public providerId: string;
1443
+
1444
+ /** EncryptedClientIdentification serviceCertificateSerialNumber. */
1445
+ public serviceCertificateSerialNumber: Uint8Array;
1446
+
1447
+ /** EncryptedClientIdentification encryptedClientId. */
1448
+ public encryptedClientId: Uint8Array;
1449
+
1450
+ /** EncryptedClientIdentification encryptedClientIdIv. */
1451
+ public encryptedClientIdIv: Uint8Array;
1452
+
1453
+ /** EncryptedClientIdentification encryptedPrivacyKey. */
1454
+ public encryptedPrivacyKey: Uint8Array;
1455
+
1456
+ /**
1457
+ * Creates a new EncryptedClientIdentification instance using the specified properties.
1458
+ * @param [properties] Properties to set
1459
+ * @returns EncryptedClientIdentification instance
1460
+ */
1461
+ public static create(properties?: IEncryptedClientIdentification): EncryptedClientIdentification;
1462
+
1463
+ /**
1464
+ * Encodes the specified EncryptedClientIdentification message. Does not implicitly {@link EncryptedClientIdentification.verify|verify} messages.
1465
+ * @param m EncryptedClientIdentification message or plain object to encode
1466
+ * @param [w] Writer to encode to
1467
+ * @returns Writer
1468
+ */
1469
+ public static encode(m: IEncryptedClientIdentification, w?: $protobuf.Writer): $protobuf.Writer;
1470
+
1471
+ /**
1472
+ * Encodes the specified EncryptedClientIdentification message, length delimited. Does not implicitly {@link EncryptedClientIdentification.verify|verify} messages.
1473
+ * @param message EncryptedClientIdentification message or plain object to encode
1474
+ * @param [writer] Writer to encode to
1475
+ * @returns Writer
1476
+ */
1477
+ public static encodeDelimited(message: IEncryptedClientIdentification, writer?: $protobuf.Writer): $protobuf.Writer;
1478
+
1479
+ /**
1480
+ * Decodes an EncryptedClientIdentification message from the specified reader or buffer.
1481
+ * @param r Reader or buffer to decode from
1482
+ * @param [l] Message length if known beforehand
1483
+ * @returns EncryptedClientIdentification
1484
+ * @throws {Error} If the payload is not a reader or valid buffer
1485
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1486
+ */
1487
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): EncryptedClientIdentification;
1488
+
1489
+ /**
1490
+ * Decodes an EncryptedClientIdentification message from the specified reader or buffer, length delimited.
1491
+ * @param reader Reader or buffer to decode from
1492
+ * @returns EncryptedClientIdentification
1493
+ * @throws {Error} If the payload is not a reader or valid buffer
1494
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1495
+ */
1496
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): EncryptedClientIdentification;
1497
+
1498
+ /**
1499
+ * Creates an EncryptedClientIdentification message from a plain object. Also converts values to their respective internal types.
1500
+ * @param d Plain object
1501
+ * @returns EncryptedClientIdentification
1502
+ */
1503
+ public static fromObject(d: { [k: string]: any }): EncryptedClientIdentification;
1504
+
1505
+ /**
1506
+ * Creates a plain object from an EncryptedClientIdentification message. Also converts values to other types if specified.
1507
+ * @param m EncryptedClientIdentification
1508
+ * @param [o] Conversion options
1509
+ * @returns Plain object
1510
+ */
1511
+ public static toObject(m: EncryptedClientIdentification, o?: $protobuf.IConversionOptions): { [k: string]: any };
1512
+
1513
+ /**
1514
+ * Converts this EncryptedClientIdentification to JSON.
1515
+ * @returns JSON object
1516
+ */
1517
+ public toJSON(): { [k: string]: any };
1518
+
1519
+ /**
1520
+ * Gets the default type url for EncryptedClientIdentification
1521
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1522
+ * @returns The default type url
1523
+ */
1524
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1525
+ }
1526
+
1527
+ /** Represents a DrmCertificate. */
1528
+ declare class DrmCertificate implements IDrmCertificate {
1529
+
1530
+ /**
1531
+ * Constructs a new DrmCertificate.
1532
+ * @param [p] Properties to set
1533
+ */
1534
+ constructor(p?: IDrmCertificate);
1535
+
1536
+ /** DrmCertificate type. */
1537
+ public type: DrmCertificate.Type;
1538
+
1539
+ /** DrmCertificate serialNumber. */
1540
+ public serialNumber: Uint8Array;
1541
+
1542
+ /** DrmCertificate creationTimeSeconds. */
1543
+ public creationTimeSeconds: number;
1544
+
1545
+ /** DrmCertificate expirationTimeSeconds. */
1546
+ public expirationTimeSeconds: number;
1547
+
1548
+ /** DrmCertificate publicKey. */
1549
+ public publicKey: Uint8Array;
1550
+
1551
+ /** DrmCertificate systemId. */
1552
+ public systemId: number;
1553
+
1554
+ /** DrmCertificate testDeviceDeprecated. */
1555
+ public testDeviceDeprecated: boolean;
1556
+
1557
+ /** DrmCertificate providerId. */
1558
+ public providerId: string;
1559
+
1560
+ /** DrmCertificate serviceTypes. */
1561
+ public serviceTypes: DrmCertificate.ServiceType[];
1562
+
1563
+ /** DrmCertificate algorithm. */
1564
+ public algorithm: DrmCertificate.Algorithm;
1565
+
1566
+ /** DrmCertificate rotId. */
1567
+ public rotId: Uint8Array;
1568
+
1569
+ /** DrmCertificate encryptionKey. */
1570
+ public encryptionKey?: (DrmCertificate.IEncryptionKey|null);
1571
+
1572
+ /**
1573
+ * Creates a new DrmCertificate instance using the specified properties.
1574
+ * @param [properties] Properties to set
1575
+ * @returns DrmCertificate instance
1576
+ */
1577
+ public static create(properties?: IDrmCertificate): DrmCertificate;
1578
+
1579
+ /**
1580
+ * Encodes the specified DrmCertificate message. Does not implicitly {@link DrmCertificate.verify|verify} messages.
1581
+ * @param m DrmCertificate message or plain object to encode
1582
+ * @param [w] Writer to encode to
1583
+ * @returns Writer
1584
+ */
1585
+ public static encode(m: IDrmCertificate, w?: $protobuf.Writer): $protobuf.Writer;
1586
+
1587
+ /**
1588
+ * Encodes the specified DrmCertificate message, length delimited. Does not implicitly {@link DrmCertificate.verify|verify} messages.
1589
+ * @param message DrmCertificate message or plain object to encode
1590
+ * @param [writer] Writer to encode to
1591
+ * @returns Writer
1592
+ */
1593
+ public static encodeDelimited(message: IDrmCertificate, writer?: $protobuf.Writer): $protobuf.Writer;
1594
+
1595
+ /**
1596
+ * Decodes a DrmCertificate message from the specified reader or buffer.
1597
+ * @param r Reader or buffer to decode from
1598
+ * @param [l] Message length if known beforehand
1599
+ * @returns DrmCertificate
1600
+ * @throws {Error} If the payload is not a reader or valid buffer
1601
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1602
+ */
1603
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): DrmCertificate;
1604
+
1605
+ /**
1606
+ * Decodes a DrmCertificate message from the specified reader or buffer, length delimited.
1607
+ * @param reader Reader or buffer to decode from
1608
+ * @returns DrmCertificate
1609
+ * @throws {Error} If the payload is not a reader or valid buffer
1610
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1611
+ */
1612
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): DrmCertificate;
1613
+
1614
+ /**
1615
+ * Creates a DrmCertificate message from a plain object. Also converts values to their respective internal types.
1616
+ * @param d Plain object
1617
+ * @returns DrmCertificate
1618
+ */
1619
+ public static fromObject(d: { [k: string]: any }): DrmCertificate;
1620
+
1621
+ /**
1622
+ * Creates a plain object from a DrmCertificate message. Also converts values to other types if specified.
1623
+ * @param m DrmCertificate
1624
+ * @param [o] Conversion options
1625
+ * @returns Plain object
1626
+ */
1627
+ public static toObject(m: DrmCertificate, o?: $protobuf.IConversionOptions): { [k: string]: any };
1628
+
1629
+ /**
1630
+ * Converts this DrmCertificate to JSON.
1631
+ * @returns JSON object
1632
+ */
1633
+ public toJSON(): { [k: string]: any };
1634
+
1635
+ /**
1636
+ * Gets the default type url for DrmCertificate
1637
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1638
+ * @returns The default type url
1639
+ */
1640
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1641
+ }
1642
+
1643
+ declare namespace DrmCertificate {
1644
+
1645
+ /** Type enum. */
1646
+ enum Type {
1647
+ ROOT = 0,
1648
+ DEVICE_MODEL = 1,
1649
+ DEVICE = 2,
1650
+ SERVICE = 3,
1651
+ PROVISIONER = 4
1652
+ }
1653
+
1654
+ /** ServiceType enum. */
1655
+ enum ServiceType {
1656
+ UNKNOWN_SERVICE_TYPE = 0,
1657
+ LICENSE_SERVER_SDK = 1,
1658
+ LICENSE_SERVER_PROXY_SDK = 2,
1659
+ PROVISIONING_SDK = 3,
1660
+ CAS_PROXY_SDK = 4
1661
+ }
1662
+
1663
+ /** Algorithm enum. */
1664
+ enum Algorithm {
1665
+ UNKNOWN_ALGORITHM = 0,
1666
+ RSA = 1,
1667
+ ECC_SECP256R1 = 2,
1668
+ ECC_SECP384R1 = 3,
1669
+ ECC_SECP521R1 = 4
1670
+ }
1671
+
1672
+ /** Properties of an EncryptionKey. */
1673
+ interface IEncryptionKey {
1674
+
1675
+ /** EncryptionKey publicKey */
1676
+ publicKey?: (Uint8Array|null);
1677
+
1678
+ /** EncryptionKey algorithm */
1679
+ algorithm?: (DrmCertificate.Algorithm|null);
1680
+ }
1681
+
1682
+ /** Represents an EncryptionKey. */
1683
+ class EncryptionKey implements IEncryptionKey {
1684
+
1685
+ /**
1686
+ * Constructs a new EncryptionKey.
1687
+ * @param [p] Properties to set
1688
+ */
1689
+ constructor(p?: DrmCertificate.IEncryptionKey);
1690
+
1691
+ /** EncryptionKey publicKey. */
1692
+ public publicKey: Uint8Array;
1693
+
1694
+ /** EncryptionKey algorithm. */
1695
+ public algorithm: DrmCertificate.Algorithm;
1696
+
1697
+ /**
1698
+ * Creates a new EncryptionKey instance using the specified properties.
1699
+ * @param [properties] Properties to set
1700
+ * @returns EncryptionKey instance
1701
+ */
1702
+ public static create(properties?: DrmCertificate.IEncryptionKey): DrmCertificate.EncryptionKey;
1703
+
1704
+ /**
1705
+ * Encodes the specified EncryptionKey message. Does not implicitly {@link DrmCertificate.EncryptionKey.verify|verify} messages.
1706
+ * @param m EncryptionKey message or plain object to encode
1707
+ * @param [w] Writer to encode to
1708
+ * @returns Writer
1709
+ */
1710
+ public static encode(m: DrmCertificate.IEncryptionKey, w?: $protobuf.Writer): $protobuf.Writer;
1711
+
1712
+ /**
1713
+ * Encodes the specified EncryptionKey message, length delimited. Does not implicitly {@link DrmCertificate.EncryptionKey.verify|verify} messages.
1714
+ * @param message EncryptionKey message or plain object to encode
1715
+ * @param [writer] Writer to encode to
1716
+ * @returns Writer
1717
+ */
1718
+ public static encodeDelimited(message: DrmCertificate.IEncryptionKey, writer?: $protobuf.Writer): $protobuf.Writer;
1719
+
1720
+ /**
1721
+ * Decodes an EncryptionKey message from the specified reader or buffer.
1722
+ * @param r Reader or buffer to decode from
1723
+ * @param [l] Message length if known beforehand
1724
+ * @returns EncryptionKey
1725
+ * @throws {Error} If the payload is not a reader or valid buffer
1726
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1727
+ */
1728
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): DrmCertificate.EncryptionKey;
1729
+
1730
+ /**
1731
+ * Decodes an EncryptionKey message from the specified reader or buffer, length delimited.
1732
+ * @param reader Reader or buffer to decode from
1733
+ * @returns EncryptionKey
1734
+ * @throws {Error} If the payload is not a reader or valid buffer
1735
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1736
+ */
1737
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): DrmCertificate.EncryptionKey;
1738
+
1739
+ /**
1740
+ * Creates an EncryptionKey message from a plain object. Also converts values to their respective internal types.
1741
+ * @param d Plain object
1742
+ * @returns EncryptionKey
1743
+ */
1744
+ public static fromObject(d: { [k: string]: any }): DrmCertificate.EncryptionKey;
1745
+
1746
+ /**
1747
+ * Creates a plain object from an EncryptionKey message. Also converts values to other types if specified.
1748
+ * @param m EncryptionKey
1749
+ * @param [o] Conversion options
1750
+ * @returns Plain object
1751
+ */
1752
+ public static toObject(m: DrmCertificate.EncryptionKey, o?: $protobuf.IConversionOptions): { [k: string]: any };
1753
+
1754
+ /**
1755
+ * Converts this EncryptionKey to JSON.
1756
+ * @returns JSON object
1757
+ */
1758
+ public toJSON(): { [k: string]: any };
1759
+
1760
+ /**
1761
+ * Gets the default type url for EncryptionKey
1762
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1763
+ * @returns The default type url
1764
+ */
1765
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1766
+ }
1767
+ }
1768
+
1769
+ /** Represents a SignedDrmCertificate. */
1770
+ declare class SignedDrmCertificate implements ISignedDrmCertificate {
1771
+
1772
+ /**
1773
+ * Constructs a new SignedDrmCertificate.
1774
+ * @param [p] Properties to set
1775
+ */
1776
+ constructor(p?: ISignedDrmCertificate);
1777
+
1778
+ /** SignedDrmCertificate drmCertificate. */
1779
+ public drmCertificate: Uint8Array;
1780
+
1781
+ /** SignedDrmCertificate signature. */
1782
+ public signature: Uint8Array;
1783
+
1784
+ /** SignedDrmCertificate signer. */
1785
+ public signer?: (ISignedDrmCertificate|null);
1786
+
1787
+ /** SignedDrmCertificate hashAlgorithm. */
1788
+ public hashAlgorithm: HashAlgorithmProto;
1789
+
1790
+ /**
1791
+ * Creates a new SignedDrmCertificate instance using the specified properties.
1792
+ * @param [properties] Properties to set
1793
+ * @returns SignedDrmCertificate instance
1794
+ */
1795
+ public static create(properties?: ISignedDrmCertificate): SignedDrmCertificate;
1796
+
1797
+ /**
1798
+ * Encodes the specified SignedDrmCertificate message. Does not implicitly {@link SignedDrmCertificate.verify|verify} messages.
1799
+ * @param m SignedDrmCertificate message or plain object to encode
1800
+ * @param [w] Writer to encode to
1801
+ * @returns Writer
1802
+ */
1803
+ public static encode(m: ISignedDrmCertificate, w?: $protobuf.Writer): $protobuf.Writer;
1804
+
1805
+ /**
1806
+ * Encodes the specified SignedDrmCertificate message, length delimited. Does not implicitly {@link SignedDrmCertificate.verify|verify} messages.
1807
+ * @param message SignedDrmCertificate message or plain object to encode
1808
+ * @param [writer] Writer to encode to
1809
+ * @returns Writer
1810
+ */
1811
+ public static encodeDelimited(message: ISignedDrmCertificate, writer?: $protobuf.Writer): $protobuf.Writer;
1812
+
1813
+ /**
1814
+ * Decodes a SignedDrmCertificate message from the specified reader or buffer.
1815
+ * @param r Reader or buffer to decode from
1816
+ * @param [l] Message length if known beforehand
1817
+ * @returns SignedDrmCertificate
1818
+ * @throws {Error} If the payload is not a reader or valid buffer
1819
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1820
+ */
1821
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): SignedDrmCertificate;
1822
+
1823
+ /**
1824
+ * Decodes a SignedDrmCertificate message from the specified reader or buffer, length delimited.
1825
+ * @param reader Reader or buffer to decode from
1826
+ * @returns SignedDrmCertificate
1827
+ * @throws {Error} If the payload is not a reader or valid buffer
1828
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1829
+ */
1830
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SignedDrmCertificate;
1831
+
1832
+ /**
1833
+ * Creates a SignedDrmCertificate message from a plain object. Also converts values to their respective internal types.
1834
+ * @param d Plain object
1835
+ * @returns SignedDrmCertificate
1836
+ */
1837
+ public static fromObject(d: { [k: string]: any }): SignedDrmCertificate;
1838
+
1839
+ /**
1840
+ * Creates a plain object from a SignedDrmCertificate message. Also converts values to other types if specified.
1841
+ * @param m SignedDrmCertificate
1842
+ * @param [o] Conversion options
1843
+ * @returns Plain object
1844
+ */
1845
+ public static toObject(m: SignedDrmCertificate, o?: $protobuf.IConversionOptions): { [k: string]: any };
1846
+
1847
+ /**
1848
+ * Converts this SignedDrmCertificate to JSON.
1849
+ * @returns JSON object
1850
+ */
1851
+ public toJSON(): { [k: string]: any };
1852
+
1853
+ /**
1854
+ * Gets the default type url for SignedDrmCertificate
1855
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1856
+ * @returns The default type url
1857
+ */
1858
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1859
+ }
1860
+
1861
+ /** Represents a FileHashes. */
1862
+ declare class FileHashes implements IFileHashes {
1863
+
1864
+ /**
1865
+ * Constructs a new FileHashes.
1866
+ * @param [p] Properties to set
1867
+ */
1868
+ constructor(p?: IFileHashes);
1869
+
1870
+ /** FileHashes signer. */
1871
+ public signer: Uint8Array;
1872
+
1873
+ /** FileHashes signatures. */
1874
+ public signatures: FileHashes.ISignature[];
1875
+
1876
+ /**
1877
+ * Creates a new FileHashes instance using the specified properties.
1878
+ * @param [properties] Properties to set
1879
+ * @returns FileHashes instance
1880
+ */
1881
+ public static create(properties?: IFileHashes): FileHashes;
1882
+
1883
+ /**
1884
+ * Encodes the specified FileHashes message. Does not implicitly {@link FileHashes.verify|verify} messages.
1885
+ * @param m FileHashes message or plain object to encode
1886
+ * @param [w] Writer to encode to
1887
+ * @returns Writer
1888
+ */
1889
+ public static encode(m: IFileHashes, w?: $protobuf.Writer): $protobuf.Writer;
1890
+
1891
+ /**
1892
+ * Encodes the specified FileHashes message, length delimited. Does not implicitly {@link FileHashes.verify|verify} messages.
1893
+ * @param message FileHashes message or plain object to encode
1894
+ * @param [writer] Writer to encode to
1895
+ * @returns Writer
1896
+ */
1897
+ public static encodeDelimited(message: IFileHashes, writer?: $protobuf.Writer): $protobuf.Writer;
1898
+
1899
+ /**
1900
+ * Decodes a FileHashes message from the specified reader or buffer.
1901
+ * @param r Reader or buffer to decode from
1902
+ * @param [l] Message length if known beforehand
1903
+ * @returns FileHashes
1904
+ * @throws {Error} If the payload is not a reader or valid buffer
1905
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1906
+ */
1907
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): FileHashes;
1908
+
1909
+ /**
1910
+ * Decodes a FileHashes message from the specified reader or buffer, length delimited.
1911
+ * @param reader Reader or buffer to decode from
1912
+ * @returns FileHashes
1913
+ * @throws {Error} If the payload is not a reader or valid buffer
1914
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1915
+ */
1916
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): FileHashes;
1917
+
1918
+ /**
1919
+ * Creates a FileHashes message from a plain object. Also converts values to their respective internal types.
1920
+ * @param d Plain object
1921
+ * @returns FileHashes
1922
+ */
1923
+ public static fromObject(d: { [k: string]: any }): FileHashes;
1924
+
1925
+ /**
1926
+ * Creates a plain object from a FileHashes message. Also converts values to other types if specified.
1927
+ * @param m FileHashes
1928
+ * @param [o] Conversion options
1929
+ * @returns Plain object
1930
+ */
1931
+ public static toObject(m: FileHashes, o?: $protobuf.IConversionOptions): { [k: string]: any };
1932
+
1933
+ /**
1934
+ * Converts this FileHashes to JSON.
1935
+ * @returns JSON object
1936
+ */
1937
+ public toJSON(): { [k: string]: any };
1938
+
1939
+ /**
1940
+ * Gets the default type url for FileHashes
1941
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1942
+ * @returns The default type url
1943
+ */
1944
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1945
+ }
1946
+
1947
+ declare namespace FileHashes {
1948
+
1949
+ /** Properties of a Signature. */
1950
+ interface ISignature {
1951
+
1952
+ /** Signature filename */
1953
+ filename?: (string|null);
1954
+
1955
+ /** Signature testSigning */
1956
+ testSigning?: (boolean|null);
1957
+
1958
+ /** Signature SHA512Hash */
1959
+ SHA512Hash?: (Uint8Array|null);
1960
+
1961
+ /** Signature mainExe */
1962
+ mainExe?: (boolean|null);
1963
+
1964
+ /** Signature signature */
1965
+ signature?: (Uint8Array|null);
1966
+ }
1967
+
1968
+ /** Represents a Signature. */
1969
+ class Signature implements ISignature {
1970
+
1971
+ /**
1972
+ * Constructs a new Signature.
1973
+ * @param [p] Properties to set
1974
+ */
1975
+ constructor(p?: FileHashes.ISignature);
1976
+
1977
+ /** Signature filename. */
1978
+ public filename: string;
1979
+
1980
+ /** Signature testSigning. */
1981
+ public testSigning: boolean;
1982
+
1983
+ /** Signature SHA512Hash. */
1984
+ public SHA512Hash: Uint8Array;
1985
+
1986
+ /** Signature mainExe. */
1987
+ public mainExe: boolean;
1988
+
1989
+ /** Signature signature. */
1990
+ public signature: Uint8Array;
1991
+
1992
+ /**
1993
+ * Creates a new Signature instance using the specified properties.
1994
+ * @param [properties] Properties to set
1995
+ * @returns Signature instance
1996
+ */
1997
+ public static create(properties?: FileHashes.ISignature): FileHashes.Signature;
1998
+
1999
+ /**
2000
+ * Encodes the specified Signature message. Does not implicitly {@link FileHashes.Signature.verify|verify} messages.
2001
+ * @param m Signature message or plain object to encode
2002
+ * @param [w] Writer to encode to
2003
+ * @returns Writer
2004
+ */
2005
+ public static encode(m: FileHashes.ISignature, w?: $protobuf.Writer): $protobuf.Writer;
2006
+
2007
+ /**
2008
+ * Encodes the specified Signature message, length delimited. Does not implicitly {@link FileHashes.Signature.verify|verify} messages.
2009
+ * @param message Signature message or plain object to encode
2010
+ * @param [writer] Writer to encode to
2011
+ * @returns Writer
2012
+ */
2013
+ public static encodeDelimited(message: FileHashes.ISignature, writer?: $protobuf.Writer): $protobuf.Writer;
2014
+
2015
+ /**
2016
+ * Decodes a Signature message from the specified reader or buffer.
2017
+ * @param r Reader or buffer to decode from
2018
+ * @param [l] Message length if known beforehand
2019
+ * @returns Signature
2020
+ * @throws {Error} If the payload is not a reader or valid buffer
2021
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
2022
+ */
2023
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): FileHashes.Signature;
2024
+
2025
+ /**
2026
+ * Decodes a Signature message from the specified reader or buffer, length delimited.
2027
+ * @param reader Reader or buffer to decode from
2028
+ * @returns Signature
2029
+ * @throws {Error} If the payload is not a reader or valid buffer
2030
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
2031
+ */
2032
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): FileHashes.Signature;
2033
+
2034
+ /**
2035
+ * Creates a Signature message from a plain object. Also converts values to their respective internal types.
2036
+ * @param d Plain object
2037
+ * @returns Signature
2038
+ */
2039
+ public static fromObject(d: { [k: string]: any }): FileHashes.Signature;
2040
+
2041
+ /**
2042
+ * Creates a plain object from a Signature message. Also converts values to other types if specified.
2043
+ * @param m Signature
2044
+ * @param [o] Conversion options
2045
+ * @returns Plain object
2046
+ */
2047
+ public static toObject(m: FileHashes.Signature, o?: $protobuf.IConversionOptions): { [k: string]: any };
2048
+
2049
+ /**
2050
+ * Converts this Signature to JSON.
2051
+ * @returns JSON object
2052
+ */
2053
+ public toJSON(): { [k: string]: any };
2054
+
2055
+ /**
2056
+ * Gets the default type url for Signature
2057
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
2058
+ * @returns The default type url
2059
+ */
2060
+ public static getTypeUrl(typeUrlPrefix?: string): string;
2061
+ }
2062
+ }
2063
+
2064
+ declare class Key {
2065
+ id: string;
2066
+ value: string;
2067
+ type: string;
2068
+ level?: string;
2069
+ trackLabel?: string;
2070
+ permissions: string[];
2071
+ constructor(id: string, value: string, type?: string, level?: string, trackLabel?: string, permissions?: string[]);
2072
+ toString(): string;
2073
+ static fromContainer(container: License.IKeyContainer, encKey: Uint8Array): Promise<Key>;
2074
+ }
2075
+
2076
+ type Logger = Pick<typeof console, 'debug' | 'error' | 'info' | 'warn'>;
2077
+ declare const SESSION_TYPES: {
2078
+ readonly temporary: 0;
2079
+ readonly 'persistent-license': 1;
2080
+ };
2081
+ type SessionType = keyof typeof SESSION_TYPES;
2082
+
2083
+ declare const CLIENT_TYPE: {
2084
+ readonly android: "android";
2085
+ readonly chrome: "chrome";
2086
+ };
2087
+ type ClientType = (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE];
2088
+ type SecurityLevel = 1 | 2 | 3;
2089
+ declare class Client {
2090
+ #private;
2091
+ identification: ClientIdentification;
2092
+ type: ClientType;
2093
+ securityLevel: SecurityLevel;
2094
+ signedDrmCertificate: SignedDrmCertificate;
2095
+ drmCertificate: DrmCertificate;
2096
+ systemId: number;
2097
+ vmp: FileHashes | null;
2098
+ info: Map<string, string>;
2099
+ static fromWvd(wvd: Uint8Array): Promise<Client>;
2100
+ static fromPair(id: Uint8Array, key: Uint8Array): Promise<Client>;
2101
+ get key(): {
2102
+ forDecrypt: CryptoKey;
2103
+ forSign: CryptoKey;
2104
+ };
2105
+ constructor(id: Uint8Array, type?: ClientType, securityLevel?: SecurityLevel);
2106
+ toPair(): Promise<[id: Uint8Array, key: Uint8Array]>;
2107
+ toWvd(): Promise<Uint8Array>;
2108
+ importKey(pkcs1: Uint8Array): Promise<{
2109
+ forDecrypt: CryptoKey;
2110
+ forSign: CryptoKey;
2111
+ }>;
2112
+ exportKey(): Promise<Uint8Array>;
2113
+ decryptWithKey(data: Uint8Array): Promise<Uint8Array>;
2114
+ signWithKey(data: Uint8Array): Promise<Uint8Array>;
2115
+ encryptId(certificate: SignedDrmCertificate): Promise<EncryptedClientIdentification>;
2116
+ toString(): string;
2117
+ /**
2118
+ * https://www.w3.org/TR/encrypted-media-2/#navigator-extension-requestmediakeysystemaccess
2119
+ */
2120
+ requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): {
2121
+ keySystem: string;
2122
+ createMediaKeys: () => Promise<{
2123
+ createSession: (sessionType?: SessionType) => MediaKeySession;
2124
+ setServerCertificate: (serverCertificate: BufferSource) => Promise<boolean>;
2125
+ getStatusForPolicy: () => Promise<MediaKeyStatus>;
2126
+ }>;
2127
+ getConfiguration: () => MediaKeySystemConfiguration;
2128
+ };
2129
+ }
2130
+
2131
+ declare const convert: {
2132
+ text: (data: string) => {
2133
+ toBase64: () => string;
2134
+ toHex: () => string;
2135
+ toBuffer: () => Uint8Array;
2136
+ };
2137
+ base64: (data: string) => {
2138
+ toBuffer: () => Uint8Array;
2139
+ toText: () => string;
2140
+ };
2141
+ bytes: (data: Uint8Array) => {
2142
+ toBase64: () => string;
2143
+ toHex: () => string;
2144
+ toText: () => string;
2145
+ toBinary: () => string;
2146
+ };
2147
+ hex: (data: string) => {
2148
+ toBase64: () => string;
2149
+ toBuffer: () => Uint8Array;
2150
+ toText: () => string;
2151
+ };
2152
+ };
2153
+
2154
+ interface FetchDecryptionKeysParams {
2155
+ client: Client;
2156
+ server: string;
2157
+ pssh: string;
2158
+ individualizationServer?: string;
2159
+ headers?: Record<string, string>;
2160
+ fetch?: typeof fetch;
2161
+ requestFilter?: (body: Uint8Array) => Uint8Array;
2162
+ responseFilter?: (data: Uint8Array) => Uint8Array;
2163
+ http2?: boolean;
2164
+ logger?: Logger;
2165
+ requestTemplate?: string;
2166
+ }
2167
+ declare const fetchDecryptionKeys: (params: FetchDecryptionKeysParams) => Promise<Key[]>;
2168
+
2169
+ export { CLIENT_TYPE, Client, type ClientType, Key, SecurityLevel, convert, fetchDecryptionKeys };