import * as web3 from '@bbachain/web3.js';
import { WithdrawAllTokenTypesArgs } from '../types';
/**
 * @category Instructions
 * @category WithdrawAllTokenTypes
 */
export type WithdrawAllTokenTypesInstructionAccounts = {
    /** Token-swap */
    tokenSwap: web3.PublicKey;
    /** swap authority */
    authority: web3.PublicKey;
    /** user transfer authority */
    userTransferAuthority: web3.PublicKey;
    /** Pool mint account, swap authority is the owner */
    poolMint: web3.PublicKey;
    /** SOURCE Pool account, amount is transferable by user transfer authority */
    source: web3.PublicKey;
    /** token_a Swap Account to withdraw FROM */
    fromA: web3.PublicKey;
    /** token_b Swap Account to withdraw FROM */
    fromB: web3.PublicKey;
    /** token_a user Account to credit */
    userAccountA: web3.PublicKey;
    /** token_b user Account to credit */
    userAccountB: web3.PublicKey;
    /** Fee account, to receive withdrawal fees */
    feeAccount: web3.PublicKey;
    /** Token program id */
    tokenProgram: web3.PublicKey;
    anchorRemainingAccounts?: web3.AccountMeta[];
};
export declare const withdrawAllTokenTypesInstructionDiscriminator = 3;
/**
 * Creates a _WithdrawAllTokenTypes_ instruction.
 *
 * @param accounts that will be accessed while the instruction is processed
 * @param args to provide as instruction data to the program
 *
 * @category Instructions
 * @category WithdrawAllTokenTypes
 */
export declare function createWithdrawAllTokenTypesInstruction(accounts: WithdrawAllTokenTypesInstructionAccounts, args: WithdrawAllTokenTypesArgs, programId?: web3.PublicKey): web3.TransactionInstruction;
//# sourceMappingURL=withdrawAllTokenTypes.d.ts.map