ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ • 1.72 kB
TypeScript
import { Decoder } from "./codec/tlsDecoder";
import { Encoder } from "./codec/tlsEncoder";
import { GroupInfo } from "./groupInfo";
import { KeyPackage } from "./keyPackage";
import { PrivateMessage } from "./privateMessage";
import { ProtocolVersionName } from "./protocolVersion";
import { PublicMessage } from "./publicMessage";
import { Welcome } from "./welcome";
export type MLSMessage = MlsMessageProtocol & MlsMessageContent;
export type MlsMessageProtocol = {
version: ProtocolVersionName;
};
export type MlsMessageContent = MlsWelcome | MlsPrivateMessage | MlsGroupInfo | MlsKeyPackage | MlsPublicMessage;
export type MlsWelcome = {
wireformat: "mls_welcome";
welcome: Welcome;
};
export type MlsPrivateMessage = {
wireformat: "mls_private_message";
privateMessage: PrivateMessage;
};
export type MlsGroupInfo = {
wireformat: "mls_group_info";
groupInfo: GroupInfo;
};
export type MlsKeyPackage = {
wireformat: "mls_key_package";
keyPackage: KeyPackage;
};
export type MlsPublicMessage = {
wireformat: "mls_public_message";
publicMessage: PublicMessage;
};
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>;