import { BondOfferV3, BondingCurveType, LendingTokenType } from '../../../types';
import { BN, web3 } from '@coral-xyz/anchor';
export declare const calculateNextSpotPrice: ({ spotPrice, delta, bondingCurveType, counter, }: {
    spotPrice: number;
    delta: number;
    bondingCurveType: BondingCurveType;
    counter: number;
}) => number;
export declare const calculateNextSpotPriceBN: ({ spotPrice, delta, bondingCurveType, counter, }: {
    spotPrice: BN;
    delta: BN;
    bondingCurveType: BondingCurveType;
    counter: BN;
}) => BN;
export declare const optimisticInitializeBondOfferBonding: (args: {
    hadoMarket: web3.PublicKey;
    assetReceiver: web3.PublicKey;
    bondOffer: web3.PublicKey;
    bondingType: BondingCurveType;
    isSplFeature: boolean;
}) => BondOfferV3;
export declare const getLendingTokenType: (bondingCurveType: BondingCurveType) => LendingTokenType;
export declare const calculateLenderPartialPartFromBorrower: (args: {
    borrowerPart: number;
    soldAt: number;
    lenderApr: number;
    protocolRepayFeeApr: number;
}) => number;
export declare const calculateLenderPartialPartFromBorrowerBN: (args: {
    borrowerPart: BN;
    soldAt: BN;
    lenderApr: BN;
    protocolRepayFeeApr: BN;
}) => BN;
export declare const optimisticUpdateBondOfferBonding: ({ bondOffer, newLoanValue, newQuantityOfLoans, collateralsPerToken, tokenLendingApr, }: {
    bondOffer: BondOfferV3;
    newLoanValue: BN;
    newQuantityOfLoans: BN;
    collateralsPerToken: BN;
    tokenLendingApr: BN;
}) => BondOfferV3;
export declare const calcOptimisticBasedOnBulkSimulation: <T extends Record<string, unknown>>(account: T, simulatedAccounts: T[], ignoreFields?: string[]) => T;
