import BigNumber from 'bignumber.js'; export interface CoinbaseSubsidyOptions { eunosHeight: number; genesisBlockSubsidy: string; preEunosBlockSubsidy: '20000000000'; eunosBaseBlockSubsidy: '40504000000'; eunosFoundationBurn: string; emissionReduction: 1658; emissionReductionInterval: 32690; } export declare const MainNetCoinbaseSubsidyOptions: CoinbaseSubsidyOptions; export declare const TestNetCoinbaseSubsidyOptions: CoinbaseSubsidyOptions; /** * All calculation are in satoshi. * * This class cache all 1252 reductions block subsidies and milestones allowing instantaneous computation. * With very little memory footprint, 1252 x 2 BigNumber classes for both getSupply and getBlockSubsidy. */ export declare class BlockSubsidy { private readonly options; private readonly reductionBlockSubsidies; private readonly reductionSupplyMilestones; constructor(options?: CoinbaseSubsidyOptions); /** * DFI supply calculation up to a given height are done with the best effort. * This does not take DFI burning into account. * Fee burning, burn address, round-down burning, loan burning, etc. are all excluded. * * @param {number} height * @return BigNumber supply in satoshi up to given height */ getSupply(height: number): BigNumber; /** * @param {number} height * @return BigNumber total block subsidy in satoshi at the given height */ getBlockSubsidy(height: number): BigNumber; /** * Calculate pre-eunos supply */ private getPreEunosSupply; /** * Calculate post-eunos supply */ private getPostEunosSupply; private computeReductionSupplyMilestones; private computeBlockReductionSubsidies; } //# sourceMappingURL=BlockSubsidy.d.ts.map