import { EVMWalletClient } from '@goat-sdk/wallet-evm';
import { Token } from './constants/supported-tokens.js';
import { SprayEtherParams, SprayErc20TokenParams, GetInfoModeSprayTokensParams } from './parameters.js';
import '@goat-sdk/core';
import 'zod';

declare class ModeSprayService {
    sprayEther(walletClient: EVMWalletClient, parameters: SprayEtherParams): Promise<{
        txHash?: string;
        chainId: number;
        message?: string;
    }>;
    sprayToken(walletClient: EVMWalletClient, parameters: SprayErc20TokenParams): Promise<{
        txHash?: string;
        chainId: number;
        message?: string;
    }>;
    getSprayTokenInfoBySymbol(walletClient: EVMWalletClient, parameters: GetInfoModeSprayTokensParams): Promise<Token>;
    getSpraySupportedTokens(walletClient: EVMWalletClient, parameters: GetInfoModeSprayTokensParams): Promise<{
        [key: string]: Token;
    }>;
}

export { ModeSprayService };
