import type { BN, Program } from "@coral-xyz/anchor"; import type { Instruction } from "@orca-so/common-sdk"; import { type AccountMeta, type PublicKey } from "@solana/web3.js"; import type { Whirlpool } from "../../artifacts/whirlpool"; export type RepositionLiquidityV2Params = { newTickLowerIndex: number; newTickUpperIndex: number; whirlpool: PublicKey; tokenProgramA: PublicKey; tokenProgramB: PublicKey; positionAuthority: PublicKey; funder: PublicKey; position: PublicKey; positionTokenAccount: PublicKey; tokenMintA: PublicKey; tokenMintB: PublicKey; tokenOwnerAccountA: PublicKey; tokenOwnerAccountB: PublicKey; tokenVaultA: PublicKey; tokenVaultB: PublicKey; tokenTransferHookDepositAccountsA?: AccountMeta[]; tokenTransferHookDepositAccountsB?: AccountMeta[]; tokenTransferHookWithdrawalAccountsA?: AccountMeta[]; tokenTransferHookWithdrawalAccountsB?: AccountMeta[]; existingTickArrayLower: PublicKey; existingTickArrayUpper: PublicKey; newTickArrayLower: PublicKey; newTickArrayUpper: PublicKey; memoProgram?: PublicKey; systemProgram?: PublicKey; } & RepositionLiquidityInput; type RepositionLiquidityInput = ByLiquidityMethodParams; export type RepositionLiquidityMethod = { byLiquidity: ByLiquidityMethodParams; }; export type ByLiquidityMethodParams = { newLiquidityAmount: BN; existingRangeTokenMinA: BN; existingRangeTokenMinB: BN; newRangeTokenMaxA: BN; newRangeTokenMaxB: BN; }; export declare function getRepositionLiquidityMethod(params: RepositionLiquidityInput): RepositionLiquidityMethod; export declare function repositionLiquidityV2Ix(program: Program, params: RepositionLiquidityV2Params): Instruction; export {};