import IDisposable from '../../lang/IDisposable'; import ReadOnlySubject from '../../rx/ReadOnlySubject'; export type ProtectionConfiguration = { streamId: string; }; interface IProtectionStrategy extends IDisposable { readonly protectionSystemName: string; readonly keySession: ReadOnlySubject; initializeMediaKeys(): Promise; createSession(mediaKeys: MediaKeys, configuration: ProtectionSessionConfiguration): void; handleMediaElementEncryptedEvent(event: MediaEncryptedEvent): Promise; } export default IProtectionStrategy;