/// import { BigNumber } from "bignumber.js"; import BN = require("bn.js"); import { Context } from "./context"; import { OrderInfo, TokenType } from "./types"; export declare class OrderUtil { private context; private zeroBytes32; constructor(context: Context); updateBrokerAndInterceptor(order: OrderInfo): Promise; validateInfo(order: OrderInfo): Promise; validateAllOrNone(order: OrderInfo): void; checkBrokerSignature(order: OrderInfo): Promise; checkDualAuthSignature(order: OrderInfo, miningHash: Buffer): void; toTypedData(order: OrderInfo): { types: { EIP712Domain: { name: string; type: string; }[]; Order: { name: string; type: string; }[]; }; primaryType: string; domain: { name: string; version: string; }; message: { amountS: BN; amountB: BN; feeAmount: BN; validSince: BN; validUntil: BN; owner: string; tokenS: string; tokenB: string; dualAuthAddr: string; broker: string; orderInterceptor: string; wallet: string; tokenRecipient: string; feeToken: string; walletSplitPercentage: number; tokenSFeePercentage: number; tokenBFeePercentage: number; allOrNone: boolean; tokenTypeS: TokenType; tokenTypeB: TokenType; tokenTypeFee: TokenType; trancheS: string; trancheB: string; transferDataS: string; }; }; toTypedDataJSON(order: OrderInfo): string; getOrderHash(order: OrderInfo): any; toOrderBookSubmitParams(orderInfo: OrderInfo): string; checkP2P(orderInfo: OrderInfo): void; getSpendableS(order: OrderInfo): Promise; getSpendableFee(order: OrderInfo): Promise; reserveAmountS(order: OrderInfo, amount: BigNumber): Promise; reserveAmountFee(order: OrderInfo, amount: BigNumber): Promise; resetReservations(order: OrderInfo): void; getERC20Spendable(spender: string, tokenAddress: string, owner: string): Promise; getBrokerAllowance(tokenAddr: string, owner: string, broker: string, brokerInterceptor: string): Promise; private getSpendable(token, owner, broker, brokerInterceptor, tokenSpendable, brokerSpendable); private toBN(n); }