import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface RepayAndWithdrawAndRedeemV2Args {
    repayAmount: BN;
    withdrawCollateralAmount: BN;
}
export interface RepayAndWithdrawAndRedeemV2Accounts {
    repayAndWithdrawAccounts: {
        repayAccounts: {
            owner: PublicKey;
            obligation: PublicKey;
            lendingMarket: PublicKey;
            repayReserve: PublicKey;
            reserveLiquidityMint: PublicKey;
            reserveDestinationLiquidity: PublicKey;
            userSourceLiquidity: PublicKey;
            tokenProgram: PublicKey;
            instructionSysvarAccount: PublicKey;
        };
        withdrawAccounts: {
            owner: PublicKey;
            obligation: PublicKey;
            lendingMarket: PublicKey;
            lendingMarketAuthority: PublicKey;
            withdrawReserve: PublicKey;
            reserveLiquidityMint: PublicKey;
            reserveSourceCollateral: PublicKey;
            reserveCollateralMint: PublicKey;
            reserveLiquiditySupply: PublicKey;
            userDestinationLiquidity: PublicKey;
            placeholderUserDestinationCollateral: PublicKey;
            collateralTokenProgram: PublicKey;
            liquidityTokenProgram: PublicKey;
            instructionSysvarAccount: PublicKey;
        };
    };
    collateralFarmsAccounts: {
        obligationFarmUserState: PublicKey;
        reserveFarmState: PublicKey;
    };
    debtFarmsAccounts: {
        obligationFarmUserState: PublicKey;
        reserveFarmState: PublicKey;
    };
    farmsProgram: PublicKey;
}
export declare const layout: any;
export declare function repayAndWithdrawAndRedeemV2(args: RepayAndWithdrawAndRedeemV2Args, accounts: RepayAndWithdrawAndRedeemV2Accounts, programId?: PublicKey): TransactionInstruction;
//# sourceMappingURL=repayAndWithdrawAndRedeemV2.d.ts.map