import { ethers, Signer } from 'ethers'; import { TransactionResponse } from '@ethersproject/abstract-provider'; export declare const NULL_ADDRESS = "0x0000000000000000000000000000000000000000"; export declare const ETH_TOKEN_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"; export declare type SignerOrProvider = Signer | ethers.providers.Web3Provider; export declare enum Network { ETH = "eth", BSC = "bsc", Polygon = "polygon", Avalanche = "avalanche", Arbitrum = "arbitrum", ZkSync = "zksync", Linea = "linea", Base = "base", OpBNB = "opbnb", Scroll = "scroll", MantaPacific = "manta_pacific", Optimism = "optimism", Mantle = "mantle", ZKFair = "zkfair", Blast = "blast", Merlin = "merlin" } export declare enum OrderSide { BuyOrder = 0, SellOrder = 1 } export declare enum SaleKind { FixedPrice = 0, BatchSignedERC721Order = 3, ContractOffer = 7, BatchOfferERC721s = 8 } export declare enum Standard { ElementEx = "element-ex-v3" } export declare enum Market { ElementEx = "element" } export declare enum AssetSchema { ERC721 = "ERC721", ERC1155 = "ERC1155" } export interface Asset { assetId: string; assetAddress: string; assetSchema: AssetSchema; quantity: string; } export interface ElementAPIConfig { networkName: Network; apiKey: string; signer: SignerOrProvider; isTestnet?: boolean; } export interface OrderInformation { contractAddress: string; tokenId: string; schema: AssetSchema | string; standard: Standard | string; maker: string; listingTime: number | string; expirationTime: number | string; price: number | string; paymentToken: string; saleKind: SaleKind | number | string; side: OrderSide | number | string; orderId: string; } export interface Order extends OrderInformation { quantity: string; priceBase: number; priceUSD: number; taker: string; exchangeData: string; } export interface GasParams { gasPrice?: string | number; maxFeePerGas?: string | number; maxPriorityFeePerGas?: string | number; } export interface ERC721SellOrderItem { erc721TokenId: string | number; erc721TokenAddress: string; paymentTokenAmount: string | number; } export interface MakeERC721SellOrdersParams extends GasParams { listingTime?: number; expirationTime?: number; paymentToken?: string; items: Array; } export interface FailedERC721Item { assetTokenId: string; assetContract: string; errorDetail: string; } export interface MakeERC721SellOrdersResponse { succeedList: Array; failedList: Array; } export interface MakeOrderParams extends GasParams { takerAddress?: string; assetId?: string | number; assetAddress: string; assetSchema?: AssetSchema | string; quantity?: string | number; paymentToken?: string; paymentTokenAmount: string | number; listingTime?: number; expirationTime?: number; } export interface FillOrderParams extends GasParams { order: OrderInformation; quantity?: string | number; assetId?: string | number; } export interface BatchBuyWithETHParams extends GasParams { orders: Array; quantities?: Array; } export interface EncodeTradeDataParams { orders: Array; quantities?: Array; tokenIds?: Array; taker?: string; } export interface TradeData { toContract: string; payableValue: string; data: string; flags: Array; } export interface CancelOrderParams extends GasParams { order: Order; } export interface CancelOrdersParams extends GasParams { orders: Array; } export interface CancelOrdersTransaction { orders: Array; transaction: TransactionResponse; } export interface CancelOrdersResponse { succeedTransactions: Array; } export interface CancelAllOrdersByMakerParams extends GasParams { standard?: Standard; }