import { ethers } from 'ethers';
import { Options } from '@layerzerolabs/lz-v2-utilities';
export interface LzSendParam {
    toEid: number;
    wallet: string;
    receipt: string;
    amount: number | string | ethers.BigNumber;
}
export declare namespace mooarLz {
    function loadContract(contract: string, provider: ethers.providers.JsonRpcProvider, MooarOFTAdapter_ABI: any[]): ethers.Contract;
    function approveToContract(erc20: string, contract: ethers.Contract, amount: ethers.BigNumber, privateKey: string): Promise<string>;
    function connectWallet(contract: ethers.Contract, privateKey: string): ethers.Contract;
    function decimals(erc20: string, provider: ethers.providers.JsonRpcProvider): Promise<number>;
    function send(contract: ethers.Contract, para: LzSendParam, gas?: ethers.BigNumber, options?: Options): Promise<any>;
    function readEnforcedOptions(rpc: string, contractAddress: string, eid: number): Promise<{
        msgType1: {
            gas: number;
            value: number;
        };
        msgType2: {
            gas: number;
            value: number;
        };
    }>;
}
