import { Types } from "@requestnetwork/request-client.js";
import type { Currency } from "../types";
export declare const prepareRequestParameters: ({ currency, sellerAddress, payerAddress, amountInCrypto, exchangeRate, amountInUSD, createdWith, builderId, productName, sellerName, }: {
    currency: Currency;
    sellerAddress: string;
    payerAddress: string;
    amountInCrypto: number;
    exchangeRate: number;
    amountInUSD: number;
    builderId: string;
    createdWith: string;
    productName: string | undefined;
    sellerName: string | undefined;
}) => {
    requestInfo: {
        currency: {
            type: "ERC20" | "ETH";
            value: string | undefined;
            network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "fantom" | "mainnet" | "mantle" | "matic" | "moonbeam" | "optimism" | "sepolia" | "xdai" | "zksyncera";
        };
        expectedAmount: string;
        payee: {
            type: Types.Identity.TYPE;
            value: string;
        };
        payer: {
            type: Types.Identity.TYPE;
            value: string;
        };
        timestamp: number;
    };
    paymentNetwork: {
        id: Types.Extension.PAYMENT_NETWORK_ID;
        parameters: {
            paymentNetworkName: "arbitrum-one" | "avalanche" | "base" | "bsc" | "fantom" | "mainnet" | "mantle" | "matic" | "moonbeam" | "optimism" | "sepolia" | "xdai" | "zksyncera";
            paymentAddress: string;
            feeAddress: string;
            feeAmount: string;
            tokenAddress: string | undefined;
        };
    };
    contentData: {
        meta: {
            format: string;
            version: string;
        };
        creationDate: string;
        invoiceNumber: string;
        note: string;
        invoiceItems: {
            name: string;
            quantity: number;
            unitPrice: string;
            discount: string;
            tax: {
                type: string;
                amount: string;
            };
            currency: string | undefined;
        }[];
        paymentTerms: {
            dueDate: string;
        };
        sellerInfo: {
            businessName: string | undefined;
        };
        miscellaneous: {
            exchangeRate: string;
            amountInUSD: string;
            createdWith: string;
            builderId: string;
            paymentCurrency: {
                type: "ERC20" | "ETH";
                value: string | undefined;
                network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "fantom" | "mainnet" | "mantle" | "matic" | "moonbeam" | "optimism" | "sepolia" | "xdai" | "zksyncera";
            };
        };
    };
    signer: {
        type: Types.Identity.TYPE;
        value: string;
    };
};
export declare const handleRequestPayment: ({ requestParameters, walletProvider, payerAddress, persistRequest, }: {
    requestParameters: any;
    walletProvider: any;
    payerAddress: string;
    persistRequest: boolean;
}) => Promise<import("@requestnetwork/request-client.js").Request>;
