/**
 * NFT Barter
 * @author Ebube Ud <kripsonud@gmail.com>
 */
import { ethers } from 'ethers';
import { TokenTransferObject } from './interfaces';
import VerificationHandler from './verificationHandler';
import BarterConfig from './config';
export default class Barter {
    appName: string;
    verififcationHandler: VerificationHandler;
    config: BarterConfig;
    provider: ethers.providers.JsonRpcProvider;
    constructor(_provider: ethers.providers.JsonRpcProvider);
    /**
     *
     * @param address Contract address of the NFT
     */
    getBaseUri: (address: string) => string;
    verifyTransferAssets: (tokenTransferObject: TokenTransferObject) => Promise<void>;
    signTransferTransaction: (tokenTransferObject: TokenTransferObject) => Promise<TokenTransferObject & {
        signature: string;
    }>;
    executeTransfer: (data: TokenTransferObject & {
        signature: string;
    }) => boolean;
    formatTokenTransferObject: (data: TokenTransferObject) => TokenTransferObject;
    toWei: (value: string) => ethers.BigNumber;
}
