import { IBlockchain } from '../interfaces'; import { GetBlockResult } from '../types'; import { Loggable } from "./Loggable"; import { ILogger } from "../interfaces/lib/ILogger"; import { IAlerts } from "../interfaces/lib/IAlerts"; /** * The IBlockchain implementation for interacting with Casper Network */ export declare class CasperBlockchain extends Loggable implements IBlockchain { /** * Client used for sending JSON-RPC requests to the Casper node. * Requires the node's /rpc url as a constructor argument. * * [CasperServiceByJsonRPC](https://casper-ecosystem.github.io/casper-js-sdk/latest/modules/_services_casperservicebyjsonrpc_.html) */ private client; /** * @param providerUrl property used for delegation of routing logs * @param {ILogger} logger property used for delegation of routing logs * @param {IAlerts} alerts property used for delegation of sending alerts */ constructor(providerUrl: string, logger?: ILogger, alerts?: IAlerts); /** * Fetches the block, if it exists, for the given height using the Casper Network client. * @param height height of desired block */ getBlockByHeight(height: number): Promise; /** * Fetches the latest block height from the Casper Network client. */ getCurrentBlockHeight(): Promise; }