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