import { Event, EventTarget } from './vendor/event-target-shim'; type FRAME_CRYPTOR_EVENTS = 'framecryptorstatechanged'; interface IRTCDataChannelEventInitDict extends Event.EventInit { frameCryptor: RTCFrameCryptor; state: RTCFrameCryptorState; } /** * @eventClass * This event is fired whenever the RTCDataChannel has changed in any way. * @param {FRAME_CRYPTOR_EVENTS} type - The type of event. * @param {IRTCDataChannelEventInitDict} eventInitDict - The event init properties. * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel#events MDN} for details. */ export declare class RTCFrameCryptorStateEvent extends Event { /** @eventProperty */ frameCryptor: RTCFrameCryptor; /** @eventProperty */ state: RTCFrameCryptorState; constructor(type: TEventType, eventInitDict: IRTCDataChannelEventInitDict); } type RTCFrameCryptorEventMap = { framecryptorstatechanged: RTCFrameCryptorStateEvent<'framecryptorstatechanged'>; }; export declare enum RTCFrameCryptorState { FrameCryptorStateNew = 0, FrameCryptorStateOk = 1, FrameCryptorStateEncryptionFailed = 2, FrameCryptorStateDecryptionFailed = 3, FrameCryptorStateMissingKey = 4, FrameCryptorStateKeyRatcheted = 5, FrameCryptorStateInternalError = 6 } export default class RTCFrameCryptor extends EventTarget { private _frameCryptorId; private _participantId; get onframecryptorstatechanged(): EventTarget.CallbackFunction> | null; set onframecryptorstatechanged(value: EventTarget.CallbackFunction> | null); constructor(frameCryptorId: string, participantId: string); get id(): string; get participantId(): string; _cryptorStateFromString(str: string): RTCFrameCryptorState; setKeyIndex(keyIndex: number): Promise; getKeyIndex(): Promise; setEnabled(enabled: boolean): Promise; getEnabled(): Promise; dispose(): Promise; _registerEvents(): void; } export {};