import type { Chain, OpenSeaCollection, OpenSeaCollectionStats } from "../types"; import type { Fetcher } from "./fetcher"; import { type BatchCollectionsRequest, type CollectionBatchResponse, type CollectionFloorPricesArgs, type CollectionHoldersArgs, type CollectionHoldersPaginatedResponse, type CollectionOfferAggregatesPaginatedResponse, CollectionOrderByOption, type FloorPriceHistoryResponse, type GetCollectionsPaginatedResponse, type GetCollectionsResponse, type GetTopCollectionsArgs, type GetTraitsResponse, type GetTrendingCollectionsArgs, type PaginatedAnalyticsArgs } from "./types"; /** * Collection-related API operations */ export declare class CollectionsAPI { private fetcher; constructor(fetcher: Fetcher); /** * Fetch an OpenSea collection. */ getCollection(slug: string): Promise; /** * Fetch a list of OpenSea collections. */ getCollections(orderBy?: CollectionOrderByOption, chain?: Chain, creatorUsername?: string, includeHidden?: boolean, limit?: number, next?: string): Promise; /** * Fetch stats for an OpenSea collection. */ getCollectionStats(slug: string): Promise; /** * Fetch all traits for a collection with their possible values and counts. * * Opts out of response camelization: this payload is keyed by * collection-authored trait names and trait values rather than by field * names, so the default rewrite reports a `dark_brown` trait as `darkBrown` * and silently merges two traits that differ only in casing. The response's * own field names (`categories`, `counts`) are single words with nothing to * convert, so opting out is complete rather than a partial workaround. */ getTraits(collectionSlug: string): Promise; /** * Fetch trending collections sorted by sales activity. */ getTrendingCollections(args?: GetTrendingCollectionsArgs): Promise; /** * Fetch top collections ranked by various stats. */ getTopCollections(args?: GetTopCollectionsArgs): Promise; /** * Fetch multiple collections in a single request by slug. */ getCollectionsBatch(request: BatchCollectionsRequest): Promise; /** * Fetch aggregated offer information for a collection — top offers grouped * by price level. Useful for displaying offer-book depth. */ getCollectionOfferAggregates(slug: string, args?: PaginatedAnalyticsArgs): Promise; /** * Fetch holders of a collection, ranked by quantity owned. Optionally * filter to a single owner via `args.owned_by`. */ getCollectionHolders(slug: string, args?: CollectionHoldersArgs): Promise; /** * Fetch the floor-price history of a collection. */ getCollectionFloorPrices(slug: string, args?: CollectionFloorPricesArgs): Promise; }