import { ClientConfig } from './client'; import { Decimal } from '@axlabs/neofs-sdk-ts-core/types'; /** * Parameters for getting account balance. */ export interface BalanceGetParams { /** Account ID to get balance for (optional, defaults to signer's account) */ accountId?: Uint8Array; /** Additional headers */ headers?: Record; } /** * Accounting client for balance operations. */ export declare class AccountingClient { private config; private client; constructor(config: ClientConfig); /** * Generates a proper NeoFS account ID from an ECDSA public key. * This implements the same logic as the C# SDK's PublicKeyToAddress. */ private generateNeoFSAccountId; /** * Creates signature redeem script from compressed public key. * Based on C# implementation: CreateSignatureRedeemScript */ private createSignatureRedeemScript; /** * Calculates script hash using SHA256 + RIPEMD160. * Based on C# implementation: script.Sha256().RIPEMD160() */ private calculateScriptHash; /** * RIPEMD160 implementation using crypto-js library. * Based on C# implementation using BouncyCastle RipeMD160Digest. */ private ripemd160; /** * Creates address with version byte + script hash + checksum. * Based on C# implementation: ToAddress */ private createAddress; /** * Base58 encoding implementation. * Based on C# implementation: Base58.Encode */ private base58Encode; /** * Base58 decoding implementation. * Based on C# implementation: Base58.Decode */ private base58Decode; /** * Get the current balance of a NeoFS account. * * @param params - Parameters for the balance request * @returns Promise that resolves to the account balance * @throws Error if the request fails */ getBalance(params?: BalanceGetParams): Promise; }