import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface WithdrawArgs {
    sharesAmount: BN;
}
export interface WithdrawAccounts {
    withdrawFromAvailable: {
        user: PublicKey;
        vaultState: PublicKey;
        tokenVault: PublicKey;
        baseVaultAuthority: PublicKey;
        userTokenAta: PublicKey;
        tokenMint: PublicKey;
        userSharesAta: PublicKey;
        sharesMint: PublicKey;
        tokenProgram: PublicKey;
        sharesTokenProgram: PublicKey;
        klendProgram: PublicKey;
        eventAuthority: PublicKey;
        program: PublicKey;
    };
    withdrawFromReserveAccounts: {
        vaultState: PublicKey;
        reserve: PublicKey;
        ctokenVault: PublicKey;
        lendingMarket: PublicKey;
        lendingMarketAuthority: PublicKey;
        reserveLiquiditySupply: PublicKey;
        reserveCollateralMint: PublicKey;
        reserveCollateralTokenProgram: PublicKey;
        instructionSysvarAccount: PublicKey;
    };
    eventAuthority: PublicKey;
    program: PublicKey;
}
export declare const layout: any;
export declare function withdraw(args: WithdrawArgs, accounts: WithdrawAccounts, programId?: PublicKey): TransactionInstruction;
//# sourceMappingURL=withdraw.d.ts.map