import { Address, Hash, Hex, PublicClient } from 'viem'; import { Wallet } from '../../clients/contracts'; import { seaportABI } from '../../generated/blockchain/seaport'; import { BaseContract } from './BaseContract'; interface OfferItem { itemType: number; token: Address; identifierOrCriteria: bigint; startAmount: bigint; endAmount: bigint; } interface ConsiderationItem extends OfferItem { recipient: Address; } interface OrderParameters { offerer: Address; zone: Address; offer: OfferItem[]; consideration: ConsiderationItem[]; orderType: number; startTime: bigint; endTime: bigint; zoneHash: Hash; salt: bigint; conduitKey: Hash; counter: bigint; totalOriginalConsiderationItems: bigint; } interface AdvancedOrder { parameters: OrderParameters; numerator: bigint; denominator: bigint; signature: Hex; extraData: Hex; } export declare class Seaport extends BaseContract { constructor({ walletClient, publicClient, }: { walletClient: Wallet; publicClient?: PublicClient; }); fulfillAdvancedOrder({ advancedOrder, value }: { advancedOrder: AdvancedOrder; value: bigint; }): Promise<`0x${string}`>; } export {};