import * as z from "zod"; import { ClosedEnum } from "../types/enums.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { Blockchain } from "./blockchain.js"; import { CollectionMeta, CollectionMeta$Outbound } from "./collectionmeta.js"; import { SDKValidationError } from "./errors/sdkvalidationerror.js"; import { Order, Order$Outbound } from "./order.js"; import { OriginOrders, OriginOrders$Outbound } from "./originorders.js"; /** * Collection structure can be described as: * * @remarks * - REGULAR: a standalone collection that has a corresponding contract address on the blockchain. * - COMPOSITE: an artificial collection that is composed of one or more regular collections or items. * - PART: an artificial collection that is a part of a larger regular collection, thus has a parent collection. */ export declare const Structure: { readonly Regular: "REGULAR"; readonly Composite: "COMPOSITE"; readonly Part: "PART"; }; /** * Collection structure can be described as: * * @remarks * - REGULAR: a standalone collection that has a corresponding contract address on the blockchain. * - COMPOSITE: an artificial collection that is composed of one or more regular collections or items. * - PART: an artificial collection that is a part of a larger regular collection, thus has a parent collection. */ export type Structure = ClosedEnum; export declare const CollectionType: { readonly CryptoPunks: "CRYPTO_PUNKS"; readonly Erc721: "ERC721"; readonly Erc1155: "ERC1155"; readonly Flow: "FLOW"; readonly Solana: "SOLANA"; readonly TokenGroup2022: "TOKEN_GROUP_2022"; readonly Immutablex: "IMMUTABLEX"; readonly Aptos: "APTOS"; }; export type CollectionType = ClosedEnum; export declare const Status: { readonly Pending: "PENDING"; readonly Error: "ERROR"; readonly Confirmed: "CONFIRMED"; }; export type Status = ClosedEnum; export declare const CollectionFeature: { readonly ApproveForAll: "APPROVE_FOR_ALL"; readonly SetUriPrefix: "SET_URI_PREFIX"; readonly Burn: "BURN"; readonly MintWithAddress: "MINT_WITH_ADDRESS"; readonly SecondarySaleFees: "SECONDARY_SALE_FEES"; readonly MintAndTransfer: "MINT_AND_TRANSFER"; readonly Pausable: "PAUSABLE"; readonly NotForSale: "NOT_FOR_SALE"; }; export type CollectionFeature = ClosedEnum; export type Collection = { /** * Collection id */ id: string; /** * Collection id */ parent?: string | undefined; blockchain: Blockchain; /** * Collection structure can be described as: * * @remarks * - REGULAR: a standalone collection that has a corresponding contract address on the blockchain. * - COMPOSITE: an artificial collection that is composed of one or more regular collections or items. * - PART: an artificial collection that is a part of a larger regular collection, thus has a parent collection. */ structure?: Structure | undefined; type: CollectionType; status?: Status | undefined; name: string; symbol?: string | undefined; /** * Blockchain address in Union format `${blockchainGroup}:${token}` */ owner?: string | undefined; features: Array; /** * List of addresses that can mint items in this collection */ minters?: Array | undefined; meta?: CollectionMeta | undefined; bestBidOrder?: Order | undefined; bestSellOrder?: Order | undefined; /** * Contains best bid order for each currency if exists */ bestBidOrdersByCurrency?: Array | undefined; originOrders?: Array | undefined; self?: boolean | undefined; /** * Deprecated, use spamScore instead * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ scam?: boolean | undefined; /** * Spam score of the collection, 0 - not spam, 100 - spam */ spamScore?: number | undefined; hasTraits?: boolean | undefined; shared?: boolean | undefined; /** * Blockchain-specific information about this NFT collection particular to that blockchain's data model */ extra?: { [k: string]: string; } | undefined; version?: number | undefined; }; /** @internal */ export declare const Structure$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const Structure$outboundSchema: z.ZodNativeEnum; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace Structure$ { /** @deprecated use `Structure$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly Regular: "REGULAR"; readonly Composite: "COMPOSITE"; readonly Part: "PART"; }>; /** @deprecated use `Structure$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly Regular: "REGULAR"; readonly Composite: "COMPOSITE"; readonly Part: "PART"; }>; } /** @internal */ export declare const CollectionType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const CollectionType$outboundSchema: z.ZodNativeEnum; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace CollectionType$ { /** @deprecated use `CollectionType$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly CryptoPunks: "CRYPTO_PUNKS"; readonly Erc721: "ERC721"; readonly Erc1155: "ERC1155"; readonly Flow: "FLOW"; readonly Solana: "SOLANA"; readonly TokenGroup2022: "TOKEN_GROUP_2022"; readonly Immutablex: "IMMUTABLEX"; readonly Aptos: "APTOS"; }>; /** @deprecated use `CollectionType$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly CryptoPunks: "CRYPTO_PUNKS"; readonly Erc721: "ERC721"; readonly Erc1155: "ERC1155"; readonly Flow: "FLOW"; readonly Solana: "SOLANA"; readonly TokenGroup2022: "TOKEN_GROUP_2022"; readonly Immutablex: "IMMUTABLEX"; readonly Aptos: "APTOS"; }>; } /** @internal */ export declare const Status$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const Status$outboundSchema: z.ZodNativeEnum; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace Status$ { /** @deprecated use `Status$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly Pending: "PENDING"; readonly Error: "ERROR"; readonly Confirmed: "CONFIRMED"; }>; /** @deprecated use `Status$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly Pending: "PENDING"; readonly Error: "ERROR"; readonly Confirmed: "CONFIRMED"; }>; } /** @internal */ export declare const CollectionFeature$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const CollectionFeature$outboundSchema: z.ZodNativeEnum; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace CollectionFeature$ { /** @deprecated use `CollectionFeature$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly ApproveForAll: "APPROVE_FOR_ALL"; readonly SetUriPrefix: "SET_URI_PREFIX"; readonly Burn: "BURN"; readonly MintWithAddress: "MINT_WITH_ADDRESS"; readonly SecondarySaleFees: "SECONDARY_SALE_FEES"; readonly MintAndTransfer: "MINT_AND_TRANSFER"; readonly Pausable: "PAUSABLE"; readonly NotForSale: "NOT_FOR_SALE"; }>; /** @deprecated use `CollectionFeature$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly ApproveForAll: "APPROVE_FOR_ALL"; readonly SetUriPrefix: "SET_URI_PREFIX"; readonly Burn: "BURN"; readonly MintWithAddress: "MINT_WITH_ADDRESS"; readonly SecondarySaleFees: "SECONDARY_SALE_FEES"; readonly MintAndTransfer: "MINT_AND_TRANSFER"; readonly Pausable: "PAUSABLE"; readonly NotForSale: "NOT_FOR_SALE"; }>; } /** @internal */ export declare const Collection$inboundSchema: z.ZodType; /** @internal */ export type Collection$Outbound = { id: string; parent?: string | undefined; blockchain: string; structure?: string | undefined; type: string; status?: string | undefined; name: string; symbol?: string | undefined; owner?: string | undefined; features: Array; minters?: Array | undefined; meta?: CollectionMeta$Outbound | undefined; bestBidOrder?: Order$Outbound | undefined; bestSellOrder?: Order$Outbound | undefined; bestBidOrdersByCurrency?: Array | undefined; originOrders?: Array | undefined; self?: boolean | undefined; scam: boolean; spamScore?: number | undefined; hasTraits: boolean; shared: boolean; extra?: { [k: string]: string; } | undefined; version?: number | undefined; }; /** @internal */ export declare const Collection$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace Collection$ { /** @deprecated use `Collection$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `Collection$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `Collection$Outbound` instead. */ type Outbound = Collection$Outbound; } export declare function collectionToJSON(collection: Collection): string; export declare function collectionFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=collection.d.ts.map