import ReadOnlySubject from '../../rx/ReadOnlySubject'; import IProtectionStrategy, { ProtectionConfiguration } from './IProtectionStrategy'; export type WidevineProtectionSessionConfiguration = ProtectionConfiguration & { widevine?: { licenseUrl: string; }; }; export default class WidevineProtectionStrategy implements IProtectionStrategy { private static readonly _widevineKeySystemIdentifier; private static readonly _widevineMediaKeySystemConfigurations; private readonly _logger; private readonly _disposables; private readonly _keySession; private readonly _readOnlyKeySession; static isSupported(): Promise; get protectionSystemName(): string; get keySession(): ReadOnlySubject; initializeMediaKeys(): Promise; createSession(mediaKeys: MediaKeys, configuration: WidevineProtectionSessionConfiguration): void; handleMediaElementEncryptedEvent({ initDataType, initData }: MediaEncryptedEvent): Promise; dispose(): void; }