ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ • 1.54 kB
TypeScript
import { Decoder } from "./codec/tlsDecoder.js";
import { Encoder } from "./codec/tlsEncoder.js";
import { Extension } from "./extension.js";
import { ExternalSender } from "./externalSender.js";
import { FramedContent, FramedContentAuthData } from "./framedContent.js";
import { GroupContext } from "./groupContext.js";
import { RatchetTree } from "./ratchetTree.js";
import { SenderTypeName } from "./sender.js";
type PublicMessageInfo = PublicMessageInfoMember | PublicMessageInfoMemberOther;
type PublicMessageInfoMember = {
senderType: "member";
membershipTag: Uint8Array;
};
type PublicMessageInfoMemberOther = {
senderType: Exclude<SenderTypeName, "member">;
};
export declare const encodePublicMessageInfo: Encoder<PublicMessageInfo>;
export declare function decodePublicMessageInfo(senderType: SenderTypeName): Decoder<PublicMessageInfo>;
export type PublicMessage = {
content: FramedContent;
auth: FramedContentAuthData;
} & PublicMessageInfo;
export type MemberPublicMessage = PublicMessage & PublicMessageInfoMember;
export type ExternalPublicMessage = PublicMessage & PublicMessageInfoMemberOther;
export declare const encodePublicMessage: Encoder<PublicMessage>;
export declare const decodePublicMessage: Decoder<PublicMessage>;
export declare function findSignaturePublicKey(ratchetTree: RatchetTree, groupContext: GroupContext, framedContent: FramedContent): Uint8Array;
export declare function senderFromExtension(extensions: Extension[], senderIndex: number): ExternalSender | undefined;
export {};