import { AccountJSON, BinaryWriter, ECPoint, UInt160, UInt160Hex, UInt256Hex } from '@neo-one/client-common-browserify'; import { BaseState } from '@neo-one/client-full-common-browserify'; import BN from 'bn.js'; import { Equals, EquatableKey } from './Equatable'; import { DeserializeWireBaseOptions, DeserializeWireOptions, SerializableJSON, SerializableWire, SerializeJSONContext, SerializeWire } from './Serializable'; export interface AccountKey { readonly hash: UInt160; } export interface AccountAdd { readonly version?: number; readonly hash: UInt160; readonly isFrozen?: boolean; readonly votes?: readonly ECPoint[]; readonly balances?: { readonly [AssetHash in string]?: BN; }; } export interface AccountUpdate { readonly isFrozen?: boolean; readonly votes?: readonly ECPoint[]; readonly balances?: AccountAdd['balances']; } export declare class Account extends BaseState implements SerializableWire, SerializableJSON, EquatableKey { static deserializeWireBase(options: DeserializeWireBaseOptions): Account; static deserializeWire(options: DeserializeWireOptions): Account; readonly hash: UInt160; readonly hashHex: UInt160Hex; readonly isFrozen: boolean; readonly votes: readonly ECPoint[]; readonly balances: { readonly [AssetHash in string]?: BN; }; readonly equals: Equals; readonly toKeyString: () => string; readonly serializeWire: SerializeWire; private readonly sizeInternal; constructor({ version, hash, isFrozen, votes, balances }: AccountAdd); readonly size: number; isDeletable(): boolean; getBalance(asset: UInt256Hex): BN; update({ isFrozen, votes, balances }: AccountUpdate): Account; serializeWireBase(writer: BinaryWriter): void; serializeJSON(context: SerializeJSONContext): Promise; }