import Transaction from "./transaction"; import Header from "./header"; import { BufferChunksReader } from "./utils"; export interface BlockOptions { validate?: boolean; } export type TxIndex = { tx: Transaction; index: number; offset: number; size: number; }; export type BlockStream = { height?: number; size: number; bytesRead: number; bytesRemaining: number; txCount: number; txRead: number; txs: TxIndex[]; finished: boolean; started: boolean; header: Header; startDate: number; }; export default class Block { txRead: number; size: number; options: BlockOptions; merkleArray: Buffer[][]; header?: Header; txCount?: number; txPos?: number; buffer?: Buffer; transactions?: Transaction[]; computedMerkleRoot?: Buffer; br?: BufferChunksReader; height?: number; startDate: number; constructor(options?: BlockOptions); static fromBuffer(buf: Buffer): Block; static fromHex(hex: string): Block; getHash(): Buffer; getHash(hexStr: T): T extends true ? string : Buffer; getTransactions(): Transaction[]; getHeight(): number; validate(): void; addMerkleHash(index: number, hash: Buffer): void; getTransactionsAsync(callback: (data: BlockStream) => Promise | void): Promise; toBuffer(): Buffer; toHex(): string; finished(): boolean; addBufferChunk(buf: Buffer): BlockStream; } //# sourceMappingURL=block.d.ts.map