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.91 kB
import { Decoder } from "./codec/tlsDecoder.js"; import { Encoder } from "./codec/tlsEncoder.js"; import { CiphersuiteName } from "./crypto/ciphersuite.js"; import { Extension } from "./extension.js"; import { KeyPackage } from "./keyPackage.js"; import { PreSharedKeyID } from "./presharedkey.js"; import { ProtocolVersionName } from "./protocolVersion.js"; import { LeafNodeUpdate } from "./leafNode.js"; export interface Add { keyPackage: KeyPackage; } export declare const encodeAdd: Encoder<Add>; export declare const decodeAdd: Decoder<Add>; export interface Update { leafNode: LeafNodeUpdate; } export declare const encodeUpdate: Encoder<Update>; export declare const decodeUpdate: Decoder<Update>; export interface Remove { removed: number; } export declare const encodeRemove: Encoder<Remove>; export declare const decodeRemove: Decoder<Remove>; export interface PSK { preSharedKeyId: PreSharedKeyID; } export declare const encodePSK: Encoder<PSK>; export declare const decodePSK: Decoder<PSK>; export interface Reinit { groupId: Uint8Array; version: ProtocolVersionName; cipherSuite: CiphersuiteName; extensions: Extension[]; } export declare const encodeReinit: Encoder<Reinit>; export declare const decodeReinit: Decoder<Reinit>; export interface ExternalInit { kemOutput: Uint8Array; } export declare const encodeExternalInit: Encoder<ExternalInit>; export declare const decodeExternalInit: Decoder<ExternalInit>; export interface GroupContextExtensions { extensions: Extension[]; } export declare const encodeGroupContextExtensions: Encoder<GroupContextExtensions>; export declare const decodeGroupContextExtensions: Decoder<GroupContextExtensions>; export interface ProposalAdd { proposalType: "add"; add: Add; } export interface ProposalUpdate { proposalType: "update"; update: Update; } export interface ProposalRemove { proposalType: "remove"; remove: Remove; } export interface ProposalPSK { proposalType: "psk"; psk: PSK; } export interface ProposalReinit { proposalType: "reinit"; reinit: Reinit; } export interface ProposalExternalInit { proposalType: "external_init"; externalInit: ExternalInit; } export interface ProposalGroupContextExtensions { proposalType: "group_context_extensions"; groupContextExtensions: GroupContextExtensions; } export interface 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>;