import { LendingTokenType } from '../../../../types';
import { BN, web3 } from '@coral-xyz/anchor';
type BorrowPerpetualSpl = (params: {
    programId: web3.PublicKey;
    connection: web3.Connection;
    args: {
        amountToGet: BN;
        amountToSend: BN;
        optimizeIntoReserves: boolean;
        lendingTokenType: LendingTokenType;
        leverageBasePoints?: BN;
    };
    accounts: {
        userPubkey: web3.PublicKey;
        protocolFeeReceiver: web3.PublicKey;
        bondOffer: web3.PublicKey;
        tokenMint: web3.PublicKey;
        hadoMarket: web3.PublicKey;
        fraktMarket: web3.PublicKey;
        lender: web3.PublicKey;
        oraclePriceFeed?: web3.PublicKey;
    };
    sendTxn: (transaction: web3.Transaction, signers: web3.Signer[]) => Promise<void>;
}) => Promise<{
    instructions: web3.TransactionInstruction[];
    signers: web3.Signer[];
    accounts: {
        fraktBond: web3.PublicKey;
        bondOffer: web3.PublicKey;
        bondTradeTransaction: web3.PublicKey;
        lenderVault: web3.PublicKey;
    };
}>;
export declare const borrowPerpetualSpl: BorrowPerpetualSpl;
export {};
