ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ • 2.26 kB
TypeScript
import { ClientState } from "./clientState";
import { CiphersuiteImpl } from "./crypto/ciphersuite";
import { GroupContext } from "./groupContext";
import { GroupInfo } from "./groupInfo";
import { KeyPackage, PrivateKeyPackage } from "./keyPackage";
import { MLSMessage } from "./message";
import { PrivateKeyPath } from "./privateKeyPath";
import { Proposal } from "./proposal";
import { PskIndex } from "./pskIndex";
import { RatchetTree } from "./ratchetTree";
import { UpdatePath } from "./updatePath";
import { Welcome } from "./welcome";
import { ClientConfig } from "./clientConfig";
export type CreateCommitResult = {
newState: ClientState;
welcome: Welcome | undefined;
commit: MLSMessage;
};
export declare function createCommit(state: ClientState, pskSearch: PskIndex, publicMessage: boolean, extraProposals: Proposal[], cs: CiphersuiteImpl, ratchetTreeExtension?: boolean, authenticatedData?: Uint8Array): Promise<CreateCommitResult>;
export declare function createGroupInfo(groupContext: GroupContext, confirmationTag: Uint8Array, state: ClientState, cs: CiphersuiteImpl): Promise<GroupInfo>;
export declare function createGroupInfoWithRatchetTree(groupContext: GroupContext, confirmationTag: Uint8Array, state: ClientState, tree: RatchetTree, cs: CiphersuiteImpl): Promise<GroupInfo>;
export declare function createGroupInfoWithExternalPub(state: ClientState, cs: CiphersuiteImpl): Promise<GroupInfo>;
export declare function createGroupInfoWithExternalPubAndRatchetTree(state: ClientState, cs: CiphersuiteImpl): Promise<GroupInfo>;
export declare function applyUpdatePathSecret(tree: RatchetTree, privatePath: PrivateKeyPath, senderLeafIndex: number, gc: GroupContext, path: UpdatePath, excludeNodes: number[], cs: CiphersuiteImpl): Promise<{
nodeIndex: number;
pathSecret: Uint8Array;
}>;
export declare function joinGroupExternal(groupInfo: GroupInfo, keyPackage: KeyPackage, privateKeys: PrivateKeyPackage, resync: boolean, cs: CiphersuiteImpl, tree?: RatchetTree, clientConfig?: ClientConfig, authenticatedData?: Uint8Array): Promise<{
publicMessage: import("./publicMessage").PublicMessage;
newState: ClientState;
}>;
export declare function filterNewLeaves(resolution: number[], excludeNodes: number[]): number[];