import { BigNumberLike } from "@rarible/types"; import { Blockchain } from "./Blockchain"; import { CollectionId } from "@rarible/types"; import { Creator } from "./Creator"; import { ItemId } from "@rarible/types"; import { Royalty } from "./Royalty"; import { UnionContractAddress } from "@rarible/types"; export type AssetType = NativeCurrencyAssetType | TokenCurrencyAssetType | NftAssetType | NftOfCollectionAssetType | FlowAssetTypeNft | FlowAssetTypeFt | EthEthereumAssetType | EthErc20AssetType | EthErc721AssetType | EthErc721LazyAssetType | EthErc1155AssetType | EthErc1155LazyAssetType | EthCryptoPunksAssetType | EthGenerativeArtAssetType | EthCollectionAssetType | SolanaNftAssetType | SolanaFtAssetType | SolanaSolAssetType; export type NativeCurrencyAssetType = { "@type": "CURRENCY_NATIVE"; blockchain: Blockchain; contract?: UnionContractAddress; }; export type TokenCurrencyAssetType = { "@type": "CURRENCY_TOKEN"; contract: UnionContractAddress; }; export declare enum NftAssetTypeStandard { SINGLE = "SINGLE", MULTIPLE = "MULTIPLE" } export type NftAssetType = { "@type": "NFT"; collectionId: CollectionId; itemId: ItemId; standard?: NftAssetTypeStandard; }; export type NftOfCollectionAssetType = { "@type": "NFT_OF_COLLECTION"; collectionId: CollectionId; }; export type FlowAssetTypeNft = { "@type": "FLOW_NFT"; contract: UnionContractAddress; collection?: CollectionId; tokenId: BigNumberLike; }; export type FlowAssetTypeFt = { "@type": "FLOW_FT"; contract: UnionContractAddress; }; export type EthEthereumAssetType = { "@type": "ETH"; blockchain?: Blockchain; }; export type EthErc20AssetType = { "@type": "ERC20"; contract: UnionContractAddress; }; export type EthErc721AssetType = { "@type": "ERC721"; contract: UnionContractAddress; collection?: CollectionId; tokenId: BigNumberLike; }; export type EthErc721LazyAssetType = { "@type": "ERC721_Lazy"; contract: UnionContractAddress; collection?: CollectionId; tokenId: BigNumberLike; uri: string; creators: Array; royalties: Array; signatures: Array; }; export type EthErc1155AssetType = { "@type": "ERC1155"; contract: UnionContractAddress; collection?: CollectionId; tokenId: BigNumberLike; }; export type EthErc1155LazyAssetType = { "@type": "ERC1155_Lazy"; contract: UnionContractAddress; collection?: CollectionId; tokenId: BigNumberLike; uri: string; supply: BigNumberLike; creators: Array; royalties: Array; signatures: Array; }; export type EthCryptoPunksAssetType = { "@type": "CRYPTO_PUNKS"; contract: UnionContractAddress; collection?: CollectionId; tokenId: number; }; export type EthGenerativeArtAssetType = { "@type": "GEN_ART"; contract: UnionContractAddress; collection?: CollectionId; }; export type EthCollectionAssetType = { "@type": "COLLECTION"; contract: UnionContractAddress; collection?: CollectionId; }; export type SolanaNftAssetType = { "@type": "SOLANA_NFT"; contract?: UnionContractAddress; collection?: CollectionId; itemId: ItemId; }; export type SolanaFtAssetType = { "@type": "SOLANA_FT"; address: UnionContractAddress; }; export type SolanaSolAssetType = { "@type": "SOLANA_SOL"; };