import { type Room, type BaseE2EEManager, type E2EEManagerCallbacks, type DecryptDataResponseMessage, type EncryptDataResponseMessage } from 'livekit-client'; import type RNKeyProvider from './RNKeyProvider'; import type RTCEngine from 'livekit-client/dist/src/room/RTCEngine'; import type TypedEventEmitter from 'typed-emitter'; declare const RNE2EEManager_base: new () => TypedEventEmitter; /** * @experimental */ export default class RNE2EEManager extends RNE2EEManager_base implements BaseE2EEManager { private room?; private frameCryptors; private keyProvider; private algorithm; private encryptionEnabled; private dataChannelEncryptionEnabled; private dataPacketCryptorLock; private dataPacketCryptor; constructor(keyProvider: RNKeyProvider, dcEncryptionEnabled?: boolean); get isEnabled(): boolean; get isDataChannelEncryptionEnabled(): boolean; set isDataChannelEncryptionEnabled(value: boolean); setup(room: Room): void; private setupEventListeners; private setupE2EESender; private setupE2EEReceiver; setSifTrailer(trailer: Uint8Array): void; private getDataPacketCryptor; encryptData(data: Uint8Array): Promise; handleEncryptedData(payload: Uint8Array, iv: Uint8Array, participantIdentity: string, keyIndex: number): Promise; private findTrackCryptor; private createFrameCryptorForSender; private createFrameCryptorForReceiver; setupEngine(_engine: RTCEngine): void; setParticipantCryptorEnabled(enabled: boolean, participantIdentity: string): void; } export {}; //# sourceMappingURL=RNE2EEManager.d.ts.map