/// import { RTCIceTransport } from "./ice"; import { DtlsSocket } from "../../vendor/dtls"; import Event from "rx.mini"; export declare enum DtlsState { NEW = 0, CONNECTING = 1, CONNECTED = 2, CLOSED = 3, FAILED = 4 } declare type DtlsRole = "auto" | "server" | "client"; export declare class RTCDtlsTransport { iceTransport: RTCIceTransport; dtls?: DtlsSocket; stateChanged: Event; state: DtlsState; private localCertificate; role: DtlsRole; dataReceiver?: (buf: Buffer) => void; constructor(iceTransport: RTCIceTransport, certificates: RTCCertificate[]); getLocalParameters(): RTCDtlsParameters; start(remoteParameters: RTCDtlsParameters): Promise; sendData(data: Buffer): void; private setState; stop(): void; } export declare class RTCCertificate { publicKey: string; privateKey: string; cert: string; constructor(privateKeyPem: string, certPem: string); getFingerprints(): RTCDtlsFingerprint[]; static unsafe_useDefaultCertificate(): RTCCertificate; } export declare class RTCDtlsFingerprint { algorithm: string; value: string; constructor(algorithm: string, value: string); } export declare class RTCDtlsParameters { fingerprints: RTCDtlsFingerprint[]; role: "auto" | "client" | "server" | undefined; constructor(fingerprints?: RTCDtlsFingerprint[], role?: "auto" | "client" | "server" | undefined); } export {};