import { Decoder } from "./codec/tlsDecoder.js"; import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js"; import { CiphersuiteName } from "./crypto/ciphersuite.js"; import { Kdf } from "./crypto/kdf.js"; import { Extension } from "./extension.js"; import { ProtocolVersionName } from "./protocolVersion.js"; /** @public */ export interface GroupContext { version: ProtocolVersionName; cipherSuite: CiphersuiteName; groupId: Uint8Array; epoch: bigint; treeHash: Uint8Array; confirmedTranscriptHash: Uint8Array; extensions: Extension[]; } export declare const groupContextEncoder: BufferEncoder; export declare const encodeGroupContext: Encoder; export declare const decodeGroupContext: Decoder; export declare function extractEpochSecret(context: GroupContext, joinerSecret: Uint8Array, kdf: Kdf, pskSecret?: Uint8Array): Promise>; export declare function extractJoinerSecret(context: GroupContext, previousInitSecret: Uint8Array, commitSecret: Uint8Array, kdf: Kdf): Promise>;