import { Decoder } from "./codec/tlsDecoder.js"; import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js"; import { Hash } from "./crypto/hash.js"; import { LeafNode } from "./leafNode.js"; import { ParentNode } from "./parentNode.js"; import { RatchetTree } from "./ratchetTree.js"; import { NodeIndex } from "./treemath.js"; export type TreeHashInput = LeafNodeHashInput | ParentNodeHashInput; type LeafNodeHashInput = { nodeType: "leaf"; leafIndex: number; leafNode: LeafNode | undefined; }; type ParentNodeHashInput = { nodeType: "parent"; parentNode: ParentNode | undefined; leftHash: Uint8Array; rightHash: Uint8Array; }; export declare const leafNodeHashInputEncoder: BufferEncoder; export declare const encodeLeafNodeHashInput: Encoder; export declare const decodeLeafNodeHashInput: Decoder; export declare const parentNodeHashInputEncoder: BufferEncoder; export declare const encodeParentNodeHashInput: Encoder; export declare const decodeParentNodeHashInput: Decoder; export declare const treeHashInputEncoder: BufferEncoder; export declare const encodeTreeHashInput: Encoder; export declare const decodeTreeHashInput: Decoder; export declare function treeHashRoot(tree: RatchetTree, h: Hash): Promise; export declare function treeHash(tree: RatchetTree, subtreeIndex: NodeIndex, h: Hash): Promise; export {};