import { BlockTemplate, BlockTemplateTx } from '../types/block'; export interface MiningCandidate { header: Uint8Array; coinbaseTxHex: string; transactionHexes: string[]; merkleRoot: string; target: string; height: number; } export interface WorkItem { data: string; target: string; midstate?: string; } export declare function parsePriority(tx: BlockTemplateTx): number; export declare function sortByPriority(transactions: BlockTemplateTx[]): BlockTemplateTx[]; export declare function sortByFee(transactions: BlockTemplateTx[]): BlockTemplateTx[]; export declare function sortByFeePerKb(transactions: BlockTemplateTx[]): BlockTemplateTx[]; export declare function selectTransactions(template: BlockTemplate, strategy?: 'priority' | 'fee' | 'mixed', maxSigOps?: number, maxSize?: number): BlockTemplateTx[]; export declare function buildCoinbaseTx(blockHeight: number, reward: bigint, toAddress: string, extraNonce?: number, coinbaseMessage?: string): string; export declare function buildBlockHeader(version: number, prevHash: string, merkleRoot: string, time: number, bits: number, nonce: number): Uint8Array; export declare function setYespowerImplementation(impl: (header80: Uint8Array) => Uint8Array): void; export declare function computeBlockHash(header80: Uint8Array): string; export declare function verifyBlockHash(header80: Uint8Array, targetHex: string): boolean; export declare function difficultyToTarget(difficulty: number): string; export declare function targetToDifficulty(targetHex: string): number; export declare function nbitsToTarget(nbits: number): string; export declare function estimateHashrate(blocksFound: number, difficulty: number, timeSeconds: number): number; export declare function calculateBlockReward(height: number): bigint; export declare function prepareMiningCandidate(template: BlockTemplate, minerAddress: string, extraNonce?: number): MiningCandidate; export declare function serializeBlock(candidate: MiningCandidate, nonce: number): string; //# sourceMappingURL=index.d.ts.map