import { Contract, BigNumber, ContractTransaction, Signer } from 'ethers';
import { SupportedChainIds } from './networkConfig';
import { IRevenueSharedNFTRentals, NFTStandard } from './types';
export declare class RevenueSharedNFTRentals implements IRevenueSharedNFTRentals {
    readonly signer: Signer;
    protected contract: Contract;
    constructor(_signer: Signer, chainId: SupportedChainIds);
    lend(nftStandards: NFTStandard[], nftAddresses: string[], tokenIds: BigNumber[], lendAmounts: BigNumber[], upfrontFees: BigNumber[], maxRentDurations: number[], revenueShareInfos: [string[], number[]][], allowedRenters: string[][][], paymentOptions: number[]): Promise<ContractTransaction>;
    rent(nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[], rentDurations: number[], rentAmounts: BigNumber[]): Promise<ContractTransaction>;
    stopRenting(nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[], rentingIds: BigNumber[]): Promise<ContractTransaction>;
    stopLending(nftStandards: NFTStandard[], nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[]): Promise<ContractTransaction>;
    shareRevenue(nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[], revenueAmounts: BigNumber[], renters: string[], revenueTokenAddress: string[]): Promise<ContractTransaction>;
}
