import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface LiquidateObligationAndRedeemReserveCollateralArgs {
    liquidityAmount: BN;
    minAcceptableReceivedLiquidityAmount: BN;
    maxAllowedLtvOverridePercent: BN;
}
export interface LiquidateObligationAndRedeemReserveCollateralAccounts {
    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;
}
export declare const layout: any;
export declare function liquidateObligationAndRedeemReserveCollateral(args: LiquidateObligationAndRedeemReserveCollateralArgs, accounts: LiquidateObligationAndRedeemReserveCollateralAccounts, programId?: PublicKey): TransactionInstruction;
//# sourceMappingURL=liquidateObligationAndRedeemReserveCollateral.d.ts.map