import { BaseKeyProvider, type KeyProviderOptions } from 'livekit-client'; import { RTCKeyProvider } from '@livekit/react-native-webrtc'; /** * Options for construction an RNKeyProvider */ export type RNKeyProviderOptions = KeyProviderOptions & { uncryptedMagicBytes?: string | Uint8Array; }; /** * @experimental */ export default class RNKeyProvider extends BaseKeyProvider { private latestSetIndex; private nativeKeyProvider; constructor(options: Partial); getLatestKeyIndex(participantId: string): number; /** * Accepts a passphrase that's used to create the crypto keys. * @param key */ setSharedKey(key: string | Uint8Array, keyIndex?: number): Promise; ratchetSharedKey(keyIndex?: number): Promise; /** * Accepts a passphrase that's used to create the crypto keys for a participant's stream. * @param key */ setKey(participantId: string, key: string | Uint8Array, keyIndex?: number): Promise; ratchetKey(participantIdentity?: string, keyIndex?: number): Promise; setSifTrailer(trailer: Uint8Array): Promise; /** * @internal */ get rtcKeyProvider(): RTCKeyProvider; dispose(): void; } //# sourceMappingURL=RNKeyProvider.d.ts.map