import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common"; export declare namespace LibSeaPort { type OfferItemStruct = { itemType: PromiseOrValue; token: PromiseOrValue; identifierOrCriteria: PromiseOrValue; startAmount: PromiseOrValue; endAmount: PromiseOrValue; }; type OfferItemStructOutput = [ number, string, BigNumber, BigNumber, BigNumber ] & { itemType: number; token: string; identifierOrCriteria: BigNumber; startAmount: BigNumber; endAmount: BigNumber; }; type ConsiderationItemStruct = { itemType: PromiseOrValue; token: PromiseOrValue; identifierOrCriteria: PromiseOrValue; startAmount: PromiseOrValue; endAmount: PromiseOrValue; recipient: PromiseOrValue; }; type ConsiderationItemStructOutput = [ number, string, BigNumber, BigNumber, BigNumber, string ] & { itemType: number; token: string; identifierOrCriteria: BigNumber; startAmount: BigNumber; endAmount: BigNumber; recipient: string; }; type OrderParametersStruct = { offerer: PromiseOrValue; zone: PromiseOrValue; offer: LibSeaPort.OfferItemStruct[]; consideration: LibSeaPort.ConsiderationItemStruct[]; orderType: PromiseOrValue; startTime: PromiseOrValue; endTime: PromiseOrValue; zoneHash: PromiseOrValue; salt: PromiseOrValue; conduitKey: PromiseOrValue; totalOriginalConsiderationItems: PromiseOrValue; }; type OrderParametersStructOutput = [ string, string, LibSeaPort.OfferItemStructOutput[], LibSeaPort.ConsiderationItemStructOutput[], number, BigNumber, BigNumber, string, BigNumber, string, BigNumber ] & { offerer: string; zone: string; offer: LibSeaPort.OfferItemStructOutput[]; consideration: LibSeaPort.ConsiderationItemStructOutput[]; orderType: number; startTime: BigNumber; endTime: BigNumber; zoneHash: string; salt: BigNumber; conduitKey: string; totalOriginalConsiderationItems: BigNumber; }; type AdvancedOrderStruct = { parameters: LibSeaPort.OrderParametersStruct; numerator: PromiseOrValue; denominator: PromiseOrValue; signature: PromiseOrValue; extraData: PromiseOrValue; }; type AdvancedOrderStructOutput = [ LibSeaPort.OrderParametersStructOutput, BigNumber, BigNumber, string, string ] & { parameters: LibSeaPort.OrderParametersStructOutput; numerator: BigNumber; denominator: BigNumber; signature: string; extraData: string; }; type CriteriaResolverStruct = { orderIndex: PromiseOrValue; side: PromiseOrValue; index: PromiseOrValue; identifier: PromiseOrValue; criteriaProof: PromiseOrValue[]; }; type CriteriaResolverStructOutput = [ BigNumber, number, BigNumber, BigNumber, string[] ] & { orderIndex: BigNumber; side: number; index: BigNumber; identifier: BigNumber; criteriaProof: string[]; }; type FulfillmentComponentStruct = { orderIndex: PromiseOrValue; itemIndex: PromiseOrValue; }; type FulfillmentComponentStructOutput = [BigNumber, BigNumber] & { orderIndex: BigNumber; itemIndex: BigNumber; }; type ReceivedItemStruct = { itemType: PromiseOrValue; token: PromiseOrValue; identifier: PromiseOrValue; amount: PromiseOrValue; recipient: PromiseOrValue; }; type ReceivedItemStructOutput = [ number, string, BigNumber, BigNumber, string ] & { itemType: number; token: string; identifier: BigNumber; amount: BigNumber; recipient: string; }; type ExecutionStruct = { item: LibSeaPort.ReceivedItemStruct; offerer: PromiseOrValue; conduitKey: PromiseOrValue; }; type ExecutionStructOutput = [ LibSeaPort.ReceivedItemStructOutput, string, string ] & { item: LibSeaPort.ReceivedItemStructOutput; offerer: string; conduitKey: string; }; type AdditionalRecipientStruct = { amount: PromiseOrValue; recipient: PromiseOrValue; }; type AdditionalRecipientStructOutput = [BigNumber, string] & { amount: BigNumber; recipient: string; }; type BasicOrderParametersStruct = { considerationToken: PromiseOrValue; considerationIdentifier: PromiseOrValue; considerationAmount: PromiseOrValue; offerer: PromiseOrValue; zone: PromiseOrValue; offerToken: PromiseOrValue; offerIdentifier: PromiseOrValue; offerAmount: PromiseOrValue; basicOrderType: PromiseOrValue; startTime: PromiseOrValue; endTime: PromiseOrValue; zoneHash: PromiseOrValue; salt: PromiseOrValue; offererConduitKey: PromiseOrValue; fulfillerConduitKey: PromiseOrValue; totalOriginalAdditionalRecipients: PromiseOrValue; additionalRecipients: LibSeaPort.AdditionalRecipientStruct[]; signature: PromiseOrValue; }; type BasicOrderParametersStructOutput = [ string, BigNumber, BigNumber, string, string, string, BigNumber, BigNumber, number, BigNumber, BigNumber, string, BigNumber, string, string, BigNumber, LibSeaPort.AdditionalRecipientStructOutput[], string ] & { considerationToken: string; considerationIdentifier: BigNumber; considerationAmount: BigNumber; offerer: string; zone: string; offerToken: string; offerIdentifier: BigNumber; offerAmount: BigNumber; basicOrderType: number; startTime: BigNumber; endTime: BigNumber; zoneHash: string; salt: BigNumber; offererConduitKey: string; fulfillerConduitKey: string; totalOriginalAdditionalRecipients: BigNumber; additionalRecipients: LibSeaPort.AdditionalRecipientStructOutput[]; signature: string; }; } export interface ISeaPortInterface extends utils.Interface { functions: { "fulfillAdvancedOrder(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes),(uint256,uint8,uint256,uint256,bytes32[])[],bytes32,address)": FunctionFragment; "fulfillAvailableAdvancedOrders(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes)[],(uint256,uint8,uint256,uint256,bytes32[])[],(uint256,uint256)[][],(uint256,uint256)[][],bytes32,address,uint256)": FunctionFragment; "fulfillBasicOrder((address,uint256,uint256,address,address,address,uint256,uint256,uint8,uint256,uint256,bytes32,uint256,bytes32,bytes32,uint256,(uint256,address)[],bytes))": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "fulfillAdvancedOrder" | "fulfillAvailableAdvancedOrders" | "fulfillBasicOrder"): FunctionFragment; encodeFunctionData(functionFragment: "fulfillAdvancedOrder", values: [ LibSeaPort.AdvancedOrderStruct, LibSeaPort.CriteriaResolverStruct[], PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "fulfillAvailableAdvancedOrders", values: [ LibSeaPort.AdvancedOrderStruct[], LibSeaPort.CriteriaResolverStruct[], LibSeaPort.FulfillmentComponentStruct[][], LibSeaPort.FulfillmentComponentStruct[][], PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "fulfillBasicOrder", values: [LibSeaPort.BasicOrderParametersStruct]): string; decodeFunctionResult(functionFragment: "fulfillAdvancedOrder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fulfillAvailableAdvancedOrders", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fulfillBasicOrder", data: BytesLike): Result; events: {}; } export interface ISeaPort extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ISeaPortInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { fulfillAdvancedOrder(advancedOrder: LibSeaPort.AdvancedOrderStruct, criteriaResolvers: LibSeaPort.CriteriaResolverStruct[], fulfillerConduitKey: PromiseOrValue, recipient: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; fulfillAvailableAdvancedOrders(advancedOrders: LibSeaPort.AdvancedOrderStruct[], criteriaResolvers: LibSeaPort.CriteriaResolverStruct[], offerFulfillments: LibSeaPort.FulfillmentComponentStruct[][], considerationFulfillments: LibSeaPort.FulfillmentComponentStruct[][], fulfillerConduitKey: PromiseOrValue, recipient: PromiseOrValue, maximumFulfilled: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; fulfillBasicOrder(parameters: LibSeaPort.BasicOrderParametersStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; }; fulfillAdvancedOrder(advancedOrder: LibSeaPort.AdvancedOrderStruct, criteriaResolvers: LibSeaPort.CriteriaResolverStruct[], fulfillerConduitKey: PromiseOrValue, recipient: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; fulfillAvailableAdvancedOrders(advancedOrders: LibSeaPort.AdvancedOrderStruct[], criteriaResolvers: LibSeaPort.CriteriaResolverStruct[], offerFulfillments: LibSeaPort.FulfillmentComponentStruct[][], considerationFulfillments: LibSeaPort.FulfillmentComponentStruct[][], fulfillerConduitKey: PromiseOrValue, recipient: PromiseOrValue, maximumFulfilled: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; fulfillBasicOrder(parameters: LibSeaPort.BasicOrderParametersStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; callStatic: { fulfillAdvancedOrder(advancedOrder: LibSeaPort.AdvancedOrderStruct, criteriaResolvers: LibSeaPort.CriteriaResolverStruct[], fulfillerConduitKey: PromiseOrValue, recipient: PromiseOrValue, overrides?: CallOverrides): Promise; fulfillAvailableAdvancedOrders(advancedOrders: LibSeaPort.AdvancedOrderStruct[], criteriaResolvers: LibSeaPort.CriteriaResolverStruct[], offerFulfillments: LibSeaPort.FulfillmentComponentStruct[][], considerationFulfillments: LibSeaPort.FulfillmentComponentStruct[][], fulfillerConduitKey: PromiseOrValue, recipient: PromiseOrValue, maximumFulfilled: PromiseOrValue, overrides?: CallOverrides): Promise<[ boolean[], LibSeaPort.ExecutionStructOutput[] ] & { availableOrders: boolean[]; executions: LibSeaPort.ExecutionStructOutput[]; }>; fulfillBasicOrder(parameters: LibSeaPort.BasicOrderParametersStruct, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { fulfillAdvancedOrder(advancedOrder: LibSeaPort.AdvancedOrderStruct, criteriaResolvers: LibSeaPort.CriteriaResolverStruct[], fulfillerConduitKey: PromiseOrValue, recipient: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; fulfillAvailableAdvancedOrders(advancedOrders: LibSeaPort.AdvancedOrderStruct[], criteriaResolvers: LibSeaPort.CriteriaResolverStruct[], offerFulfillments: LibSeaPort.FulfillmentComponentStruct[][], considerationFulfillments: LibSeaPort.FulfillmentComponentStruct[][], fulfillerConduitKey: PromiseOrValue, recipient: PromiseOrValue, maximumFulfilled: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; fulfillBasicOrder(parameters: LibSeaPort.BasicOrderParametersStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { fulfillAdvancedOrder(advancedOrder: LibSeaPort.AdvancedOrderStruct, criteriaResolvers: LibSeaPort.CriteriaResolverStruct[], fulfillerConduitKey: PromiseOrValue, recipient: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; fulfillAvailableAdvancedOrders(advancedOrders: LibSeaPort.AdvancedOrderStruct[], criteriaResolvers: LibSeaPort.CriteriaResolverStruct[], offerFulfillments: LibSeaPort.FulfillmentComponentStruct[][], considerationFulfillments: LibSeaPort.FulfillmentComponentStruct[][], fulfillerConduitKey: PromiseOrValue, recipient: PromiseOrValue, maximumFulfilled: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; fulfillBasicOrder(parameters: LibSeaPort.BasicOrderParametersStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; }; }