import type { PromiseResult } from '@polkadot/api/types'; import type { HeaderExtended } from '@polkadot/api-derive/types'; import type { Compact, GenericExtrinsic, u64, Vec } from '@polkadot/types'; import type { BlockHash, BlockNumber, Header, SignedBlock } from '@polkadot/types/interfaces'; import type { FrameSystemEventRecord } from '@polkadot/types/lookup'; import type { AnyNumber, AnyTuple } from '@polkadot/types/types'; import type { Observable } from 'rxjs'; import type { GearApi } from '../GearApi'; import type { HexString } from '../types'; export declare class GearBlock { private api; subscribeNewHeads: PromiseResult<() => Observable>; constructor(api: GearApi); /** * Get data of particular block by blockHash * @param hash * @returns */ get(hash: HexString | Uint8Array): Promise; /** * Get data of particular block by blockNumber * @param number * @returns */ get(number: number): Promise; /** * Get data of particular block by blockNumber or blockHash * @param hashOrNumber * @returns */ get(hashOrNumber: string | Uint8Array | number): Promise; /** * Get blockHash by number * @param number number of block * @returns blockHash */ getBlockHash(number: AnyNumber | BlockNumber): Promise; /** * Get block number * @param hash * @returns Compact */ getBlockNumber(hash: string | Uint8Array): Promise>; /** * ### Get block's timestamp * @param block */ getBlockTimestamp(block: SignedBlock): Promise>; /** * ### Get block's timestamp by blockHash * @param hash */ getBlockTimestamp(hash: HexString | Uint8Array): Promise>; /** * ### Get block's timestamp by blockNumber * @param number */ getBlockTimestamp(number: number): Promise>; /** * Get all extrinsic of particular block * @param blockHash hash of particular block * @returns Vec of extrinsics */ getExtrinsics(blockHash: `0x${string}` | Uint8Array): Promise>>; /** * Get all events of particular block * @param blockHash hash of particular block * @returns Vec of events */ getEvents(blockHash: `0x${string}` | Uint8Array): Promise>; /** * Get hash of last finalized block * @returns Hash of finalized head */ getFinalizedHead(): Promise; subscribeToHeadsFrom(from: number | HexString, cb: (header: Header) => Promise | void, blocks?: 'finalized' | 'latest'): Promise<() => void>; }