import type { Ethereum, EthereumContract } from "@rarible/ethereum-provider"; import type { BigNumberValue } from "@rarible/utils"; import type { BigNumber } from "@rarible/utils"; import type { SimpleSeaportV1Order } from "../../types"; import type { SendFunction } from "../../../common/send-transaction"; import type { BalancesAndApprovals } from "./balance-and-approval-check"; import type { Order } from "./types"; import type { ConsiderationItem } from "./types"; import type { InputCriteria, TipInputItem } from "./types"; import type { TimeBasedItemParams } from "./item"; export declare function getSeaportContract(ethereum: Ethereum, protocol: string): EthereumContract; export declare function fulfillOrder(ethereum: Ethereum, send: SendFunction, simpleOrder: SimpleSeaportV1Order, { tips, unitsToFill, disableCheckingBalances, disableApprove, }: { tips?: TipInputItem[]; unitsToFill?: BigNumberValue; disableCheckingBalances?: boolean; disableApprove?: boolean; }): Promise; export declare function approveBeforeBasicFulfillOrder({ ethereum, send, order, tips, offererBalancesAndApprovals, fulfillerBalancesAndApprovals, timeBasedItemParams, offererOperator, fulfillerOperator, disableCheckingBalances, }: { ethereum: Ethereum; send: SendFunction; order: Order; tips: ConsiderationItem[]; offererBalancesAndApprovals: BalancesAndApprovals; fulfillerBalancesAndApprovals: BalancesAndApprovals; timeBasedItemParams: TimeBasedItemParams; offererOperator: string; fulfillerOperator: string; disableCheckingBalances?: boolean; }): Promise; export declare function approveBeforeStandardFulfillOrder({ ethereum, send, order, tips, offererBalancesAndApprovals, fulfillerBalancesAndApprovals, timeBasedItemParams, offererOperator, fulfillerOperator, unitsToFill, totalSize, totalFilled, offerCriteria, considerationCriteria, disableCheckingBalances, }: { ethereum: Ethereum; send: SendFunction; order: Order; tips: ConsiderationItem[]; offererBalancesAndApprovals: BalancesAndApprovals; fulfillerBalancesAndApprovals: BalancesAndApprovals; timeBasedItemParams: TimeBasedItemParams; offererOperator: string; fulfillerOperator: string; unitsToFill?: BigNumberValue; totalFilled: BigNumber; totalSize: BigNumber; offerCriteria: InputCriteria[]; considerationCriteria: InputCriteria[]; disableCheckingBalances?: boolean; }): Promise;