import { TransactionInstruction, PublicKey } from "@solana/web3.js"; export interface CollectFeesAndRewardsAccounts { user: PublicKey; strategy: PublicKey; globalConfig: PublicKey; baseVaultAuthority: PublicKey; pool: PublicKey; tickArrayLower: PublicKey; tickArrayUpper: PublicKey; position: PublicKey; raydiumProtocolPositionOrBaseVaultAuthority: PublicKey; positionTokenAccount: PublicKey; tokenAVault: PublicKey; poolTokenVaultA: PublicKey; tokenBVault: PublicKey; poolTokenVaultB: PublicKey; treasuryFeeTokenAVault: PublicKey; treasuryFeeTokenBVault: PublicKey; treasuryFeeVaultAuthority: PublicKey; /** If rewards are uninitialized, pass this as strategy. */ reward0Vault: PublicKey; /** If rewards are uninitialized, pass this as strategy. */ reward1Vault: PublicKey; /** If rewards are uninitialized, pass this as strategy. */ reward2Vault: PublicKey; /** If rewards are uninitialized, pass this as strategy. */ poolRewardVault0: PublicKey; /** If rewards are uninitialized, pass this as strategy. */ poolRewardVault1: PublicKey; /** If rewards are uninitialized, pass this as strategy. */ poolRewardVault2: PublicKey; tokenAMint: PublicKey; tokenBMint: PublicKey; tokenProgram: PublicKey; poolProgram: PublicKey; instructionSysvarAccount: PublicKey; } export declare function collectFeesAndRewards(accounts: CollectFeesAndRewardsAccounts): TransactionInstruction;