/// import { BinaryWriter, BlockBaseJSON, UInt160, UInt256, UInt256Hex } from '@neo-one/client-common'; import BN from 'bn.js'; import { Equals, EquatableKey } from './Equatable'; import { Header, HeaderKey } from './Header'; import { DeserializeWireBaseOptions, SerializeJSONContext, SerializeWire } from './Serializable'; import { Witness } from './Witness'; export interface BlockGetScriptHashesForVerifyingOptions { readonly getHeader: (key: HeaderKey) => Promise
; } export interface BlockBaseAdd { readonly version?: number; readonly previousHash: UInt256; readonly merkleRoot: UInt256; readonly timestamp: number; readonly index: number; readonly consensusData: BN; readonly nextConsensus: UInt160; readonly script?: Witness; readonly hash?: UInt256; } export declare abstract class BlockBase implements EquatableKey { static deserializeBlockBaseWireBase(options: DeserializeWireBaseOptions): BlockBaseAdd; readonly version: number; readonly previousHash: UInt256; readonly merkleRoot: UInt256; readonly timestamp: number; readonly index: number; readonly consensusData: BN; readonly nextConsensus: UInt160; readonly equals: Equals; readonly toKeyString: () => string; readonly getScriptHashesForVerifying: (input: BlockGetScriptHashesForVerifyingOptions) => Promise>; readonly serializeUnsigned: SerializeWire; readonly serializeWire: SerializeWire; private readonly hashInternal; private readonly hashHexInternal; private readonly messageInternal; private readonly scriptInternal; private readonly sizeInternal; constructor({ version, previousHash, merkleRoot, timestamp, index, consensusData, nextConsensus, script, hash, }: BlockBaseAdd); get hash(): UInt256; get hashHex(): UInt256Hex; get message(): Buffer; get size(): number; get script(): Witness; serializeUnsignedBase(writer: BinaryWriter): void; serializeWireBase(writer: BinaryWriter): void; serializeBlockBaseJSON(context: SerializeJSONContext): BlockBaseJSON; protected readonly sizeExclusive: () => number; }