import { Address, AccountMeta, AccountSignerMeta, Instruction, Option, TransactionSigner } from "@solana/kit";
import BN from "bn.js";
import * as types from "../types";
export declare const DISCRIMINATOR: Buffer<ArrayBuffer>;
export interface EnqueueToWithdrawArgs {
    collateralAmount: BN;
    progressCallbackType: types.ProgressCallbackTypeKind;
}
export interface EnqueueToWithdrawAccounts {
    owner: TransactionSigner;
    lendingMarket: Address;
    lendingMarketAuthority: Address;
    reserve: Address;
    userSourceCollateralTa: Address;
    userDestinationLiquidityTa: Address;
    reserveLiquidityMint: Address;
    reserveCollateralMint: Address;
    collateralTokenProgram: Address;
    withdrawTicket: Address;
    ownerQueuedCollateralVault: Address;
    systemProgram: Address;
    progressCallbackCustomAccount0: Option<Address>;
    progressCallbackCustomAccount1: Option<Address>;
    instructionSysvarAccount: Address;
}
export declare const layout: import("buffer-layout").Layout<unknown>;
export declare function enqueueToWithdraw(args: EnqueueToWithdrawArgs, accounts: EnqueueToWithdrawAccounts, remainingAccounts?: Array<AccountMeta | AccountSignerMeta>, programAddress?: Address): Instruction<string, readonly (AccountMeta<string> | import("@solana/kit").AccountLookupMeta<string, string>)[]>;
//# sourceMappingURL=enqueueToWithdraw.d.ts.map