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

33 lines (32 loc) 2.26 kB
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[];