import { BytearrayWrapper } from '../bytearray-wrapper'; import { KBUniversalAccumulatorValue } from './kb-universal-accumulator'; import { AccumulatorSecretKey } from './params-and-keys'; export declare class WitnessUpdateInfo extends BytearrayWrapper { toJSON(): string; } /** * Public info published by the VB accumulator manager used to update witnesses after several additions and removals. */ export declare class VBWitnessUpdateInfo extends WitnessUpdateInfo { fromJSON(json: string): VBWitnessUpdateInfo; /** * Accumulator manager creates the witness update info corresponding to the additions and removals. * @param accumulatorValueBeforeUpdates - accumulator value before the additions and removals * @param additions * @param removals * @param sk */ static new(accumulatorValueBeforeUpdates: Uint8Array, additions: Uint8Array[], removals: Uint8Array[], sk: AccumulatorSecretKey): VBWitnessUpdateInfo; } /** * Public info published by the KB universal accumulator manager used to update membership witnesses after several additions and removals. */ export declare class KBUniversalMembershipWitnessUpdateInfo extends WitnessUpdateInfo { fromJSON(json: string): KBUniversalMembershipWitnessUpdateInfo; /** * Accumulator manager creates the membership witness update info corresponding to the additions and removals. * @param accumulatorValueBeforeUpdates * @param additions * @param removals * @param sk */ static new(accumulatorValueBeforeUpdates: KBUniversalAccumulatorValue, additions: Uint8Array[], removals: Uint8Array[], sk: AccumulatorSecretKey): KBUniversalMembershipWitnessUpdateInfo; } /** * Public info published by the KB universal accumulator manager used to update non-membership witnesses after several additions and removals. */ export declare class KBUniversalNonMembershipWitnessUpdateInfo extends WitnessUpdateInfo { fromJSON(json: string): KBUniversalNonMembershipWitnessUpdateInfo; /** * Accumulator manager creates the non-membership witness update info corresponding to the additions and removals. * @param accumulatorValueBeforeUpdates * @param additions * @param removals * @param sk */ static new(accumulatorValueBeforeUpdates: KBUniversalAccumulatorValue, additions: Uint8Array[], removals: Uint8Array[], sk: AccumulatorSecretKey): KBUniversalNonMembershipWitnessUpdateInfo; /** * Accumulator manager creates the non-membership witness update info corresponding to the domain extension. * @param accumulatorValueBeforeExtension * @param newElements - the elements with which the domain was extended * @param sk */ static newAfterDomainExtension(accumulatorValueBeforeExtension: KBUniversalAccumulatorValue, newElements: Uint8Array[], sk: AccumulatorSecretKey): KBUniversalNonMembershipWitnessUpdateInfo; } /** * Public info published by the KB universal accumulator manager used to update membership and non-membership witnesses after several additions and removals. */ export declare class KBUniversalWitnessUpdateInfo { readonly mem?: KBUniversalMembershipWitnessUpdateInfo; readonly nonMem?: KBUniversalNonMembershipWitnessUpdateInfo; static readonly maxByteSize = 4; static readonly maxLength: bigint; constructor(mem?: KBUniversalMembershipWitnessUpdateInfo, nonMem?: KBUniversalNonMembershipWitnessUpdateInfo); /** * Returns a bytearray containing both the membership and non-membership witness update info. The first `maxByteSize` byte * of the result contains the byte size of the membership witness update info. This is followed by the bytes of membership * witness update info, followed by the bytes of non-membership witness update info. */ toBytes(): Uint8Array; /** * Creates `KBUniversalWitnessUpdateInfo` from its byte representation * @param bytes - This is the result of `KBUniversalWitnessUpdateInfo.toBytes` */ static fromBytes(bytes: Uint8Array): KBUniversalWitnessUpdateInfo; } //# sourceMappingURL=witness-update-info.d.ts.map