import { R as ResolvedFeeConfig, S as ServiceDefinition, a as ServiceCapability } from './services-4Z16tkFa.js'; export { A as AcceptSponsorshipBidIntentParams, b as AcceptSponsorshipProposalIntentParams, c as ActivityType, d as ApiActivitiesQuery, e as ApiActivity, f as ApiActivityPrice, g as ApiAdminCollectionClaim, h as ApiAppSource, i as ApiBusinessProvisioning, j as ApiChain, k as ApiCheckoutIntentResult, l as ApiClient, m as ApiCoin, n as ApiCoinClaimResult, o as ApiCoinPrice, p as ApiCoinPrices, q as ApiCoinsQuery, r as ApiCollection, s as ApiCollectionClaim, t as ApiCollectionProfile, u as ApiCollectionSlugClaim, v as ApiCollectionsQuery, w as ApiComment, x as ApiCounterOffersQuery, y as ApiCreatorListResult, z as ApiCreatorProfile, B as ApiCreditPayment, C as ApiEmissionCall, D as ApiEmissionResult, E as ApiIntent, F as ApiIntentCreated, G as ApiKeyStatus, H as ApiMeta, I as ApiMetadataSignedUrl, J as ApiMetadataUpload, K as ApiOrder, L as ApiOrderConsideration, M as ApiOrderOffer, N as ApiOrderPrice, O as ApiOrderTokenMeta, P as ApiOrderTxHash, Q as ApiOrdersQuery, T as ApiPointEvent, U as ApiPortalKey, V as ApiPortalKeyCreated, W as ApiPortalMe, X as ApiPortalSpend, Y as ApiPublicRemix, Z as ApiRemixOffer, _ as ApiRemixOfferPrice, $ as ApiRemixOffersQuery, a0 as ApiResponse, a1 as ApiRewardsBadge, a2 as ApiRewardsBatchEntry, a3 as ApiRewardsConfig, a4 as ApiRewardsLeaderboardEntry, a5 as ApiRewardsLevel, a6 as ApiSearchCollectionResult, a7 as ApiSearchCreatorResult, a8 as ApiSearchResult, a9 as ApiSearchTokenResult, aa as ApiSpendByAction, ab as ApiToken, ac as ApiTokenBalance, ad as ApiTokenMetadata, ae as ApiTxSyncResult, af as ApiUserRewards, ag as ApiUserWallet, ah as ApiWalletActivity, ai as ApiWebhookCreated, aj as ApiWebhookEndpoint, ak as AutoRemixOfferParams, al as CancelOrderIntentParams, am as ChainFilter, an as CheckoutIntentItem, ao as ClaimConditions, ap as CollectionServiceId, aq as CollectionSort, ar as CollectionTokensSort, as as ConfirmRemixOfferParams, at as ConfirmSelfRemixParams, au as ConsiderationItem, av as CreateCheckoutIntentParams, aw as CreateCoinIntentParams, ax as CreateCollectionIntentParams, ay as CreateCounterOfferIntentParams, az as CreateDropParams, aA as CreateListingIntentParams, aB as CreateMembershipParams, aC as CreateMintIntentParams, aD as CreatePopCollectionParams, aE as CreateRemixOfferParams, aF as CreateSponsorshipOfferIntentParams, aG as CreateSponsorshipOfferParams, aH as CreateSponsorshipProposalIntentParams, aI as CreateTicketParams, aJ as CreateTierIntentParams, aK as CreateWebhookParams, aL as DropMintStatus, aM as EmissionParams, aN as EnforcementDeclaration, aO as FactoryFamilyServiceId, aP as FeeConfig, aQ as FeeConfigSchema, aR as FulfillOrderIntentParams, aS as IPType, aT as IntentCall, aU as IntentStatus, aV as IntentType, aW as IpAttribute, aX as IpNftMetadata, aY as LaunchCoinIntentParams, aZ as MakeOfferIntentParams, a_ as MedialaneApiError, a$ as MedialaneConfig, b0 as MedialaneErrorCode, b1 as MintMembershipsParams, b2 as MintTicketsParams, b3 as OPEN_LICENSES, b4 as OfferItem, b5 as OpenLicense, b6 as Order, b7 as OrderDetails, b8 as OrderParameters, b9 as OrderStatus, ba as PlaceSponsorshipBidIntentParams, bb as PopBatchEligibilityItem, bc as PopClaimStatus, bd as PopEventType, be as ProposeSponsorshipParams, bf as RejectSponsorshipProposalIntentParams, bg as RemixOfferStatus, bh as ResolvedConfig, bi as RetractSponsorshipBidIntentParams, bj as RetryOptions, bk as ServiceEventDeclaration, bl as SetSponsorshipOfferOpenIntentParams, bm as SortOrder, bn as TenantPlan, bo as TierServiceId, bp as TxResult, bq as UpdateCollectionProfileInput, br as WebhookEventType, bs as WebhookStatus, bt as WithdrawSponsorshipProposalIntentParams, bu as resolveConfig, bv as resolveFeeConfig } from './services-4Z16tkFa.js'; import { C as Chain } from './types-CuSlc_YE.js'; export { A as AdapterTxResult, a as AssetRef, b as CHAINS, c as ChainCoordinates, d as CoordinatesByChain, e as CreateCollectionInput, D as DEFAULT_CHAIN, E as EvmCoordinates, I as IssuanceAdapter, M as MintInput, O as OrderRef, R as RegisterOrderParams, S as SolanaCoordinates, f as StarknetCoordinates, g as StellarCoordinates, V as VenueAdapter, h as getCoordinates, i as getStarknetCoordinates } from './types-CuSlc_YE.js'; import 'zod'; interface FeeEnv { NEXT_PUBLIC_FEE_ENABLED?: string; NEXT_PUBLIC_FEE_FUND_ADDRESS?: string; NEXT_PUBLIC_FEE_MARKETPLACE_BPS?: string; NEXT_PUBLIC_FEE_LAUNCHPAD_BPS?: string; } declare function resolveAppFeeConfig(env?: FeeEnv): ResolvedFeeConfig; declare const STARKNET_MARKETPLACE_721_CONTRACT: `0x${string}`; declare const STARKNET_MARKETPLACE_721_CLASS_HASH: `0x${string}`; declare const STARKNET_MARKETPLACE_721_START_BLOCK: number; declare const STARKNET_MARKETPLACE_1155_CONTRACT: `0x${string}`; declare const STARKNET_MARKETPLACE_1155_CLASS_HASH: `0x${string}`; declare const STARKNET_MARKETPLACE_1155_START_BLOCK: number; declare const STARKNET_COLLECTION_721_CONTRACT: `0x${string}`; declare const STARKNET_DATA_TOKENIZATION_721_CONTRACT: `0x${string}`; declare const STARKNET_COLLECTION_721_START_BLOCK: number; declare const STARKNET_IPNFT_CLASS_HASH: `0x${string}`; declare const STARKNET_IPCOLLECTION_CLASS_HASH: `0x${string}`; declare const STARKNET_COLLECTION_1155_CONTRACT: `0x${string}`; declare const STARKNET_COLLECTION_1155_FACTORY_CLASS_HASH: `0x${string}`; declare const STARKNET_COLLECTION_1155_CLASS_HASH: `0x${string}`; declare const STARKNET_COLLECTION_1155_START_BLOCK: number; declare const STARKNET_POP_FACTORY_CONTRACT: `0x${string}`; declare const STARKNET_POP_COLLECTION_CLASS_HASH: `0x${string}`; declare const STARKNET_DROP_FACTORY_CONTRACT: `0x${string}`; declare const STARKNET_DROP_COLLECTION_CLASS_HASH: `0x${string}`; declare const STARKNET_NFTCOMMENTS_CONTRACT: `0x${string}`; declare const STARKNET_IP_TICKETS_FACTORY_CONTRACT: `0x${string}`; declare const STARKNET_IP_TICKET_COLLECTION_CLASS_HASH: `0x${string}`; declare const STARKNET_IP_CLUB_FACTORY_CONTRACT: `0x${string}`; declare const STARKNET_IP_CLUB_COLLECTION_CLASS_HASH: `0x${string}`; declare const STARKNET_IP_SPONSORSHIP_CONTRACT: `0x${string}`; declare const STARKNET_IP_SPONSORSHIP_CLASS_HASH: `0x${string}`; declare const STARKNET_CREATOR_COIN_FACTORY_CONTRACT: `0x${string}`; declare const STARKNET_CREATOR_COIN_EKUBO_LAUNCHER: `0x${string}`; declare const STARKNET_CREATOR_COIN_CLASS_HASH: `0x${string}`; declare const STARKNET_CREATOR_COIN_FACTORY_CLASS_HASH: `0x${string}`; declare const STARKNET_CREATOR_COIN_START_BLOCK: number; declare const STARKNET_GENESIS_MINT_LAUNCH_CONTRACT: `0x${string}`; declare const STARKNET_GENESIS_MINT_BR_CONTRACT: `0x${string}`; declare const STARKNET_GENESIS_MINT_GLOBAL_CONTRACT: `0x${string}`; declare const STARKNET_EKUBO_CORE: `0x${string}`; declare const SUPPORTED_TOKENS: readonly [{ readonly symbol: "USDC"; readonly address: "0x033068f6539f8e6e6b131e6b2b814e6c34a5224bc66947c47dab9dfee93b35fb"; readonly decimals: 6; readonly listable: true; }, { readonly symbol: "USDT"; readonly address: "0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8"; readonly decimals: 6; readonly listable: true; }, { readonly symbol: "ETH"; readonly address: "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"; readonly decimals: 18; readonly listable: true; }, { readonly symbol: "STRK"; readonly address: "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d"; readonly decimals: 18; readonly listable: true; }, { readonly symbol: "WBTC"; readonly address: "0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac"; readonly decimals: 8; readonly listable: true; }]; type SupportedTokenSymbol = (typeof SUPPORTED_TOKENS)[number]["symbol"]; declare const DEFAULT_CURRENCY: SupportedTokenSymbol; declare const SUPPORTED_URL_CHAINS: readonly ["STARKNET"]; declare function chainSlug(chain: Chain): string; declare function chainFromSlug(slug: string): Chain | null; type Idish = string | number | null | undefined; declare function assetHref(chain: Chain, contract: Idish, tokenId: Idish): string; declare function collectionHref(chain: Chain, contract: Idish): string; declare function coinHref(chain: Chain, address: Idish): string; declare const SERVICES: { readonly "mip-erc721": { readonly id: "mip-erc721"; readonly displayName: "IP Collection"; readonly description: "Tokenize intellectual property as a per-creator ERC-721 collection."; readonly standard: "ERC721"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly startBlock: number; }; }; readonly uiVariant: "standard"; readonly capabilities: ["list", "buy", "make_offer", "cancel", "transfer", "mint", "remix", "license"]; readonly events: [{ readonly name: "CollectionCreated"; readonly emittedBy: "factory"; }]; readonly metadataSchema: { readonly licenseDefault: "CC BY-SA"; }; }; readonly "ip-erc721": { readonly id: "ip-erc721"; readonly displayName: "Programmable IP"; readonly description: "One shared ERC-721 contract any wallet can mint into."; readonly standard: "ERC721"; readonly provenance: "MEDIALANE"; readonly uiVariant: "standard"; readonly capabilities: ["list", "buy", "make_offer", "cancel", "transfer", "mint", "remix", "license"]; readonly metadataSchema: { readonly licenseDefault: "CC BY-SA"; }; }; readonly "data-tokenization-erc721": { readonly id: "data-tokenization-erc721"; readonly displayName: "Data Tokenization"; readonly description: "Establish verifiable ownership of your data, with licensing terms that hold up wherever it travels."; readonly standard: "ERC721"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly startBlock: number; }; }; readonly uiVariant: "standard"; readonly capabilities: ["list", "buy", "make_offer", "cancel", "transfer", "mint", "remix", "license"]; readonly events: [{ readonly name: "CollectionCreated"; readonly emittedBy: "factory"; }]; readonly metadataSchema: { readonly licenseDefault: "CC BY-SA"; }; }; readonly "mip-erc1155": { readonly id: "mip-erc1155"; readonly displayName: "NFT Editions"; readonly description: "Per-creator ERC-1155 collection; creator mints editions."; readonly standard: "ERC1155"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly classHash: `0x${string}`; readonly startBlock: number; }; }; readonly uiVariant: "edition"; readonly capabilities: ["list", "buy", "make_offer", "cancel", "transfer", "mint", "remix", "license"]; readonly events: [{ readonly name: "CollectionDeployed"; readonly emittedBy: "factory"; }]; readonly metadataSchema: { readonly licenseDefault: "CC BY-SA"; }; }; readonly "pop-protocol": { readonly id: "pop-protocol"; readonly displayName: "POP Protocol"; readonly description: "Soulbound proof-of-presence collectibles per event."; readonly standard: "ERC721"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly classHash: `0x${string}`; }; }; readonly uiVariant: "pop"; readonly capabilities: ["claim", "mint"]; readonly events: [{ readonly name: "CollectionCreated"; readonly emittedBy: "factory"; }, { readonly name: "AllowlistUpdated"; readonly emittedBy: "instance"; readonly poll: "slow"; }]; readonly metadataSchema: { readonly licenseDefault: "CC BY-SA"; }; }; readonly "drop-collection": { readonly id: "drop-collection"; readonly displayName: "Collection Drop"; readonly description: "Sequential mint with claim windows + allowlist."; readonly standard: "ERC721"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly classHash: `0x${string}`; }; }; readonly uiVariant: "drop"; readonly capabilities: ["claim", "list", "buy", "make_offer", "cancel", "transfer"]; readonly events: [{ readonly name: "DropCreated"; readonly emittedBy: "factory"; }, { readonly name: "AllowlistUpdated"; readonly emittedBy: "instance"; readonly poll: "slow"; }]; readonly metadataSchema: { readonly licenseDefault: "CC BY-SA"; }; }; readonly "ip-tickets": { readonly id: "ip-tickets"; readonly displayName: "IP Tickets"; readonly description: "Create verifiable on-chain tickets — mint to attendees, trade like any collection."; readonly standard: "ERC1155"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly classHash: `0x${string}`; }; }; readonly uiVariant: "ticket"; readonly capabilities: ["mint", "redeem", "list", "buy", "make_offer", "cancel", "transfer"]; readonly events: [{ readonly name: "CollectionDeployed"; readonly emittedBy: "factory"; }, { readonly name: "TicketCreated"; readonly emittedBy: "instance"; }]; readonly metadataSchema: { readonly licenseDefault: "CC BY-SA"; }; }; readonly "ip-ticketing": { readonly id: "ip-ticketing"; readonly displayName: "IP Ticketing"; readonly description: "Distribute verifiable on-chain tickets to a list of recipients in one run — everyone gets a wallet and their ticket."; readonly standard: "ERC1155"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly classHash: `0x${string}`; }; }; readonly uiVariant: "ticket"; readonly capabilities: ["mint", "airdrop", "redeem", "list", "buy", "make_offer", "cancel", "transfer"]; readonly events: [{ readonly name: "CollectionDeployed"; readonly emittedBy: "factory"; }, { readonly name: "TicketCreated"; readonly emittedBy: "instance"; }]; readonly metadataSchema: { readonly licenseDefault: "CC BY-SA"; }; }; readonly "ip-club": { readonly id: "ip-club"; readonly displayName: "IP Club"; readonly description: "Membership clubs — create tiers, mint membership cards, trade like any collection."; readonly standard: "ERC1155"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly classHash: `0x${string}`; }; }; readonly uiVariant: "club"; readonly capabilities: ["mint", "list", "buy", "make_offer", "cancel", "transfer"]; readonly events: [{ readonly name: "ClubDeployed"; readonly emittedBy: "factory"; }, { readonly name: "MembershipCreated"; readonly emittedBy: "instance"; }]; readonly metadataSchema: { readonly licenseDefault: "CC BY-SA"; }; }; readonly "ip-sponsorship": { readonly id: "ip-sponsorship"; readonly displayName: "IP Sponsorship"; readonly description: "Sponsorship offers and licenses anchored to an existing Medialane asset."; readonly standard: "ERC721"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly classHash: `0x${string}`; readonly startBlock: number; }; }; readonly uiVariant: "standard"; readonly capabilities: ["sponsor", "transfer"]; readonly events: [{ readonly name: "OfferCreated"; readonly emittedBy: "factory"; }, { readonly name: "ProposalCreated"; readonly emittedBy: "factory"; }, { readonly name: "LicenseMinted"; readonly emittedBy: "factory"; }]; readonly metadataSchema: { readonly licenseDefault: "CC BY-SA"; }; }; readonly "creator-coin": { readonly id: "creator-coin"; readonly displayName: "Creator Coin"; readonly description: "Launch a fixed-supply social token with permanently-locked Ekubo liquidity."; readonly standard: "ERC20"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly classHash: `0x${string}`; readonly startBlock: number; }; }; readonly uiVariant: "coin"; readonly capabilities: ["launch", "swap", "transfer"]; readonly events: [{ readonly name: "CreatorCoinCreated"; readonly emittedBy: "factory"; }, { readonly name: "CreatorCoinLaunched"; readonly emittedBy: "factory"; }]; }; readonly "medialane-marketplace-erc721": { readonly id: "medialane-marketplace-erc721"; readonly displayName: "Medialane Marketplace (ERC-721)"; readonly description: "ERC-721 order matching venue."; readonly standard: "ERC721"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly classHash: `0x${string}`; readonly startBlock: number; }; }; readonly uiVariant: "standard"; readonly capabilities: ["list", "buy", "make_offer", "cancel"]; readonly events: [{ readonly name: "OrderCreated"; readonly emittedBy: "factory"; }, { readonly name: "OrderFulfilled"; readonly emittedBy: "factory"; }, { readonly name: "OrderCancelled"; readonly emittedBy: "factory"; }]; }; readonly "medialane-marketplace-erc1155": { readonly id: "medialane-marketplace-erc1155"; readonly displayName: "Medialane Marketplace (ERC-1155)"; readonly description: "ERC-1155 order matching venue."; readonly standard: "ERC1155"; readonly provenance: "MEDIALANE"; readonly onchain: { readonly STARKNET: { readonly factoryAddress: `0x${string}`; readonly classHash: `0x${string}`; readonly startBlock: number; }; }; readonly uiVariant: "edition"; readonly capabilities: ["list", "buy", "make_offer", "cancel"]; readonly events: [{ readonly name: "OrderCreated"; readonly emittedBy: "factory"; }, { readonly name: "OrderFulfilled"; readonly emittedBy: "factory"; }, { readonly name: "OrderCancelled"; readonly emittedBy: "factory"; }]; }; readonly "unruggable-erc20": { readonly id: "unruggable-erc20"; readonly displayName: "Unruggable"; readonly description: "An ERC-20 launched through the unruggable.meme protocol, the same contract Medialane's Creator Coin is forked from. Not deployed via a Medialane service, but exposes the same on-chain guarantees: capped team allocation, permanently locked liquidity, fixed supply. Brought in by owner claim or admin/partnership — never bulk-indexed."; readonly standard: "ERC20"; readonly provenance: "EXTERNAL"; readonly uiVariant: "coin"; readonly capabilities: ["swap", "transfer"]; }; readonly "external-erc20": { readonly id: "external-erc20"; readonly displayName: "Memecoin"; readonly description: "A plain ERC-20 not deployed via a Medialane service and carrying no protocol-level guarantees. Brought in by owner claim or admin/partnership — never bulk-indexed. Generalizes to future chains."; readonly standard: "ERC20"; readonly provenance: "EXTERNAL"; readonly uiVariant: "coin"; readonly capabilities: ["swap", "transfer"]; }; readonly "external-erc721": { readonly id: "external-erc721"; readonly displayName: "External ERC-721"; readonly description: "ERC-721 contract not deployed via a Medialane service."; readonly standard: "ERC721"; readonly provenance: "EXTERNAL"; readonly uiVariant: "standard"; readonly capabilities: ["list", "buy", "make_offer", "cancel", "transfer"]; }; readonly "external-erc1155": { readonly id: "external-erc1155"; readonly displayName: "External ERC-1155"; readonly description: "ERC-1155 contract not deployed via a Medialane service."; readonly standard: "ERC1155"; readonly provenance: "EXTERNAL"; readonly uiVariant: "edition"; readonly capabilities: ["list", "buy", "make_offer", "cancel", "transfer"]; }; }; type ServiceId = keyof typeof SERVICES; declare function isServiceId(id: string | null | undefined): id is ServiceId; declare function getService(id: string | null | undefined): ServiceDefinition | undefined; declare function listServices(): ServiceDefinition[]; declare function getServicesByCapability(cap: ServiceCapability): ServiceDefinition[]; declare function hasCapability(id: string | null | undefined, cap: ServiceCapability): boolean; declare function normalizeAddress(chain: Chain, address: string): string; declare const canonicalHashBrand: unique symbol; type CanonicalHash = string & { readonly [canonicalHashBrand]: true; }; declare function normalizeHash(hash: string): CanonicalHash; declare function shortenAddress(chain: Chain, address: string, chars?: number): string; type SupportedToken = (typeof SUPPORTED_TOKENS)[number]; declare function parseAmount(human: string, decimals: number): string; declare function formatAmount(raw: string, decimals: number): string; declare function getTokenByAddress(address: string | null | undefined): SupportedToken | undefined; declare function getTokenBySymbol(symbol: string | null | undefined): SupportedToken | undefined; declare function getListableTokens(): ReadonlyArray; declare function stringifyBigInts(obj: unknown): unknown; declare function u256ToBigInt(low: string, high: string): bigint; declare function encodeU256(n: bigint): [string, string]; declare const POLICY_REFUSAL_CODES: readonly number[]; declare function isPolicyRefusal(input: { body?: unknown; }): boolean; declare function isTransientRpcError(input: { status?: number; body?: unknown; }): boolean; interface FailoverFetchOptions { baseFetch?: typeof fetch; onFailover?: (info: { url: string; status?: number; error?: unknown; }) => void; } declare function createFailoverFetch(urls: string[], options?: FailoverFetchOptions): typeof fetch; interface RpcProxyConfig { backendUrl: string; apiKey: string | undefined; checkRateLimit: (ip: string) => boolean; fetchImpl?: typeof fetch; } declare function createRpcProxyHandler(config: RpcProxyConfig): (req: Request) => Promise; interface BackendProxyConfig { path: string; backendUrl: string; apiKey: string | undefined; checkRateLimit: (ip: string) => boolean; fetchImpl?: typeof fetch; forwardCookie?: { name: string; header: string; }; } declare function createBackendProxyHandler(config: BackendProxyConfig): (req: Request) => Promise; declare const ALLOWED_IMAGE_CONTENT_TYPES: Set; declare const MAX_IMAGE_REDIRECTS = 5; declare const MAX_IMAGE_PROXY_BYTES: number; declare function isPrivateHost(hostname: string): boolean; declare function validateUrl(raw: string, options?: { requireHttps?: boolean; }): { url: URL; } | { error: string; status: number; }; declare function isPrivateOrInsecureUrl(raw: string, requireHttps?: boolean): boolean; interface ImageProxyConfig { checkRateLimit: (ip: string) => boolean; resolveHostname: (hostname: string) => Promise; fetchImpl?: typeof fetch; userAgent?: string; } interface CappedBody { ok: boolean; body?: Uint8Array; error?: string; status?: number; } declare function readBodyWithCap(res: Response, maxBytes: number): Promise; declare function createImageProxyHandler(config: ImageProxyConfig): (req: Request) => Promise; interface BackendMetadataConfig { backendUrl: string; apiKey: string; fetchImpl?: typeof fetch; } interface BackendUploadResult { cid: string; uri: string; } declare function uploadJsonToBackend(config: BackendMetadataConfig, json: unknown): Promise; declare function uploadFileToBackend(config: BackendMetadataConfig, file: File): Promise; declare function uploadDirectoryToBackend(config: BackendMetadataConfig, files: { name: string; content: unknown; }[]): Promise<{ cid: string; baseUri: string; }>; declare function getBackendSignedUrl(config: BackendMetadataConfig, kind?: "image" | "document" | "media"): Promise; declare function createRateLimiter(windowMs: number, max: number): (key: string) => boolean; declare const TRUSTED_APP_IP_HEADER = "x-medialane-client-ip"; declare function requestIp(req: Request): string; declare function isSameOrigin(req: Request): boolean; declare const IDENTITY_TTL_SECONDS = 86400; declare const ACCOUNT_SESSION_TTL_SECONDS: number; interface SiwsIdentity { address: string; chain: Chain; } declare function issueSiwsToken(secret: string, chain: Chain, wallet: string, ttlSeconds?: number): string; declare function verifySiwsToken(secret: string, raw: string): SiwsIdentity | null; declare function issueAccountSessionToken(secret: string, accountId: string, ttlSeconds?: number): string; declare function verifyAccountSessionToken(secret: string, raw: string): string | null; type AssetAttribute = { trait_type: string; value: string; }; interface AssetMetadata { name: string; description: string; image: string | null; external_url: string; attributes: AssetAttribute[]; } interface BuildAssetMetadataInput { name: string; description?: string | null; externalUrl?: string | null; imageUri?: string | null; creator?: string | null; ipType?: string | null; licenseType?: string | null; commercialUse?: string | null; derivatives?: string | null; attribution?: string | null; geographicScope?: string | null; aiPolicy?: string | null; royalty?: string | null; edition?: string | null; templateTraits?: { traitType: string; value: string; }[]; registrationDate?: string; } declare const RESERVED_TRAITS: Set; declare function buildAssetMetadata(input: BuildAssetMetadataInput): AssetMetadata; type Attribute = { trait_type?: string; value?: string; }; declare function getDerivativesTerm(attributes: Attribute[] | null | undefined): "Allowed" | "Not Allowed" | null; interface RemixPolicyInput { parentNoDerivatives: boolean; viewerIsParentOwner: boolean; dealAvailable: boolean; } interface RemixPolicy extends RemixPolicyInput { canRemixDirect: boolean; showDealOption: boolean; } declare function resolveRemixPolicy(input: RemixPolicyInput): RemixPolicy; declare function isValidIpfsCidPath(cidPath: string): boolean; declare const IPFS_SAFE_CONTENT_TYPE_PREFIXES: readonly ["image/jpeg", "image/png", "image/gif", "image/webp", "image/avif", "image/svg+xml", "video/", "audio/", "model/", "font/", "application/json", "application/octet-stream"]; declare function resolveSafeImageContentType(contentType: string): string; declare const MAX_IPFS_GATEWAY_RESPONSE_BYTES: number; export { ACCOUNT_SESSION_TTL_SECONDS, ALLOWED_IMAGE_CONTENT_TYPES, type AssetAttribute, type AssetMetadata, type BackendMetadataConfig, type BackendProxyConfig, type BackendUploadResult, type BuildAssetMetadataInput, type CanonicalHash, type CappedBody, Chain, DEFAULT_CURRENCY, type FailoverFetchOptions, type FeeEnv, IDENTITY_TTL_SECONDS, IPFS_SAFE_CONTENT_TYPE_PREFIXES, type ImageProxyConfig, MAX_IMAGE_PROXY_BYTES, MAX_IMAGE_REDIRECTS, MAX_IPFS_GATEWAY_RESPONSE_BYTES, POLICY_REFUSAL_CODES, RESERVED_TRAITS, type RemixPolicy, type RemixPolicyInput, ResolvedFeeConfig, type RpcProxyConfig, STARKNET_COLLECTION_1155_CLASS_HASH, STARKNET_COLLECTION_1155_CONTRACT, STARKNET_COLLECTION_1155_FACTORY_CLASS_HASH, STARKNET_COLLECTION_1155_START_BLOCK, STARKNET_COLLECTION_721_CONTRACT, STARKNET_COLLECTION_721_START_BLOCK, STARKNET_CREATOR_COIN_CLASS_HASH, STARKNET_CREATOR_COIN_EKUBO_LAUNCHER, STARKNET_CREATOR_COIN_FACTORY_CLASS_HASH, STARKNET_CREATOR_COIN_FACTORY_CONTRACT, STARKNET_CREATOR_COIN_START_BLOCK, STARKNET_DATA_TOKENIZATION_721_CONTRACT, STARKNET_DROP_COLLECTION_CLASS_HASH, STARKNET_DROP_FACTORY_CONTRACT, STARKNET_EKUBO_CORE, STARKNET_GENESIS_MINT_BR_CONTRACT, STARKNET_GENESIS_MINT_GLOBAL_CONTRACT, STARKNET_GENESIS_MINT_LAUNCH_CONTRACT, STARKNET_IPCOLLECTION_CLASS_HASH, STARKNET_IPNFT_CLASS_HASH, STARKNET_IP_CLUB_COLLECTION_CLASS_HASH, STARKNET_IP_CLUB_FACTORY_CONTRACT, STARKNET_IP_SPONSORSHIP_CLASS_HASH, STARKNET_IP_SPONSORSHIP_CONTRACT, STARKNET_IP_TICKETS_FACTORY_CONTRACT, STARKNET_IP_TICKET_COLLECTION_CLASS_HASH, STARKNET_MARKETPLACE_1155_CLASS_HASH, STARKNET_MARKETPLACE_1155_CONTRACT, STARKNET_MARKETPLACE_1155_START_BLOCK, STARKNET_MARKETPLACE_721_CLASS_HASH, STARKNET_MARKETPLACE_721_CONTRACT, STARKNET_MARKETPLACE_721_START_BLOCK, STARKNET_NFTCOMMENTS_CONTRACT, STARKNET_POP_COLLECTION_CLASS_HASH, STARKNET_POP_FACTORY_CONTRACT, SUPPORTED_TOKENS, SUPPORTED_URL_CHAINS, ServiceCapability, ServiceDefinition, type ServiceId, type SiwsIdentity, type SupportedToken, type SupportedTokenSymbol, TRUSTED_APP_IP_HEADER, assetHref, buildAssetMetadata, chainFromSlug, chainSlug, coinHref, collectionHref, createBackendProxyHandler, createFailoverFetch, createImageProxyHandler, createRateLimiter, createRpcProxyHandler, encodeU256, formatAmount, getBackendSignedUrl, getDerivativesTerm, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, hasCapability, isPolicyRefusal, isPrivateHost, isPrivateOrInsecureUrl, isSameOrigin, isServiceId, isTransientRpcError, isValidIpfsCidPath, issueAccountSessionToken, issueSiwsToken, listServices, normalizeAddress, normalizeHash, parseAmount, readBodyWithCap, requestIp, resolveAppFeeConfig, resolveRemixPolicy, resolveSafeImageContentType, shortenAddress, stringifyBigInts, u256ToBigInt, uploadDirectoryToBackend, uploadFileToBackend, uploadJsonToBackend, validateUrl, verifyAccountSessionToken, verifySiwsToken };