/** * Viem entry point for the OpenSea SDK. * * @example * ```ts * import { createPublicClient, createWalletClient, http } from 'viem' * import { mainnet } from 'viem/chains' * import { OpenSeaSDK, Chain } from '@opensea/sdk/viem' * * const publicClient = createPublicClient({ chain: mainnet, transport: http() }) * const walletClient = createWalletClient({ chain: mainnet, transport: http(), account: '0x...' }) * * const sdk = new OpenSeaSDK( * { publicClient, walletClient }, * { chain: Chain.Mainnet, apiKey: 'YOUR_API_KEY' }, * ) * ``` */ import { type ViemAdapterParams } from "./provider/viem-adapter"; import { BaseOpenSeaSDK } from "./sdk/base"; import { type OpenSeaAPIConfig } from "./types"; export { OpenSeaAPI } from "./api/api"; export * from "./api/types"; export * from "./api/walletAuth"; export * from "./auth"; export * from "./constants"; export * from "./orders/types"; export type { ContractCaller, OpenSeaProvider, OpenSeaSigner, OpenSeaWallet, TransactionResponse, } from "./provider/types"; export * from "./types"; export * from "./utils"; /** * OpenSea SDK for use with viem. * * Accepts viem `PublicClient` and optional `WalletClient` instead of ethers types. * The public API surface is identical to the ethers entry point. * * @category Main Classes */ export declare class OpenSeaSDK extends BaseOpenSeaSDK { /** * Create a new instance of OpenSeaSDK using viem clients. * @param viemClients The viem PublicClient and optional WalletClient * @param apiConfig Configuration options, including `chain` * @param logger Optional function for logging debug strings */ constructor(viemClients: ViemAdapterParams, apiConfig?: OpenSeaAPIConfig, logger?: (arg: string) => void); }