import type { Address, Maybe, UnionAddress, Word } from "@rarible/types"; import type { Asset, AssetType, Collection, CollectionId, Creator, ItemId, Order, OrderData, OrderId, UnionContractAddress } from "@rarible/api-client"; import { Blockchain } from "@rarible/api-client"; import type { ContractAddress } from "@rarible/types"; import type { EthereumNetwork } from "@rarible/protocol-ethereum-sdk/build/types"; import type { Asset as EthereumAsset, AssetType as EthereumAssetType, EVMAddress, Part } from "@rarible/ethereum-api-client"; import type { Ethereum, EthereumTransaction } from "@rarible/ethereum-provider"; import type { CommonFillRequestAssetType } from "@rarible/protocol-ethereum-sdk/build/order/fill-order/types"; import type { NftAssetType } from "@rarible/protocol-ethereum-sdk/build/order/check-asset-type"; import type { EthereumWallet } from "@rarible/sdk-wallet"; import type { EVMBlockchain } from "@rarible/sdk-common"; import { EVMBlockchains, isEVMBlockchain } from "@rarible/sdk-common/build"; import type { Payout } from "@rarible/api-client/build/models/Payout"; import type { BlockchainIsh, SupportedBlockchain } from "@rarible/sdk-common"; import type { EthOrderDataLegacy, EthRaribleV2OrderData } from "@rarible/api-client/build/models/OrderData"; import type { EthCryptoPunksAssetType, EthErc1155AssetType, EthErc1155LazyAssetType, EthErc721AssetType, EthErc721LazyAssetType } from "@rarible/api-client/build/models/AssetType"; import type { SimpleOrder } from "@rarible/protocol-ethereum-sdk/build/order/types"; import type { CurrencyType, RequestCurrencyAssetType } from "../../../common/domain"; import type { FillRequest, PrepareFillRequest } from "../../../types/order/fill/domain"; import { OriginFeeSupport, PayoutsSupport } from "../../../types/order/fill/domain"; import type { OrderRequest, UnionPart } from "../../../types/order/common"; export type CreateEthereumCollectionResponse = { tx: EthereumTransaction; address: Address; }; export declare function getEthTakeAssetType(currency: RequestCurrencyAssetType): { assetClass: "ERC20"; contract: EVMAddress; } | { assetClass: "ETH"; contract?: undefined; }; export declare function convertToEthereumAsset(ethereum: Ethereum, asset: Asset): Promise; export declare function convertToEthereumAssetType(assetType: AssetType): EthereumAssetType; export declare function convertOrderDataToEth(data: OrderData): SimpleOrder["data"]; export declare function getEthOrderType(data: OrderData): SimpleOrder["type"]; export declare function getEthOrder(ethereum: Ethereum, order: Order): Promise; export declare function toEthereumParts(parts: UnionPart[] | Creator[] | undefined): Part[]; export declare function convertEthereumPart(part: UnionPart | Creator): Part; export declare function getOriginFeesSum(originFees: Array): number; export declare function getOrderFeesSum(order: Order): number; export declare function isRaribleV1Data(data: OrderData): boolean; export declare function isRaribleV2Data(data: OrderData): boolean; export declare function convertOrderType(data: OrderData): "RARIBLE_V1" | "RARIBLE_V2"; export declare function getOriginFeeSupport(data: OrderData): OriginFeeSupport; export declare function getPayoutsSupport(data: OrderData): PayoutsSupport; export declare function getEVMBlockchain(network: EthereumNetwork): EVMBlockchain; export declare function extractEVMBlockchain(value: BlockchainIsh): EVMBlockchain; export declare function getSupportedCurrencies(blockchain?: EVMBlockchain, forBids?: boolean): CurrencyType[]; export declare function convertToEthereumAddress(contractAddress: UnionAddress | ContractAddress | CollectionId): EVMAddress; export declare function convertEthereumOrderHash(hash: Word, blockchain: EVMBlockchain): OrderId; export declare function convertOrderIdToEthereumHash(orderId: OrderId): string; export declare function convertEthereumContractAddress(address: string | undefined, blockchain: EVMBlockchain): UnionContractAddress; export declare function convertEthereumCollectionId(address: string, blockchain: EVMBlockchain): CollectionId; export declare function convertEthereumToUnionAddress(address: string, blockchain?: EVMBlockchain): UnionAddress; export declare function convertEthereumItemId(itemId: string, blockchain: EVMBlockchain): ItemId; export declare function getEthereumItemId(itemId: ItemId): { itemId: string; contract: string; tokenId: string; domain: Blockchain.ETHEREUM | Blockchain.POLYGON | Blockchain.MANTLE | Blockchain.ARBITRUM | Blockchain.CHILIZ | Blockchain.LIGHTLINK | Blockchain.ZKSYNC | Blockchain.ASTARZKEVM | Blockchain.BASE | Blockchain.RARI | Blockchain.CELO | Blockchain.FIEF | Blockchain.KROMA | Blockchain.OASYS | Blockchain.SAAKURU | Blockchain.PALM | Blockchain.MATCH | Blockchain.SEI | Blockchain.LISK | Blockchain.MOONBEAM | Blockchain.ETHERLINK | Blockchain.ZKCANDY | Blockchain.ALEPHZERO | Blockchain.BERACHAIN | Blockchain.ABSTRACT | Blockchain.SHAPE | Blockchain.TELOS | Blockchain.HEDERAEVM | Blockchain.VICTION | Blockchain.SETTLUS | Blockchain.GOAT; }; export declare function getOrderAmount(orderAmount: OrderRequest["amount"], collection: Collection): number; export declare function getOrderId(fillRequest: PrepareFillRequest): OrderId; export declare function getAssetTypeFromItemId(itemId: ItemId): NftAssetType; export declare function getAssetTypeFromFillRequest(itemId: FillRequest["itemId"]): CommonFillRequestAssetType | CommonFillRequestAssetType[] | undefined; export declare function assertWallet(wallet: Maybe): EthereumWallet; export declare function getWalletBlockchain(wallet: Maybe): Promise; export declare function getWalletNetwork(wallet: Maybe): Promise; export declare function checkWalletBlockchain(wallet: Maybe, blockchain: SupportedBlockchain): Promise; export declare function assertBlockchainAndChainId(chainId: number, blockchain: SupportedBlockchain): void; export declare function isRaribleOrderData(data: OrderData): data is EthOrderDataLegacy | EthRaribleV2OrderData; export declare function isNft(type: AssetType): type is EthErc721AssetType | EthErc721LazyAssetType | EthErc1155AssetType | EthErc1155LazyAssetType | EthCryptoPunksAssetType; export declare function isWETH(assetType: AssetType, wethAddress: EVMAddress | Address): boolean; export { EVMBlockchains, EVMBlockchain, isEVMBlockchain };