import { FixedInt } from "fpnum"; import { FundingCycleWeight, ReservedRate } from "./data"; /** * Return a quote for token mints for a given [payAmount]. * Returned quote contains: * - total tokens that will be minted (JB funding cycle `weight`). * - tokens reserved for project. * - tokens minted for the payer. */ export declare const getTokenAToBQuote: (tokenAAmount: FixedInt, cycleParams: { weight: FundingCycleWeight; reservedRate: ReservedRate; }) => { tokenAAmount: FixedInt; payerTokens: bigint; reservedTokens: bigint; totalTokens: bigint; }; /** * Return the amount of Token A it costs to buy 1 Token B. */ export declare const getTokenBPrice: (tokenADecimals: number, cycleParams: { weight: FundingCycleWeight; reservedRate: ReservedRate; }) => FixedInt; /** * Return the ETH cost to mint a given [tokensAmount] to the payer. * @param tokensAmount * @param cycleParams * @returns */ export declare const getTokenBtoAQuote: (tokenBAmount: FixedInt, tokenADecimals: number, cycleParams: { weight: FundingCycleWeight; reservedRate: ReservedRate; }) => FixedInt; /** * Returns the ETH value (in wei) that a given [tokensAmount] can be redeemed for. * * @see https://www.desmos.com/calculator/sp9ru6zbpk * y = ox/s * ( r + (x(1 - r)/s) ) * * Where: * - y = redeemable amount * - o = overflow (primaryTerminalCurrentOverflow) * - x = tokenAmount * - s = total supply of token (realTotalTokenSupply) * - r = redemptionRate * * @implements JBSingleTokenPaymentTerminalStore._reclaimableOverflowDuring (https://github.com/jbx-protocol/juice-contracts-v3/blob/main/contracts/JBSingleTokenPaymentTerminalStore.sol#L688) * @returns amount in ETH */ export declare const getTokenRedemptionQuoteEth: (tokensAmount: bigint, { overflowWei, totalSupply, redemptionRate, tokensReserved, }: { overflowWei: bigint; totalSupply: bigint; redemptionRate: bigint; tokensReserved: bigint; }) => bigint; //# sourceMappingURL=token.d.ts.map