import { BN, web3 } from '@coral-xyz/anchor';
import { GetInstructionsReturnType } from '../types';
import { BondOffer } from '../../../core/accounts/BondOffer/BondOffer';
import { BanxMarket } from '../../../core/accounts/BanxMarket/BanxMarket';
import { BondLoan } from '../../accounts/BondLoan/BondLoan';
type GetBorrowerRefinanceIxnsRawParams = {
    args: {
        amountToRefinance: BN;
        positiveRefinance: boolean;
    };
    connection: web3.Connection;
    accounts: {
        userPubkey: web3.PublicKey;
        market: web3.PublicKey;
        oldLender: web3.PublicKey;
        oldBondLoan: web3.PublicKey;
        oldBondOffer: web3.PublicKey;
        newLender: web3.PublicKey;
        newBondOffer: web3.PublicKey;
        lendingTokenMint: web3.PublicKey;
        oracle: web3.PublicKey;
    };
};
type GetBorrowerRefinanceIxnsReturnType = GetInstructionsReturnType<{
    oldBondOffer: web3.PublicKey;
    oldBondLoan: web3.PublicKey;
    oldLenderVault: web3.PublicKey;
    newBondLoan: web3.PublicKey;
    newBondOffer: web3.PublicKey;
    newLenderVault: web3.PublicKey;
}>;
export declare function getBorrowerRefinanceIxnsRaw({ accounts, connection, args, }: GetBorrowerRefinanceIxnsRawParams): Promise<GetBorrowerRefinanceIxnsReturnType>;
export type GetBorrowerRefinanceIxnsParams = {
    args: GetBorrowerRefinanceIxnsRawParams['args'];
    connection: web3.Connection;
    walletPublicKey: web3.PublicKey;
    accounts: {
        bondLoan: BondLoan;
        bondOffer: BondOffer;
        banxMarket: BanxMarket;
    };
};
export declare function getBorrowerRefinanceIxns({ args, connection, walletPublicKey, accounts, }: GetBorrowerRefinanceIxnsParams): Promise<GetBorrowerRefinanceIxnsReturnType>;
export {};
