/// <reference types="bn.js" />
import type { AccountMeta, PublicKey, TransactionInstruction } from '@solana/web3.js';
import type { BN } from '../../isomorphic/anchor';
import type { DriftProgram } from '../../config';
export declare function buildWithdrawInstruction(args: {
    program: DriftProgram;
    marketIndex: number;
    amount: BN;
    reduceOnly: boolean;
    state: PublicKey;
    spotMarket: PublicKey;
    spotMarketVault: PublicKey;
    driftSigner: PublicKey;
    user: PublicKey;
    userStats: PublicKey;
    userTokenAccount: PublicKey;
    authority: PublicKey;
    tokenProgram: PublicKey;
    remainingAccounts: AccountMeta[];
}): Promise<TransactionInstruction>;
