import type { Erc20AssetType, EthAssetType, Order, OrderForm } from "@rarible/ethereum-api-client"; import type { EthereumTransaction } from "@rarible/ethereum-provider"; 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 BidRequest = { makeAssetType: EthAssetType | Erc20AssetType; amount: number; takeAssetType: AssetTypeRequest; } & HasPrice & OrderRequest; export type BidOrderOrderStageId = "approve" | "sign"; export interface IBidResult { approveTx: EthereumTransaction | undefined; order: Order; } export type BidOrderAction = Action; export type BidUpdateRequest = HasOrder & HasPrice & { end?: number; }; export type BidUpdateOrderAction = Action; export declare class OrderBid { private readonly upserter; private readonly checkAssetType; constructor(upserter: UpsertOrder, checkAssetType: (asset: AssetTypeRequest) => Promise); readonly bid: BidOrderAction; readonly update: BidUpdateOrderAction; private getBidForm; prepareOrderUpdateForm(order: SimpleOrder, request: BidUpdateRequest, price: BigNumberValue): Promise; }