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