export declare const AMM_CUT_OFF_REACHED_ERROR = "AMMCutOffReached()"; export type AMMSeedParams = { minAbsRate: bigint; maxAbsRate: bigint; cutOffTimestamp: bigint; initialAbsRate: bigint; initialSize: bigint; flipLiquidity: bigint; initialCash: bigint; }; export type AMMContractState = { totalFloatAmount: bigint; normFixedAmount: bigint; totalLp: bigint; latestFTime: bigint; maturity: bigint; seedTime: bigint; minAbsRate: bigint; maxAbsRate: bigint; cutOffTimestamp: bigint; }; export declare class PositiveAMMMath { static calcSeedOutput(params: AMMSeedParams, maturity: bigint, latestFTime: bigint): AMMContractState; static calcMintOutput(state: AMMContractState, markRate: bigint, totalCash: bigint, totalSize: bigint, desiredCashIn: bigint, exactSizeIn: bigint): { netCashIn: bigint; netLpOut: bigint; }; static calcBurnOutput(state: AMMContractState, markRate: bigint, totalCash: bigint, totalSize: bigint, lpToBurn: bigint): { netCashOut: bigint; netSizeOut: bigint; }; static calcSwapOutput(state: AMMContractState, floatOut: bigint): { fixedIn: bigint; }; static calcSwapSize(state: AMMContractState, targetRate: bigint): { swapSize: bigint; }; static calcImpliedRate(totalFloatAmount: bigint, normFixedAmount: bigint): bigint; static calcNormalizedTime(state: AMMContractState): bigint; }