UNPKG

ts-mls

Version:

[![CI](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml/badge.svg)](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [![npm version](https://badge.fury.io/js/ts-mls.svg)](https://badge.fury.io/js/ts-mls) [![Coverage Status](https://co

43 lines (42 loc) 1.75 kB
import { Decoder } from "./codec/tlsDecoder.js"; import { Encoder } from "./codec/tlsEncoder.js"; import { GroupInfo } from "./groupInfo.js"; import { KeyPackage } from "./keyPackage.js"; import { PrivateMessage } from "./privateMessage.js"; import { ProtocolVersionName } from "./protocolVersion.js"; import { PublicMessage } from "./publicMessage.js"; import { Welcome } from "./welcome.js"; export interface MlsMessageProtocol { version: ProtocolVersionName; } export interface MlsWelcome { wireformat: "mls_welcome"; welcome: Welcome; } export interface MlsPrivateMessage { wireformat: "mls_private_message"; privateMessage: PrivateMessage; } export interface MlsGroupInfo { wireformat: "mls_group_info"; groupInfo: GroupInfo; } export interface MlsKeyPackage { wireformat: "mls_key_package"; keyPackage: KeyPackage; } export interface MlsPublicMessage { wireformat: "mls_public_message"; publicMessage: PublicMessage; } export type MlsMessageContent = MlsWelcome | MlsPrivateMessage | MlsGroupInfo | MlsKeyPackage | MlsPublicMessage; export type MLSMessage = MlsMessageProtocol & MlsMessageContent; export declare const encodeMlsMessageContent: Encoder<MlsMessageContent>; export declare const encodeMlsPublicMessage: Encoder<MlsPublicMessage>; export declare const encodeMlsWelcome: Encoder<MlsWelcome>; export declare const encodeMlsPrivateMessage: Encoder<MlsPrivateMessage>; export declare const encodeMlsGroupInfo: Encoder<MlsGroupInfo>; export declare const encodeMlsKeyPackage: Encoder<MlsKeyPackage>; export declare const decodeMlsMessageContent: Decoder<MlsMessageContent>; export declare const encodeMlsMessage: Encoder<MLSMessage>; export declare const decodeMlsMessage: Decoder<MLSMessage>;