/// import { ModuleConfig, ModuleConfigJSON, UnlockingObject, StakeSharingCoefficient, PunishmentLockingPeriods } from './types'; export declare const sortUnlocking: (unlocks: UnlockingObject[]) => void; export declare const equalUnlocking: (a: UnlockingObject, b: UnlockingObject) => boolean; export declare const isNullCharacterIncluded: (input: string) => boolean; export declare const isUsername: (username: string) => boolean; export declare const validateSignature: (tag: string, chainID: Buffer, publicKey: Buffer, signature: Buffer, bytes: Buffer) => boolean; export interface ValidatorWeight { readonly address: Buffer; weight: bigint; } export declare const pickStandByValidator: (validatorWeights: ReadonlyArray, randomSeed: Buffer) => number; export declare const shuffleValidatorList: (previousRoundSeed1: Buffer, addresses: ValidatorWeight[]) => ValidatorWeight[]; export declare const selectStandbyValidators: (validatorWeights: ValidatorWeight[], randomSeed1: Buffer, randomSeed2?: Buffer) => ValidatorWeight[]; export declare const isCurrentlyPunished: (height: number, pomHeights: ReadonlyArray, punishmentWindowSelfStaking: number) => boolean; export declare const getWaitTime: (senderAddress: Buffer, validatorAddress: Buffer, punishmentLockingPeriods: PunishmentLockingPeriods) => number; export declare const getPunishTime: (senderAddress: Buffer, validatorAddress: Buffer, punishmentLockingPeriods: PunishmentLockingPeriods) => number; export declare const hasWaited: (unlockingObject: UnlockingObject, senderAddress: Buffer, height: number, punishmentLockingPeriods: PunishmentLockingPeriods) => boolean; export declare const isPunished: (unlockingObject: UnlockingObject, pomHeights: ReadonlyArray, senderAddress: Buffer, height: number, punishmentLockingPeriods: PunishmentLockingPeriods) => boolean; export declare const isCertificateGenerated: (options: { unlockObject: UnlockingObject; genesisHeight: number; maxHeightCertified: number; roundLength: number; }) => boolean; export declare const getMinPunishedHeight: (pomHeights: number[], punishmentWindow: number) => number; export declare const getPunishmentPeriod: (senderAddress: Buffer, validatorAddress: Buffer, pomHeights: number[], currentHeight: number, punishmentLockingPeriods: PunishmentLockingPeriods) => number; export declare const getModuleConfig: (config: ModuleConfigJSON) => ModuleConfig; export declare const getValidatorWeight: (factorSelfStakes: number, selfStake: bigint, totalStakeReceived: bigint) => bigint; export declare const isSharingCoefficientSorted: (sharingCoefficients: StakeSharingCoefficient[]) => boolean; export declare const calculateStakeRewards: (stakeSharingCoefficient: StakeSharingCoefficient, amount: bigint, validatorSharingCoefficient: StakeSharingCoefficient) => bigint;