/** * @typedef {object} TokenBalanceJson * @property {string} tokenId * @property {string} balance * @property {number} decimals */ /** * @typedef {object} AccountBalanceJson * @property {string} hbars * @property {TokenBalanceJson[]} tokens */ export default class AccountBalance { /** * @param {Uint8Array} bytes * @returns {AccountBalance} */ static fromBytes(bytes: Uint8Array): AccountBalance; /** * @internal * @param {HashgraphProto.proto.ICryptoGetAccountBalanceResponse} accountBalance * @returns {AccountBalance} */ static _fromProtobuf(accountBalance: HashgraphProto.proto.ICryptoGetAccountBalanceResponse): AccountBalance; /** * @private * @param {object} props * @param {Hbar} props.hbars * @param {?TokenBalanceMap} props.tokens * @param {?TokenDecimalMap} props.tokenDecimals */ private constructor(); /** * The account ID for which this balancermation applies. * * @readonly */ readonly hbars: Hbar; /** * @deprecated - Use the mirror node API https://docs.hedera.com/guides/docs/mirror-node-api/rest-api#api-v1-accounts instead * @readonly */ readonly tokens: TokenBalanceMap | null; /** * @deprecated - Use the mirror node API https://docs.hedera.com/guides/docs/mirror-node-api/rest-api#api-v1-accounts instead * @readonly */ readonly tokenDecimals: TokenDecimalMap | null; /** * @returns {HashgraphProto.proto.ICryptoGetAccountBalanceResponse} */ _toProtobuf(): HashgraphProto.proto.ICryptoGetAccountBalanceResponse; /** * @returns {Uint8Array} */ toBytes(): Uint8Array; /** * @returns {string} */ toString(): string; /** * @returns {AccountBalanceJson} */ toJSON(): AccountBalanceJson; } export type TokenBalanceJson = { tokenId: string; balance: string; decimals: number; }; export type AccountBalanceJson = { hbars: string; tokens: TokenBalanceJson[]; }; import Hbar from "../Hbar.js"; import TokenBalanceMap from "./TokenBalanceMap.js"; import TokenDecimalMap from "./TokenDecimalMap.js"; import * as HashgraphProto from "@hashgraph/proto";