import type { XyoAddress } from '@xyo-network/sdk';
import type { AttoXL1, XyoGateway, XyoGatewayRunner } from '@xyo-network/xl1-protocol/protocol-lib';
/**
 * Example: read an XL1 native balance for an address through any gateway.
 *
 * Works with both read-only gateways (`getRestGateway` / `GatewayBuilder.build()`)
 * and write-capable runners (`getRestGatewayRunner` / `GatewayBuilder.build(signer)`) —
 * balances always come from `connection.viewer.account.balance`.
 *
 * Amounts are in **atto-XL1** (1 XL1 = 10^18 atto). Use `XL1Amount` from the SDK
 * when you need human-readable display.
 *
 * @example
 * ```ts
 * import { getRestGateway } from '@xyo-network/xl1-sdk'
 * import { getAccountBalance } from '@xyo-network/xl1-sdk'
 *
 * const gateway = await getRestGateway('https://mainnet.xyo.space')
 * const balance = await getAccountBalance(gateway, address)
 * // balance: AttoXL1 (bigint)
 * ```
 *
 * @example
 * ```ts
 * // Same helper works with a write-capable runner
 * const runner = await getRestGatewayRunner({ endpoint, rpcUrl, signer })
 * const balance = await getAccountBalance(runner, await runner.signer.address())
 * ```
 *
 * Full live-chain recipe (S3 CDN reads + real wallet) lives in the xyo-chain
 * `api-local-s3` e2e project: `src/e2e/spec/api-local-s3/RestGatewayRunner.spec.ts`.
 */
export declare function getAccountBalance(gateway: XyoGateway | XyoGatewayRunner, address: XyoAddress): Promise<AttoXL1>;
//# sourceMappingURL=getAccountBalance.d.ts.map