import { VerifiedContract, Options } from "../../index";
import { VerifiedWallet } from "../../../wallet";
export default class Compound extends VerifiedContract {
    contractAddress: string;
    constructor(signer: VerifiedWallet, contractNetworkAddress: string);
    _getMeeQuote(paymentTokenAddress: string, functionName: string, args: any[], apiKey?: string, rpcUrl?: string, isReactNative?: boolean): Promise<{
        tokenAddress: string;
        amount: string;
        amountInWei: string;
        amouuntValue: string;
        chainId: number;
        functionName: string;
    }>;
    setSigner(_address: string, options?: Options): any;
    /**
     * Submits new RWA to Compound
     * @params submitNewRWA(
          address asset,
          address collateral,
          address bond,
          uint256 apy,
          string memory issuingDocs,
          uint256 frequency,
          uint256 faceValue,
          address factory
      )
     * @returns
     */
    submitNewRWA(asset: string, collateral: string, bond: string, apy: string, issuingDocs: string, frequency: string, faceValue: string, factory: string, options?: Options): any;
    /**
     * Posts collateral to Compound
     * @params (address bond, address issuer, address factory)
     * @returns
     */
    postCollateral(bond: string, issuer: string, factory: string, options?: Options): any;
    /**
     * Borrows from Compound
     * @params (address bond)
     * @returns
     */
    borrowBase(bond: string, options?: Options): any;
    /**
     * Repays to Compound
     * @params (address bond, uint256 amount)
     * @returns
     */
    repayBase(bond: string, amount: string, options?: Options): any;
    /**
     * Withdraws collateral
     * @params (address bond, address issuer)
     * @returns
     */
    withdrawCollateral(bond: string, issuer: string, factory: string, options?: Options): any;
    repayLenders(bond: string, collateral: string, options?: Options): any;
}
