import { Observable } from 'rxjs'; import { BlockInfo } from '../model/blockchain/BlockInfo'; import { MerkleProofInfo } from '../model/blockchain/MerkleProofInfo'; import { Transaction } from '../model/transaction/Transaction'; import { UInt64 } from '../model/UInt64'; import { BlockRepository } from './BlockRepository'; import { Http } from './Http'; import { QueryParams } from './QueryParams'; /** * Blockchain http repository. * * @since 1.0 */ export declare class BlockHttp extends Http implements BlockRepository { /** * Constructor * @param url */ constructor(url: string); /** * Gets a BlockInfo for a given block height * @param height - Block height * @returns Observable */ getBlockByHeight(height: UInt64): Observable; /** * Gets array of transactions included in a block for a block height * @param height - Block height * @param queryParams - (Optional) Query params * @returns Observable */ getBlockTransactions(height: UInt64, queryParams?: QueryParams): Observable; /** * Gets array of BlockInfo for a block height with limit * @param height - Block height from which will be the first block in the array * @param limit - Number of blocks returned. * @returns Observable */ getBlocksByHeightWithLimit(height: UInt64, limit: number): Observable; /** * Get the merkle path for a given a transaction and block * Returns the merkle path for a [transaction](https://nemtech.github.io/concepts/transaction.html) * included in a block. The path is the complementary data needed to calculate the merkle root. * A client can compare if the calculated root equals the one recorded in the block header, * verifying that the transaction was included in the block. * @param height The height of the block. * @param hash The hash of the transaction. * @return Observable */ getMerkleTransaction(height: UInt64, hash: string): Observable; }