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

98 lines (97 loc) 3.86 kB
import { Decoder } from "./codec/tlsDecoder"; import { Encoder } from "./codec/tlsEncoder"; import { CiphersuiteName } from "./crypto/ciphersuite"; import { Extension } from "./extension"; import { KeyPackage } from "./keyPackage"; import { PreSharedKeyID } from "./presharedkey"; import { ProtocolVersionName } from "./protocolVersion"; import { LeafNodeUpdate } from "./leafNode"; export type Add = { keyPackage: KeyPackage; }; export declare const encodeAdd: Encoder<Add>; export declare const decodeAdd: Decoder<Add>; export type Update = { leafNode: LeafNodeUpdate; }; export declare const encodeUpdate: Encoder<Update>; export declare const decodeUpdate: Decoder<Update>; export type Remove = { removed: number; }; export declare const encodeRemove: Encoder<Remove>; export declare const decodeRemove: Decoder<Remove>; export type PSK = { preSharedKeyId: PreSharedKeyID; }; export declare const encodePSK: Encoder<PSK>; export declare const decodePSK: Decoder<PSK>; export type Reinit = { groupId: Uint8Array; version: ProtocolVersionName; cipherSuite: CiphersuiteName; extensions: Extension[]; }; export declare const encodeReinit: Encoder<Reinit>; export declare const decodeReinit: Decoder<Reinit>; export type ExternalInit = { kemOutput: Uint8Array; }; export declare const encodeExternalInit: Encoder<ExternalInit>; export declare const decodeExternalInit: Decoder<ExternalInit>; export type GroupContextExtensions = { extensions: Extension[]; }; export declare const encodeGroupContextExtensions: Encoder<GroupContextExtensions>; export declare const decodeGroupContextExtensions: Decoder<GroupContextExtensions>; export type ProposalAdd = { proposalType: "add"; add: Add; }; export type ProposalUpdate = { proposalType: "update"; update: Update; }; export type ProposalRemove = { proposalType: "remove"; remove: Remove; }; export type ProposalPSK = { proposalType: "psk"; psk: PSK; }; export type ProposalReinit = { proposalType: "reinit"; reinit: Reinit; }; export type ProposalExternalInit = { proposalType: "external_init"; externalInit: ExternalInit; }; export type ProposalGroupContextExtensions = { proposalType: "group_context_extensions"; groupContextExtensions: GroupContextExtensions; }; export type ProposalCustom = { proposalType: number; proposalData: Uint8Array; }; export type Proposal = ProposalAdd | ProposalUpdate | ProposalRemove | ProposalPSK | ProposalReinit | ProposalExternalInit | ProposalGroupContextExtensions | ProposalCustom; export declare const encodeProposalAdd: Encoder<ProposalAdd>; export declare const encodeProposalUpdate: Encoder<ProposalUpdate>; export declare const encodeProposalRemove: Encoder<ProposalRemove>; export declare const encodeProposalPSK: Encoder<ProposalPSK>; export declare const encodeProposalReinit: Encoder<ProposalReinit>; export declare const encodeProposalExternalInit: Encoder<ProposalExternalInit>; export declare const encodeProposalGroupContextExtensions: Encoder<ProposalGroupContextExtensions>; export declare const encodeProposalCustom: Encoder<ProposalCustom>; export declare const encodeProposal: Encoder<Proposal>; export declare const decodeProposalAdd: Decoder<ProposalAdd>; export declare const decodeProposalUpdate: Decoder<ProposalUpdate>; export declare const decodeProposalRemove: Decoder<ProposalRemove>; export declare const decodeProposalPSK: Decoder<ProposalPSK>; export declare const decodeProposalReinit: Decoder<ProposalReinit>; export declare const decodeProposalExternalInit: Decoder<ProposalExternalInit>; export declare const decodeProposalGroupContextExtensions: Decoder<ProposalGroupContextExtensions>; export declare function decodeProposalCustom(proposalType: number): Decoder<ProposalCustom>; export declare const decodeProposal: Decoder<Proposal>;