import { Decoder } from "./codec/tlsDecoder.js"; import { BufferEncoder, 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"; /** @public */ export interface Add { keyPackage: KeyPackage; } export declare const addEncoder: BufferEncoder; export declare const encodeAdd: Encoder; export declare const decodeAdd: Decoder; /** @public */ export interface Update { leafNode: LeafNodeUpdate; } export declare const updateEncoder: BufferEncoder; export declare const encodeUpdate: Encoder; export declare const decodeUpdate: Decoder; /** @public */ export interface Remove { removed: number; } export declare const removeEncoder: BufferEncoder; export declare const encodeRemove: Encoder; export declare const decodeRemove: Decoder; /** @public */ export interface PSK { preSharedKeyId: PreSharedKeyID; } export declare const pskEncoder: BufferEncoder; export declare const encodePSK: Encoder; export declare const decodePSK: Decoder; /** @public */ export interface Reinit { groupId: Uint8Array; version: ProtocolVersionName; cipherSuite: CiphersuiteName; extensions: Extension[]; } export declare const reinitEncoder: BufferEncoder; export declare const encodeReinit: Encoder; export declare const decodeReinit: Decoder; /** @public */ export interface ExternalInit { kemOutput: Uint8Array; } export declare const externalInitEncoder: BufferEncoder; export declare const encodeExternalInit: Encoder; export declare const decodeExternalInit: Decoder; /** @public */ export interface GroupContextExtensions { extensions: Extension[]; } export declare const groupContextExtensionsEncoder: BufferEncoder; export declare const encodeGroupContextExtensions: Encoder; export declare const decodeGroupContextExtensions: Decoder; /** @public */ export interface ProposalAdd { proposalType: "add"; add: Add; } /** @public */ export interface ProposalUpdate { proposalType: "update"; update: Update; } /** @public */ export interface ProposalRemove { proposalType: "remove"; remove: Remove; } /** @public */ export interface ProposalPSK { proposalType: "psk"; psk: PSK; } /** @public */ export interface ProposalReinit { proposalType: "reinit"; reinit: Reinit; } /** @public */ export interface ProposalExternalInit { proposalType: "external_init"; externalInit: ExternalInit; } /** @public */ export interface ProposalGroupContextExtensions { proposalType: "group_context_extensions"; groupContextExtensions: GroupContextExtensions; } /** @public */ export interface ProposalCustom { proposalType: number; proposalData: Uint8Array; } /** @public */ export type Proposal = ProposalAdd | ProposalUpdate | ProposalRemove | ProposalPSK | ProposalReinit | ProposalExternalInit | ProposalGroupContextExtensions | ProposalCustom; export declare const proposalAddEncoder: BufferEncoder; export declare const encodeProposalAdd: Encoder; export declare const proposalUpdateEncoder: BufferEncoder; export declare const encodeProposalUpdate: Encoder; export declare const proposalRemoveEncoder: BufferEncoder; export declare const encodeProposalRemove: Encoder; export declare const proposalPSKEncoder: BufferEncoder; export declare const encodeProposalPSK: Encoder; export declare const proposalReinitEncoder: BufferEncoder; export declare const encodeProposalReinit: Encoder; export declare const proposalExternalInitEncoder: BufferEncoder; export declare const encodeProposalExternalInit: Encoder; export declare const proposalGroupContextExtensionsEncoder: BufferEncoder; export declare const encodeProposalGroupContextExtensions: Encoder; export declare const proposalCustomEncoder: BufferEncoder; export declare const encodeProposalCustom: Encoder; export declare const proposalEncoder: BufferEncoder; export declare const encodeProposal: Encoder; export declare const decodeProposalAdd: Decoder; export declare const decodeProposalUpdate: Decoder; export declare const decodeProposalRemove: Decoder; export declare const decodeProposalPSK: Decoder; export declare const decodeProposalReinit: Decoder; export declare const decodeProposalExternalInit: Decoder; export declare const decodeProposalGroupContextExtensions: Decoder; export declare function decodeProposalCustom(proposalType: number): Decoder; export declare const decodeProposal: Decoder;