import { AccountMeta, AccountSignerMeta, Address, FixedSizeCodec, FixedSizeDecoder, FixedSizeEncoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from '@solana/kit'; import { WAVEBREAK_PROGRAM_ADDRESS } from '../programs'; export declare const LP_HARVEST_DISCRIMINATOR = 56; export declare function getLpHarvestDiscriminatorBytes(): ReadonlyUint8Array; export type LpHarvestInstruction = string, TAccountLpEscrow extends string | AccountMeta = string, TAccountWhirlpool extends string | AccountMeta = string, TAccountPosition extends string | AccountMeta = string, TAccountPositionTokenAccount extends string | AccountMeta = string, TAccountLowerTickArray extends string | AccountMeta = string, TAccountUpperTickArray extends string | AccountMeta = string, TAccountTokenAMint extends string | AccountMeta = string, TAccountTokenBMint extends string | AccountMeta = string, TAccountTokenAAta extends string | AccountMeta = string, TAccountTokenBAta extends string | AccountMeta = string, TAccountTokenAVault extends string | AccountMeta = string, TAccountTokenBVault extends string | AccountMeta = string, TAccountReward1Mint extends string | AccountMeta = string, TAccountReward2Mint extends string | AccountMeta = string, TAccountReward3Mint extends string | AccountMeta = string, TAccountReward1Ata extends string | AccountMeta = string, TAccountReward2Ata extends string | AccountMeta = string, TAccountReward3Ata extends string | AccountMeta = string, TAccountReward1Vault extends string | AccountMeta = string, TAccountReward2Vault extends string | AccountMeta = string, TAccountReward3Vault extends string | AccountMeta = string, TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TAccountTokenAProgram extends string | AccountMeta = string, TAccountTokenBProgram extends string | AccountMeta = string, TAccountReward1TokenProgram extends string | AccountMeta = string, TAccountReward2TokenProgram extends string | AccountMeta = string, TAccountReward3TokenProgram extends string | AccountMeta = string, TAccountAtaProgram extends string | AccountMeta = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL", TAccountMemoProgram extends string | AccountMeta = string, TAccountWhirlpoolProgram extends string | AccountMeta = string, TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountLpAuthority extends string ? WritableSignerAccount & AccountSignerMeta : TAccountLpAuthority, TAccountLpEscrow extends string ? ReadonlyAccount : TAccountLpEscrow, TAccountWhirlpool extends string ? WritableAccount : TAccountWhirlpool, TAccountPosition extends string ? WritableAccount : TAccountPosition, TAccountPositionTokenAccount extends string ? ReadonlyAccount : TAccountPositionTokenAccount, TAccountLowerTickArray extends string ? ReadonlyAccount : TAccountLowerTickArray, TAccountUpperTickArray extends string ? ReadonlyAccount : TAccountUpperTickArray, TAccountTokenAMint extends string ? WritableAccount : TAccountTokenAMint, TAccountTokenBMint extends string ? WritableAccount : TAccountTokenBMint, TAccountTokenAAta extends string ? WritableAccount : TAccountTokenAAta, TAccountTokenBAta extends string ? WritableAccount : TAccountTokenBAta, TAccountTokenAVault extends string ? WritableAccount : TAccountTokenAVault, TAccountTokenBVault extends string ? WritableAccount : TAccountTokenBVault, TAccountReward1Mint extends string ? ReadonlyAccount : TAccountReward1Mint, TAccountReward2Mint extends string ? ReadonlyAccount : TAccountReward2Mint, TAccountReward3Mint extends string ? ReadonlyAccount : TAccountReward3Mint, TAccountReward1Ata extends string ? WritableAccount : TAccountReward1Ata, TAccountReward2Ata extends string ? WritableAccount : TAccountReward2Ata, TAccountReward3Ata extends string ? WritableAccount : TAccountReward3Ata, TAccountReward1Vault extends string ? WritableAccount : TAccountReward1Vault, TAccountReward2Vault extends string ? WritableAccount : TAccountReward2Vault, TAccountReward3Vault extends string ? WritableAccount : TAccountReward3Vault, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, TAccountTokenAProgram extends string ? ReadonlyAccount : TAccountTokenAProgram, TAccountTokenBProgram extends string ? ReadonlyAccount : TAccountTokenBProgram, TAccountReward1TokenProgram extends string ? ReadonlyAccount : TAccountReward1TokenProgram, TAccountReward2TokenProgram extends string ? ReadonlyAccount : TAccountReward2TokenProgram, TAccountReward3TokenProgram extends string ? ReadonlyAccount : TAccountReward3TokenProgram, TAccountAtaProgram extends string ? ReadonlyAccount : TAccountAtaProgram, TAccountMemoProgram extends string ? ReadonlyAccount : TAccountMemoProgram, TAccountWhirlpoolProgram extends string ? ReadonlyAccount : TAccountWhirlpoolProgram, ...TRemainingAccounts ]>; export type LpHarvestInstructionData = { discriminator: number; }; export type LpHarvestInstructionDataArgs = {}; export declare function getLpHarvestInstructionDataEncoder(): FixedSizeEncoder; export declare function getLpHarvestInstructionDataDecoder(): FixedSizeDecoder; export declare function getLpHarvestInstructionDataCodec(): FixedSizeCodec; export type LpHarvestInput = { lpAuthority: TransactionSigner; lpEscrow: Address; whirlpool: Address; position: Address; positionTokenAccount: Address; lowerTickArray: Address; upperTickArray: Address; tokenAMint: Address; tokenBMint: Address; tokenAAta: Address; tokenBAta: Address; tokenAVault: Address; tokenBVault: Address; reward1Mint: Address; reward2Mint: Address; reward3Mint: Address; reward1Ata: Address; reward2Ata: Address; reward3Ata: Address; reward1Vault: Address; reward2Vault: Address; reward3Vault: Address; systemProgram?: Address; tokenAProgram: Address; tokenBProgram: Address; reward1TokenProgram: Address; reward2TokenProgram: Address; reward3TokenProgram: Address; ataProgram?: Address; memoProgram: Address; whirlpoolProgram: Address; }; export declare function getLpHarvestInstruction(input: LpHarvestInput, config?: { programAddress?: TProgramAddress; }): LpHarvestInstruction; export type ParsedLpHarvestInstruction = { programAddress: Address; accounts: { lpAuthority: TAccountMetas[0]; lpEscrow: TAccountMetas[1]; whirlpool: TAccountMetas[2]; position: TAccountMetas[3]; positionTokenAccount: TAccountMetas[4]; lowerTickArray: TAccountMetas[5]; upperTickArray: TAccountMetas[6]; tokenAMint: TAccountMetas[7]; tokenBMint: TAccountMetas[8]; tokenAAta: TAccountMetas[9]; tokenBAta: TAccountMetas[10]; tokenAVault: TAccountMetas[11]; tokenBVault: TAccountMetas[12]; reward1Mint: TAccountMetas[13]; reward2Mint: TAccountMetas[14]; reward3Mint: TAccountMetas[15]; reward1Ata: TAccountMetas[16]; reward2Ata: TAccountMetas[17]; reward3Ata: TAccountMetas[18]; reward1Vault: TAccountMetas[19]; reward2Vault: TAccountMetas[20]; reward3Vault: TAccountMetas[21]; systemProgram: TAccountMetas[22]; tokenAProgram: TAccountMetas[23]; tokenBProgram: TAccountMetas[24]; reward1TokenProgram: TAccountMetas[25]; reward2TokenProgram: TAccountMetas[26]; reward3TokenProgram: TAccountMetas[27]; ataProgram: TAccountMetas[28]; memoProgram: TAccountMetas[29]; whirlpoolProgram: TAccountMetas[30]; }; data: LpHarvestInstructionData; }; export declare function parseLpHarvestInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedLpHarvestInstruction;