import { KlendState } from "./state"; import { Fraction } from "../../../core/math/fraction"; import { QuoteContext } from "../../types"; export declare const KLEND_SLOTS_PER_YEAR = 63072000n; export declare const KLEND_SECONDS_PER_YEAR = 31536000n; export declare const POINTS_IN_CURVE = 11; export declare const POINT_SIZE = 8; export interface AccruedKlend { borrowedAmountSf: bigint; accumulatedProtocolFeesSf: bigint; pendingReferrerFeesSf: bigint; accumulatedReferrerFeesSf: bigint; } export declare function lookupBorrowRate(curve: Uint8Array, utilization: Fraction): Fraction; export declare function totalSupplyFraction(state: KlendState, accrued: AccruedKlend): Fraction; export declare function accrueInterest(state: KlendState, ctx: QuoteContext): AccruedKlend; export declare function exchangeRatePair(collateralSupply: bigint, totalSupply: Fraction): { cs: bigint; ts: Fraction; }; export declare function liquidityToCollateral(liquidityAmount: bigint, collateralSupply: bigint, totalSupply: Fraction): bigint; export declare function collateralToLiquidityCeil(collateralAmount: bigint, collateralSupply: bigint, totalSupply: Fraction): bigint; export declare function collateralToLiquidity(collateralAmount: bigint, collateralSupply: bigint, totalSupply: Fraction): bigint; export declare function fractionCollateralToLiquidity(collateralAmount: bigint, collateralSupply: bigint, totalSupply: Fraction): Fraction; export declare function fractionLiquidityToCollateralCeil(liquidityAmount: bigint, collateralSupply: bigint, totalSupply: Fraction): bigint; export declare function fractionFloor(sf: Fraction): bigint; export declare function fractionFrac(sf: Fraction): Fraction;