declare const CHAINS: readonly ["STARKNET", "ETHEREUM", "SOLANA", "BASE", "STELLAR", "BITCOIN"]; type Chain = (typeof CHAINS)[number]; interface StarknetCoordinates { rpcUrl: string; marketplace721?: `0x${string}`; marketplace721ClassHash?: `0x${string}`; marketplace721StartBlock?: number; marketplace1155?: `0x${string}`; marketplace1155ClassHash?: `0x${string}`; marketplace1155StartBlock?: number; collection721?: `0x${string}`; collection721StartBlock?: number; dataTokenization721?: `0x${string}`; dataTokenization721StartBlock?: number; ipNftClassHash?: `0x${string}`; ipCollectionClassHash?: `0x${string}`; collection1155?: `0x${string}`; collection1155FactoryClassHash?: `0x${string}`; collection1155ClassHash?: `0x${string}`; collection1155StartBlock?: number; popFactory?: `0x${string}`; popCollectionClassHash?: `0x${string}`; dropFactory?: `0x${string}`; dropCollectionClassHash?: `0x${string}`; nftComments?: `0x${string}`; creatorCoinFactory?: `0x${string}`; creatorCoinEkuboLauncher?: `0x${string}`; creatorCoinClassHash?: `0x${string}`; creatorCoinFactoryClassHash?: `0x${string}`; creatorCoinStartBlock?: number; ekuboCore?: `0x${string}`; ipTicketsFactory?: `0x${string}`; ipTicketCollectionClassHash?: `0x${string}`; ipTicketsFactoryClassHash?: `0x${string}`; ipTicketsStartBlock?: number; ipClubFactory?: `0x${string}`; ipClubFactoryClassHash?: `0x${string}`; ipClubCollectionClassHash?: `0x${string}`; ipClubFactoryStartBlock?: number; ipSponsorship?: `0x${string}`; ipSponsorshipClassHash?: `0x${string}`; ipSponsorshipStartBlock?: number; mediaWalletClassHash?: `0x${string}`; genesisMintLaunch?: `0x${string}`; genesisMintBR?: `0x${string}`; genesisMintGlobal?: `0x${string}`; } interface EvmCoordinates { rpcUrl: string; marketplace721?: `0x${string}`; marketplace721StartBlock?: number; marketplace1155?: `0x${string}`; marketplace1155StartBlock?: number; mipRegistry?: `0x${string}`; mipRegistryStartBlock?: number; mipEditionsRegistry?: `0x${string}`; mipEditionsRegistryStartBlock?: number; } interface SolanaCoordinates { rpcUrl: string; mipCollectionsProgram?: string; marketplaceProgram?: string; startSlot?: number; } interface StellarCoordinates { rpcUrl: string; mipRegistry?: string; marketplace?: string; collectionWasmHash?: string; startLedger?: number; } interface CoordinatesByChain { STARKNET?: StarknetCoordinates; ETHEREUM?: EvmCoordinates; BASE?: EvmCoordinates; SOLANA?: SolanaCoordinates; STELLAR?: StellarCoordinates; BITCOIN?: never; } type ChainCoordinates = StarknetCoordinates; declare function getCoordinates(chain: "STARKNET"): StarknetCoordinates; declare function getCoordinates(chain: "ETHEREUM" | "BASE"): EvmCoordinates; declare function getCoordinates(chain: "SOLANA"): SolanaCoordinates; declare function getCoordinates(chain: "STELLAR"): StellarCoordinates; declare function getCoordinates(chain: Chain): StarknetCoordinates | EvmCoordinates | SolanaCoordinates | StellarCoordinates; declare const DEFAULT_CHAIN: Chain; declare function getStarknetCoordinates(chain: Chain): StarknetCoordinates; interface VenueSigner { readonly address: string; signTypedData(data: TypedData): Promise; execute(calls: Call[]): Promise<{ txHash: string; }>; } interface AssetRef { chain: Chain; contract: string; tokenId: string; } type OrderRef = string; interface RegisterOrderParams { asset: AssetRef; side: "listing" | "bid"; paymentToken: string; amount: string; quantity?: string; royaltyMaxBps: number; startTime: number; endTime: number; salt: string; } interface AdapterTxResult { txHash: string; } interface VenueAdapter { readonly chain: Chain; registerOrder(signer: Signer, params: RegisterOrderParams): Promise; fulfillOrder(signer: Signer, orderRef: OrderRef, opts?: { quantity?: string; } & Record): Promise; cancelOrder(signer: Signer, orderRef: OrderRef, opts?: Record): Promise; incrementCounter(signer: Signer): Promise; getOrderDetails(orderRef: OrderRef): Promise; getCounter(address: string): Promise; } interface CreateCollectionInput { name: string; symbol: string; baseUri: string; royaltyBps: number; } interface MintInput { collection: string; recipient: string; tokenUri: string; } interface IssuanceAdapter { readonly chain: Chain; createCollection(signer: Signer, params: CreateCollectionInput): Promise; mint(signer: Signer, params: MintInput): Promise; batchMint(signer: Signer, params: { collection: string; recipients: string[]; tokenUris: string[]; }): Promise; } export { type AdapterTxResult as A, type Chain as C, DEFAULT_CHAIN as D, type EvmCoordinates as E, type IssuanceAdapter as I, type MintInput as M, type OrderRef as O, type RegisterOrderParams as R, type SolanaCoordinates as S, type VenueAdapter as V, type AssetRef as a, CHAINS as b, type ChainCoordinates as c, type CoordinatesByChain as d, type CreateCollectionInput as e, type StarknetCoordinates as f, type StellarCoordinates as g, getCoordinates as h, getStarknetCoordinates as i, type VenueSigner as j };