import type { EVMAddress, Address } from "@rarible/types"; import type { Ethereum, EthereumSendOptions } from "@rarible/ethereum-provider"; import type { Maybe } from "@rarible/types"; import type { SendFunction } from "../../common/send-transaction"; import type { SimpleOrder, SimpleRaribleV2Order } from "../types"; import type { GetConfigByChainId } from "../../config"; import type { OrderFillSendData, OrderHandler, PreparedOrderRequestDataForExchangeWrapper, RaribleV2OrderFillRequest } from "./types"; export declare class RaribleV2OrderHandler implements OrderHandler { private readonly ethereum; private readonly send; private readonly getConfig; private readonly getBaseFee; constructor(ethereum: Maybe, send: SendFunction, getConfig: GetConfigByChainId, getBaseFee: (type: SimpleOrder["type"]) => Promise); invert(request: RaribleV2OrderFillRequest, maker: Address | EVMAddress): Promise; private shouldUseV3; private shouldUseV3Simplified; getAssetToApprove(inverted: SimpleRaribleV2Order): Promise; approve(order: SimpleRaribleV2Order, infinite: boolean): Promise; getTransactionData(initial: SimpleRaribleV2Order, inverted: SimpleRaribleV2Order): Promise; getTransactionDataForExchangeWrapper(initial: SimpleRaribleV2Order, inverted: SimpleRaribleV2Order): Promise; fixForTx(order: SimpleRaribleV2Order): Promise; getMatchV2Options(left: SimpleRaribleV2Order, right: SimpleRaribleV2Order): Promise; getMakeAssetWithFee(order: SimpleRaribleV2Order): Promise; getOrderFee(order: SimpleRaribleV2Order): Promise; /** * Returns which base fee should be used when filling the order * If originFees are equal to zero, then protocol fee is not used, so will return 0 * If originFees not provided we are thinking that protocol fee will be taken */ getFillOrderBaseFee(_order: RaribleV2OrderFillRequest["order"], withOriginFees?: boolean): Promise; getBaseFeeByData(data: RaribleV2OrderFillRequest["order"]["data"]): Promise; }