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

27 lines (26 loc) 1.46 kB
import { ClientState } from "./clientState"; import { CiphersuiteImpl } from "./crypto/ciphersuite"; import { IncomingMessageAction, IncomingMessageCallback } from "./IncomingMessageAction"; import { MlsPrivateMessage, MlsPublicMessage } from "./message"; import { PrivateMessage } from "./privateMessage"; import { PskIndex } from "./pskIndex"; import { PublicMessage } from "./publicMessage"; export type ProcessMessageResult = { kind: "newState"; newState: ClientState; actionTaken: IncomingMessageAction; } | { kind: "applicationMessage"; message: Uint8Array; newState: ClientState; }; /** * Process private message and apply proposal or commit and return the updated ClientState or return an application message */ export declare function processPrivateMessage(state: ClientState, pm: PrivateMessage, pskSearch: PskIndex, cs: CiphersuiteImpl, callback?: IncomingMessageCallback): Promise<ProcessMessageResult>; export type NewStateWithActionTaken = { newState: ClientState; actionTaken: IncomingMessageAction; }; export declare function processPublicMessage(state: ClientState, pm: PublicMessage, pskSearch: PskIndex, cs: CiphersuiteImpl, callback?: IncomingMessageCallback): Promise<NewStateWithActionTaken>; export declare function processMessage(message: MlsPrivateMessage | MlsPublicMessage, state: ClientState, pskIndex: PskIndex, action: IncomingMessageCallback, cs: CiphersuiteImpl): Promise<ProcessMessageResult>;