/// import { BigNumber } from "bignumber.js"; import { Context } from "./context"; import { Mining } from "./mining"; import { Fill, OrderInfo, Participation, RingPayments, TransferItem } from "./types"; export declare class Ring { participations: Participation[]; hash?: Buffer; minerFeesToOrdersPercentage?: number; valid: boolean; payments: RingPayments; private context; private orderUtil; private feeBalances; private detailTransferS; private detailTransferB; private detailTransferFee; constructor(context: Context, orders: OrderInfo[]); updateHash(): void; checkOrdersValid(): void; checkForSubRings(): void; calculateFillAmountAndFee(): Promise; checkFills(p: Participation): boolean; hasRoundingError(value: BigNumber, numerator: BigNumber, denominator: BigNumber): boolean; setMaxFillAmounts(p: Participation): Promise; calculateFees(p: Participation, prevP: Participation): Promise; generateFills(): Fill[]; adjustOrderState(p: Participation): void; adjustOrderStates(): void; revertOrderStats(): void; doPayments(mining: Mining, feeBalances: { [id: string]: any; }): Promise; private transferTokens(mining); private addTokenTransfer(transferItems, token, from, to, amount); private payFees(mining); private payFeesAndBurn(mining, p, token, totalAmount, walletSplitPercentage, payment, feePercentage?); private addFeePayment(token, to, amount); private resize(i, smallest); private validateSettlement(mining, transfers); private assertAlmostEqual(n1, n2, description, precision?); private logPayment(parent, token, from, to, amount, description?); }