import type { Erc20AssetType, EthAssetType, Order, OrderForm } from "@rarible/ethereum-api-client"; import type { BigNumberValue } from "@rarible/utils"; import { Action } from "@rarible/action"; import type { HasOrder, HasPrice, OrderRequest, UpsertOrder } from "./upsert-order"; import type { AssetTypeRequest, AssetTypeResponse } from "./check-asset-type"; import type { SimpleOrder } from "./types"; export type SellRequest = { makeAssetType: AssetTypeRequest; amount: number; takeAssetType: EthAssetType | Erc20AssetType; } & HasPrice & OrderRequest; export type SellOrderStageId = "approve" | "sign"; export type SellOrderAction = Action; export type SellUpdateRequest = HasOrder & HasPrice & { end?: number; }; export type SellOrderUpdateAction = Action; export declare class OrderSell { private readonly upserter; private readonly checkAssetType; constructor(upserter: UpsertOrder, checkAssetType: (asset: AssetTypeRequest) => Promise); readonly sell: SellOrderAction; private getSellForm; readonly update: SellOrderUpdateAction; prepareOrderUpdateForm(order: SimpleOrder, request: SellUpdateRequest, price: BigNumberValue): Promise; }