/// import Decimal from 'decimal.js'; import { Blockchain } from '../blockchain'; import { Consensus } from '../consensus'; import { Logger } from '../logger'; import { MemPool } from '../memPool'; import { Block, Transaction } from '../primitives'; export interface FeeRateEntry { feeRate: bigint; blockHash: Buffer; } export interface BlockSizeEntry { blockSize: number; blockHash: Buffer; } export type PriorityLevel = typeof PRIORITY_LEVELS[number]; export type PriorityLevelPercentiles = { slow: number; average: number; fast: number; }; export declare const PRIORITY_LEVELS: readonly ["slow", "average", "fast"]; export declare const BLOCK_SIZE: "blockSize"; export declare class FeeEstimator { private queues; private percentiles; private readonly logger; private maxBlockHistory; private defaultFeeRate; readonly minFeeRate: bigint; private consensus; constructor(options: { consensus: Consensus; maxBlockHistory?: number; minFeeRate?: bigint; logger?: Logger; percentiles?: PriorityLevelPercentiles; }); init(chain: Blockchain): Promise; onConnectBlock(block: Block, memPool: MemPool): void; onDisconnectBlock(block: Block): void; private getTransactionFeeRates; estimateFeeRates(): { slow: bigint; average: bigint; fast: bigint; }; estimateFeeRate(priorityLevel: PriorityLevel): bigint; size(priorityLevel: PriorityLevel): number | undefined; private isFull; } export declare function getFee(feeRate: bigint, transactionSize: number): bigint; export declare function getFeeRate(transaction: Transaction): bigint; export declare function getPreciseFeeRate(transaction: Transaction): Decimal; //# sourceMappingURL=feeEstimator.d.ts.map