import { NoteEncrypted, NoteEncryptedHash, SerializedNoteEncrypted, SerializedNoteEncryptedHash } from '../primitives/noteEncrypted'; import { JsonSerializable } from '../serde'; import { MerkleHasher } from './hasher'; import { Side } from './merkletree'; export interface WitnessNode { side: Side; hashOfSibling: H; } export declare class SerializedWitnessNode { readonly _side: Side; readonly _hashOfSibling: SH; constructor(_side: Side, _hashOfSibling: SH); side: () => Side; hashOfSibling: () => SH; } /** * Commitment that a leaf node exists in the tree with an authentication path * and the rootHash of the tree at the time the authentication path was calculated. */ export declare class Witness { readonly _treeSize: number; readonly rootHash: H; readonly authenticationPath: WitnessNode[]; readonly merkleHasher: MerkleHasher; constructor(_treeSize: number, rootHash: H, authenticationPath: WitnessNode[], merkleHasher: MerkleHasher); verify(myHash: H): boolean; authPath(): SerializedWitnessNode[]; treeSize(): number; serializeRootHash(): SH; } export type NoteWitness = Witness; export declare function IsNoteWitnessEqual(a: NoteWitness, b: NoteWitness): boolean; //# sourceMappingURL=witness.d.ts.map