/* auto-generated by NAPI-RS */
/* eslint-disable */
export declare class ComputeShuffledIndex {
  constructor(seed: Uint8Array, indexCount: number, rounds: number)
  get(index: number): number
}

export declare function asyncShuffleList(activeIndices: Uint32Array, seed: Uint8Array, rounds: number): Promise<Uint32Array>

export declare function asyncUnshuffleList(activeIndices: Uint32Array, seed: Uint8Array, rounds: number): Promise<Uint32Array>

/** Pre-electra, byte count for random value is 1, post-electra, byte count for random value is 2 */
export declare const enum ByteCount {
  One = 1,
  Two = 2
}

export declare function computeProposerIndex(seed: Uint8Array, activeIndices: Uint32Array, effectiveBalanceIncrements: Uint16Array, randByteCount: ByteCount, maxEffectiveBalanceElectra: number, effectiveBalanceIncrement: number, rounds: number): number

export declare function computeProposerIndexElectra(seed: Uint8Array, activeIndices: Uint32Array, effectiveBalanceIncrements: Uint16Array, maxEffectiveBalanceElectra: number, effectiveBalanceIncrement: number, rounds: number): number

export declare function computeSyncCommitteeIndices(seed: Uint8Array, activeIndices: Uint32Array, effectiveBalanceIncrements: Uint16Array, randByteCount: ByteCount, syncCommitteeSize: number, maxEffectiveBalanceElectra: number, effectiveBalanceIncrement: number, rounds: number): Uint32Array

export declare function computeSyncCommitteeIndicesElectra(seed: Uint8Array, activeIndices: Uint32Array, effectiveBalanceIncrements: Uint16Array, syncCommitteeSize: number, maxEffectiveBalanceElectra: number, effectiveBalanceIncrement: number, rounds: number): Uint32Array

export const SHUFFLE_ROUNDS_MAINNET: number

export const SHUFFLE_ROUNDS_MINIMAL: number

export declare function shuffleList(activeIndices: Uint32Array, seed: Uint8Array, rounds: number): Uint32Array

export declare function unshuffleList(activeIndices: Uint32Array, seed: Uint8Array, rounds: number): Uint32Array
