import { Blockchain } from '@liqnft/candy-shop-types'; import { CandyShopVersion, ExplorerLinkBase, ShopSettings } from './BaseShopModel'; /** * Optional implementation that will coupled with shop instance */ export interface CandyShopAuctioneer { createAuction(params: any): Promise; cancelAuction(params: any): Promise; bidAuction(params: any): Promise; withdrawAuctionBid(params: any): Promise; buyNowAuction(params: any): Promise; settleAndDistributeAuctionProceeds(params: any): Promise; } export interface CandyShopEditionDropper { commitMasterNft(params: any): Promise; mintNewPrint(params: any): Promise; redeemDrop(params: any): Promise; updateEditionVault(params: any): Promise; } export interface BaseShopConstructorParams { shopCreatorAddress: string; treasuryMint: string; programId: string; env: Blockchain; settings: ShopSettings; } export declare abstract class BaseShop { protected _shopCreatorAddress: string; protected _treasuryMint: string; protected _programId: string; protected _env: Blockchain; protected _settings: ShopSettings; protected _baseUnitsPerCurrency: number; get candyShopCreatorAddress(): string; get treasuryMint(): string; get programId(): string; get settings(): Partial; get env(): Blockchain; get baseUnitsPerCurrency(): number; get currencyDecimals(): number; get currencySymbol(): string; get priceDecimals(): number; get priceDecimalsMin(): number; get volumeDecimals(): number; get volumeDecimalsMin(): number; get explorerLink(): ExplorerLinkBase; constructor(params: BaseShopConstructorParams); protected static configEndpoint(env: Blockchain): void; abstract get candyShopAddress(): string; abstract get version(): CandyShopVersion; abstract buy(params: any): Promise; abstract sell(params: any): Promise; abstract cancel(params: any): Promise; }