import { VerifiedContract, Options } from "../index";
import { VerifiedWallet } from "../../wallet";
export default class Bond extends VerifiedContract {
    contractAddress: string;
    constructor(signer: VerifiedWallet, bondCurrencyAddress: string);
    _getMeeQuote(paymentTokenAddress: string, functionName: string, args: any[], apiKey?: string, rpcUrl?: string): Promise<{
        tokenAddress: string;
        amount: string;
        amountInWei: string;
        amouuntValue: string;
        chainId: number;
        functionName: string;
    }>;
    requestIssue(_amount: string, _payer: string, _currency: string, _cashContract: string, options?: Options): any;
    requestPurchase(_amount: string, _payer: string, _currency: string, _cashContract: string, options?: Options): any;
    requestRedemption(_amount: string, _payer: string, _currency: string, _tokenContract: string, options?: Options): any;
    getBonds(): any;
    /**
     * Fetch bonds issued with their balance amounts to redeem [callable by client]
     * entries is count of results to return. Address[] has issued bond addresses, and uint[] has issued amount
     * @param ()
     * @returns (bytes16 parValue, bytes16 paidInAmount, bytes32 paidInCurrency, uint256 timeIssuedSubscribed)
     */
    getBondIssues(_issuer: string, _bond: string, options?: Options): any;
    /**
     * Fetch bonds purchased with their purchased amounts [callable by client]
     * entries is count of results to return. Address[] has purchased bond addresses, and uint[] has purchased amount
     * @param ()
     * @returns (bytes16 parValue, bytes16 paidInAmount, bytes32 paidInCurrency, uint256 timeIssuedSubscribed)
     */
    getBondPurchases(_issuer: string, _bond: string, options?: Options): any;
    balanceOf(_wallet: string, options?: Options): any;
    name(): any;
    symbol(): any;
    decimals(): any;
    totalSupply(): any;
    transfer(_recipient: string, _amount: string, options?: Options): any;
    approve(_spender: string, _amount: string, options?: Options): any;
    allowance(_owner: string, _spender: string, options?: Options): any;
    increaseAllowance(_spender: string, _addedValue: string, options?: Options): any;
    decreaseAllowance(_spender: string, _subtractedValue: string, options?: Options): any;
    notifyBondIssue(callback: any): object;
    notifyBondRedemption(callback: any): object;
    notifyBondPurchase(callback: any): object;
    notifyBondLiquidation(callback: any): object;
}
