import { TransactionInstruction, PublicKey } from '@solana/web3.js'; import BN from 'bn.js'; export interface CollectFundFeeArgs { amount0Requested: BN; amount1Requested: BN; } export interface CollectFundFeeAccounts { /** Only admin or fund_owner can collect fee now */ owner: PublicKey; /** Pool state stores accumulated protocol fee amount */ poolState: PublicKey; /** Amm config account stores fund_owner */ ammConfig: PublicKey; /** The address that holds pool tokens for token_0 */ tokenVault0: PublicKey; /** The address that holds pool tokens for token_1 */ tokenVault1: PublicKey; /** The address that receives the collected token_0 protocol fees */ recipientTokenAccount0: PublicKey; /** The address that receives the collected token_1 protocol fees */ recipientTokenAccount1: PublicKey; /** The SPL program to perform token transfers */ tokenProgram: PublicKey; } export declare const layout: any; /** * Collect the fund fee accrued to the pool * * # Arguments * * * `ctx` - The context of accounts * * `amount_0_requested` - The maximum amount of token_0 to send, can be 0 to collect fees in only token_1 * * `amount_1_requested` - The maximum amount of token_1 to send, can be 0 to collect fees in only token_0 * */ export declare function collectFundFee(args: CollectFundFeeArgs, accounts: CollectFundFeeAccounts): TransactionInstruction;