import { RemoveLiquidityParameters, RemoveLiquidityParametersArgs } from "../types/removeLiquidityParameters.js"; import "../types/index.js"; import { CP_AMM_PROGRAM_ADDRESS } from "../programs/cpAmm.js"; import "../programs/index.js"; import { AccountMeta, AccountSignerMeta, Address, FixedSizeCodec, FixedSizeDecoder, FixedSizeEncoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlySignerAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount } from "@solana/kit"; //#region src/generated/instructions/removeLiquidity.d.ts declare const REMOVE_LIQUIDITY_DISCRIMINATOR: ReadonlyUint8Array; declare function getRemoveLiquidityDiscriminatorBytes(): ReadonlyUint8Array; type RemoveLiquidityInstruction = string, TAccountPool extends string | AccountMeta = string, TAccountPosition extends string | AccountMeta = string, TAccountTokenAAccount extends string | AccountMeta = string, TAccountTokenBAccount extends string | AccountMeta = string, TAccountTokenAVault extends string | AccountMeta = string, TAccountTokenBVault extends string | AccountMeta = string, TAccountTokenAMint extends string | AccountMeta = string, TAccountTokenBMint extends string | AccountMeta = string, TAccountPositionNftAccount extends string | AccountMeta = string, TAccountOwner extends string | AccountMeta = string, TAccountTokenAProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountTokenBProgram extends string | AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountEventAuthority extends string | AccountMeta = string, TAccountProgram extends string | AccountMeta = "cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[TAccountPoolAuthority extends string ? ReadonlyAccount : TAccountPoolAuthority, TAccountPool extends string ? WritableAccount : TAccountPool, TAccountPosition extends string ? WritableAccount : TAccountPosition, TAccountTokenAAccount extends string ? WritableAccount : TAccountTokenAAccount, TAccountTokenBAccount extends string ? WritableAccount : TAccountTokenBAccount, TAccountTokenAVault extends string ? WritableAccount : TAccountTokenAVault, TAccountTokenBVault extends string ? WritableAccount : TAccountTokenBVault, TAccountTokenAMint extends string ? ReadonlyAccount : TAccountTokenAMint, TAccountTokenBMint extends string ? ReadonlyAccount : TAccountTokenBMint, TAccountPositionNftAccount extends string ? ReadonlyAccount : TAccountPositionNftAccount, TAccountOwner extends string ? ReadonlySignerAccount & AccountSignerMeta : TAccountOwner, TAccountTokenAProgram extends string ? ReadonlyAccount : TAccountTokenAProgram, TAccountTokenBProgram extends string ? ReadonlyAccount : TAccountTokenBProgram, TAccountEventAuthority extends string ? ReadonlyAccount : TAccountEventAuthority, TAccountProgram extends string ? ReadonlyAccount : TAccountProgram, ...TRemainingAccounts]>; type RemoveLiquidityInstructionData = { discriminator: ReadonlyUint8Array; params: RemoveLiquidityParameters; }; type RemoveLiquidityInstructionDataArgs = { params: RemoveLiquidityParametersArgs; }; declare function getRemoveLiquidityInstructionDataEncoder(): FixedSizeEncoder; declare function getRemoveLiquidityInstructionDataDecoder(): FixedSizeDecoder; declare function getRemoveLiquidityInstructionDataCodec(): FixedSizeCodec; type RemoveLiquidityAsyncInput = { poolAuthority?: Address; pool: Address; position: Address; /** The user token a account */ tokenAAccount: Address; /** The user token b account */ tokenBAccount: Address; /** The vault token account for input token */ tokenAVault?: Address; /** The vault token account for output token */ tokenBVault?: Address; /** The mint of token a */ tokenAMint: Address; /** The mint of token b */ tokenBMint: Address; /** The token account for nft */ positionNftAccount: Address; /** owner of position */ owner: TransactionSigner; /** Token a program */ tokenAProgram?: Address; /** Token b program */ tokenBProgram?: Address; eventAuthority?: Address; program?: Address; params: RemoveLiquidityInstructionDataArgs["params"]; }; declare function getRemoveLiquidityInstructionAsync(input: RemoveLiquidityAsyncInput, config?: { programAddress?: TProgramAddress; }): Promise>; type RemoveLiquidityInput = { poolAuthority: Address; pool: Address; position: Address; /** The user token a account */ tokenAAccount: Address; /** The user token b account */ tokenBAccount: Address; /** The vault token account for input token */ tokenAVault: Address; /** The vault token account for output token */ tokenBVault: Address; /** The mint of token a */ tokenAMint: Address; /** The mint of token b */ tokenBMint: Address; /** The token account for nft */ positionNftAccount: Address; /** owner of position */ owner: TransactionSigner; /** Token a program */ tokenAProgram?: Address; /** Token b program */ tokenBProgram?: Address; eventAuthority: Address; program?: Address; params: RemoveLiquidityInstructionDataArgs["params"]; }; declare function getRemoveLiquidityInstruction(input: RemoveLiquidityInput, config?: { programAddress?: TProgramAddress; }): RemoveLiquidityInstruction; type ParsedRemoveLiquidityInstruction = { programAddress: Address; accounts: { poolAuthority: TAccountMetas[0]; pool: TAccountMetas[1]; position: TAccountMetas[2]; /** The user token a account */ tokenAAccount: TAccountMetas[3]; /** The user token b account */ tokenBAccount: TAccountMetas[4]; /** The vault token account for input token */ tokenAVault: TAccountMetas[5]; /** The vault token account for output token */ tokenBVault: TAccountMetas[6]; /** The mint of token a */ tokenAMint: TAccountMetas[7]; /** The mint of token b */ tokenBMint: TAccountMetas[8]; /** The token account for nft */ positionNftAccount: TAccountMetas[9]; /** owner of position */ owner: TAccountMetas[10]; /** Token a program */ tokenAProgram: TAccountMetas[11]; /** Token b program */ tokenBProgram: TAccountMetas[12]; eventAuthority: TAccountMetas[13]; program: TAccountMetas[14]; }; data: RemoveLiquidityInstructionData; }; declare function parseRemoveLiquidityInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedRemoveLiquidityInstruction; //#endregion export { ParsedRemoveLiquidityInstruction, REMOVE_LIQUIDITY_DISCRIMINATOR, RemoveLiquidityAsyncInput, RemoveLiquidityInput, RemoveLiquidityInstruction, RemoveLiquidityInstructionData, RemoveLiquidityInstructionDataArgs, getRemoveLiquidityDiscriminatorBytes, getRemoveLiquidityInstruction, getRemoveLiquidityInstructionAsync, getRemoveLiquidityInstructionDataCodec, getRemoveLiquidityInstructionDataDecoder, getRemoveLiquidityInstructionDataEncoder, parseRemoveLiquidityInstruction }; //# sourceMappingURL=removeLiquidity.d.ts.map