import { Balance } from '@goat-sdk/core';
import { ZilliqaWalletClient } from '@goat-sdk/wallet-zilliqa';
import { AddressParameters, TransferParameters } from './parameters.js';
import 'zod';

type ZilliqaBalanceExtraFields = {
    nonce: string;
    comment: string | null;
};
type ZilliqaBalance = Balance & ZilliqaBalanceExtraFields;
declare class ZilliqaService {
    convertToBech32(zilliqa: ZilliqaWalletClient, address: AddressParameters): Promise<string>;
    convertFromBech32(zilliqa: ZilliqaWalletClient, address: AddressParameters): Promise<string>;
    transferFromEvmAddress(zilliqa: ZilliqaWalletClient, transferParameters: TransferParameters): Promise<string>;
    transferFromZilliqaAddress(zilliqa: ZilliqaWalletClient, transferParameters: TransferParameters): Promise<string>;
    getZilliqaAddressBalance(zilliqa: ZilliqaWalletClient, address: AddressParameters): Promise<ZilliqaBalance | string>;
}

export { type ZilliqaBalance, type ZilliqaBalanceExtraFields, ZilliqaService };
