import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface RepayAndWithdrawAndRedeemArgs {
    repayAmount: BN;
    withdrawCollateralAmount: BN;
}
export interface RepayAndWithdrawAndRedeemAccounts {
    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 repayAndWithdrawAndRedeem(args: RepayAndWithdrawAndRedeemArgs, accounts: RepayAndWithdrawAndRedeemAccounts, programId?: PublicKey): TransactionInstruction;
//# sourceMappingURL=repayAndWithdrawAndRedeem.d.ts.map