import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface LiquidateObligationAndRedeemReserveCollateralV2Args {
    liquidityAmount: BN;
    minAcceptableReceivedLiquidityAmount: BN;
    maxAllowedLtvOverridePercent: BN;
}
export interface LiquidateObligationAndRedeemReserveCollateralV2Accounts {
    liquidationAccounts: {
        liquidator: PublicKey;
        obligation: PublicKey;
        lendingMarket: PublicKey;
        lendingMarketAuthority: PublicKey;
        repayReserve: PublicKey;
        repayReserveLiquidityMint: PublicKey;
        repayReserveLiquiditySupply: PublicKey;
        withdrawReserve: PublicKey;
        withdrawReserveLiquidityMint: PublicKey;
        withdrawReserveCollateralMint: PublicKey;
        withdrawReserveCollateralSupply: PublicKey;
        withdrawReserveLiquiditySupply: PublicKey;
        withdrawReserveLiquidityFeeReceiver: PublicKey;
        userSourceLiquidity: PublicKey;
        userDestinationCollateral: PublicKey;
        userDestinationLiquidity: PublicKey;
        collateralTokenProgram: PublicKey;
        repayLiquidityTokenProgram: PublicKey;
        withdrawLiquidityTokenProgram: PublicKey;
        instructionSysvarAccount: PublicKey;
    };
    collateralFarmsAccounts: {
        obligationFarmUserState: PublicKey;
        reserveFarmState: PublicKey;
    };
    debtFarmsAccounts: {
        obligationFarmUserState: PublicKey;
        reserveFarmState: PublicKey;
    };
    farmsProgram: PublicKey;
}
export declare const layout: any;
export declare function liquidateObligationAndRedeemReserveCollateralV2(args: LiquidateObligationAndRedeemReserveCollateralV2Args, accounts: LiquidateObligationAndRedeemReserveCollateralV2Accounts, programId?: PublicKey): TransactionInstruction;
//# sourceMappingURL=liquidateObligationAndRedeemReserveCollateralV2.d.ts.map