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_TAKEOVER_DISCRIMINATOR = 58; export declare function getLpTakeoverDiscriminatorBytes(): ReadonlyUint8Array; export type LpTakeoverInstruction = string, TAccountAuthorityConfig extends string | AccountMeta = string, TAccountLpAuthority extends string | AccountMeta = 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<[ TAccountAuthority extends string ? WritableSignerAccount & AccountSignerMeta : TAccountAuthority, TAccountAuthorityConfig extends string ? ReadonlyAccount : TAccountAuthorityConfig, TAccountLpAuthority extends string ? ReadonlyAccount : 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 LpTakeoverInstructionData = { discriminator: number; }; export type LpTakeoverInstructionDataArgs = {}; export declare function getLpTakeoverInstructionDataEncoder(): FixedSizeEncoder; export declare function getLpTakeoverInstructionDataDecoder(): FixedSizeDecoder; export declare function getLpTakeoverInstructionDataCodec(): FixedSizeCodec; export type LpTakeoverInput = { authority: TransactionSigner; authorityConfig: Address; lpAuthority: Address; 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 getLpTakeoverInstruction(input: LpTakeoverInput, config?: { programAddress?: TProgramAddress; }): LpTakeoverInstruction; export type ParsedLpTakeoverInstruction = { programAddress: Address; accounts: { authority: TAccountMetas[0]; authorityConfig: TAccountMetas[1]; lpAuthority: TAccountMetas[2]; newLpAuthority: TAccountMetas[3]; lpEscrow: TAccountMetas[4]; newLpEscrow: TAccountMetas[5]; positionMint: TAccountMetas[6]; position: TAccountMetas[7]; positionTokenAccount: TAccountMetas[8]; newPositionTokenAccount: TAccountMetas[9]; lockConfig: TAccountMetas[10]; systemProgram: TAccountMetas[11]; token22Program: TAccountMetas[12]; ataProgram: TAccountMetas[13]; whirlpoolProgram: TAccountMetas[14]; }; data: LpTakeoverInstructionData; }; export declare function parseLpTakeoverInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedLpTakeoverInstruction;