import { ethers, BigNumberish } from 'ethers';
import { Address, TokenLike } from "@vigo.technology/v-engine/build/types";
export type EnvMode = 'localhost' | 'devnet' | 'testnet' | 'mainnet';
export interface PaymentOptions {
    envMode?: EnvMode;
    apiHost?: string;
    timeout?: number;
    token?: string;
}
export type PayStatus = 'Processing' | 'Completed' | 'Failure';
export interface PaymentLayer2Order {
    businessId: number;
    merchantOrderNo: string;
    memberId: number;
    payerAddress: Address;
    chainId: number;
    crypto: TokenLike;
    cryptoAmount: BigNumberish;
    payMethodId: number;
    payChannelId: number;
    fiat?: string;
    fiatAmount?: number;
    productName?: string;
    productQuantity?: string;
    productData?: any;
    callbackUrl?: string;
}
export interface PaymentLayer2Options {
    jsrpc: string;
    ethWallet: ethers.Signer;
}
export interface PaymentResponse {
    payId: number;
    status: PayStatus;
}
export interface PaymentRecordResponse {
    payId: number;
    receiveAddress?: Address;
}
