import { BaseShop, BaseShopConstructorParams } from '../base/BaseShop'; import { CandyShopVersion, ExplorerLinkBase, ShopSettings } from '../base/BaseShopModel'; import { SingleTokenInfo } from '../../vendor'; export interface EthShopConstructorParams extends BaseShopConstructorParams { } export interface EthShopInitParams extends Omit { settings: Partial; } /** * @class EthCandyShop with private constructor, use public static method to instantiate the object. */ export declare class EthCandyShop extends BaseShop { private _candyShopAddress; private ethereumPort; /** * Involve the asynchronous fetch for required shop details to create EthCandyShop. * @returns EthCandyShop */ static initEthCandyShop(params: EthShopInitParams): Promise; get candyShopAddress(): string; get explorerLink(): ExplorerLinkBase; get version(): CandyShopVersion; private constructor(); /** * 1. Perform validation and check if user has enough token allowance and has enough balance. * 2. If validation does not pass, try to get users to approve more allowance. * 3. Fulfill the order. * @param params * @returns */ buy(params: { providers: any; orderUuid: string; }): Promise; /** * 1. Get user to approve the NFT token allowance. * 2. Execute Order request for order registration. * @param params * @property {number} price: user input value on the UI with minimum value with maximum number of fraction is 3 * @returns */ sell(params: { providers: any; nft: SingleTokenInfo; price: number; }): Promise; cancel(params: { providers: any; orderUuid: string; }): Promise; getNftPurchasePayload(params: { buyerAddress: string; orderUuid: string; }): Promise; }