import type { ClobSigner } from "../signer.ts"; import type { EIP712TypedData } from "./model/eip712.model.ts"; import type { Order, OrderData, OrderHash, OrderSignature, SignedOrder } from "./model/order.model.ts"; import { generateOrderSalt } from "./utils.ts"; export declare class ExchangeOrderBuilder { private readonly contractAddress; private readonly chainId; private readonly signer; private readonly generateSalt; constructor(contractAddress: string, chainId: number, signer: ClobSigner, generateSalt?: typeof generateOrderSalt); /** * Build an order object including the signature. */ buildSignedOrder(orderData: OrderData): Promise; /** * Creates an Order object from order data. */ buildOrder({ maker, taker, tokenId, makerAmount, takerAmount, side, feeRateBps, nonce, signer, expiration, signatureType, }: OrderData): Promise; /** * Parses an Order object to EIP712 typed data. */ buildOrderTypedData(order: Order): EIP712TypedData; /** * Generates order signature from EIP712 typed data. */ buildOrderSignature(typedData: EIP712TypedData): Promise; /** * Generates the hash of the order from EIP712 typed data. */ buildOrderHash(orderTypedData: EIP712TypedData): OrderHash; }