ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ • 1.75 kB
TypeScript
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>;