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_TRANSFER_DISCRIMINATOR = 57; export declare function getLpTransferDiscriminatorBytes(): ReadonlyUint8Array; export type LpTransferInstruction = string, TAccountNewLpAuthority extends string | AccountMeta = string, TAccountLpEscrow extends string | AccountMeta = string, TAccountNewLpEscrow extends string | AccountMeta = string, TAccountPositionMint extends string | AccountMeta = string, TAccountPosition extends string | AccountMeta = string, TAccountPositionTokenAccount extends string | AccountMeta = string, TAccountNewPositionTokenAccount extends string | AccountMeta = string, TAccountLockConfig extends string | AccountMeta = string, TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TAccountToken22Program extends string | AccountMeta = string, TAccountAtaProgram extends string | AccountMeta = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL", TAccountWhirlpoolProgram extends string | AccountMeta = string, TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountLpAuthority extends string ? WritableSignerAccount & AccountSignerMeta : TAccountLpAuthority, TAccountNewLpAuthority extends string ? ReadonlyAccount : TAccountNewLpAuthority, TAccountLpEscrow extends string ? ReadonlyAccount : TAccountLpEscrow, TAccountNewLpEscrow extends string ? ReadonlyAccount : TAccountNewLpEscrow, TAccountPositionMint extends string ? ReadonlyAccount : TAccountPositionMint, TAccountPosition extends string ? ReadonlyAccount : TAccountPosition, TAccountPositionTokenAccount extends string ? WritableAccount : TAccountPositionTokenAccount, TAccountNewPositionTokenAccount extends string ? WritableAccount : TAccountNewPositionTokenAccount, TAccountLockConfig extends string ? WritableAccount : TAccountLockConfig, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, TAccountToken22Program extends string ? ReadonlyAccount : TAccountToken22Program, TAccountAtaProgram extends string ? ReadonlyAccount : TAccountAtaProgram, TAccountWhirlpoolProgram extends string ? ReadonlyAccount : TAccountWhirlpoolProgram, ...TRemainingAccounts ]>; export type LpTransferInstructionData = { discriminator: number; }; export type LpTransferInstructionDataArgs = {}; export declare function getLpTransferInstructionDataEncoder(): FixedSizeEncoder; export declare function getLpTransferInstructionDataDecoder(): FixedSizeDecoder; export declare function getLpTransferInstructionDataCodec(): FixedSizeCodec; export type LpTransferInput = { lpAuthority: TransactionSigner; newLpAuthority: Address; lpEscrow: Address; newLpEscrow: Address; positionMint: Address; position: Address; positionTokenAccount: Address; newPositionTokenAccount: Address; lockConfig: Address; systemProgram?: Address; token22Program: Address; ataProgram?: Address; whirlpoolProgram: Address; }; export declare function getLpTransferInstruction(input: LpTransferInput, config?: { programAddress?: TProgramAddress; }): LpTransferInstruction; export type ParsedLpTransferInstruction = { programAddress: Address; accounts: { lpAuthority: TAccountMetas[0]; newLpAuthority: TAccountMetas[1]; lpEscrow: TAccountMetas[2]; newLpEscrow: TAccountMetas[3]; positionMint: TAccountMetas[4]; position: TAccountMetas[5]; positionTokenAccount: TAccountMetas[6]; newPositionTokenAccount: TAccountMetas[7]; lockConfig: TAccountMetas[8]; systemProgram: TAccountMetas[9]; token22Program: TAccountMetas[10]; ataProgram: TAccountMetas[11]; whirlpoolProgram: TAccountMetas[12]; }; data: LpTransferInstructionData; }; export declare function parseLpTransferInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedLpTransferInstruction;