/**
 * This code was AUTOGENERATED using the Codama library.
 * Please DO NOT EDIT THIS FILE, instead use visitors
 * to add features, then rerun Codama to update it.
 *
 * @see https://github.com/codama-idl/codama
 */
import { type AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from '@solana/kit';
import { LB_CLMM_PROGRAM_ADDRESS } from '../programs';
export declare const MIGRATE_POSITION_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
export declare function getMigratePositionDiscriminatorBytes(): ReadonlyUint8Array;
export type MigratePositionInstruction<TProgram extends string = typeof LB_CLMM_PROGRAM_ADDRESS, TAccountPositionV2 extends string | AccountMeta<string> = string, TAccountPositionV1 extends string | AccountMeta<string> = string, TAccountLbPair extends string | AccountMeta<string> = string, TAccountBinArrayLower extends string | AccountMeta<string> = string, TAccountBinArrayUpper extends string | AccountMeta<string> = string, TAccountOwner extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TAccountRentReceiver extends string | AccountMeta<string> = string, TAccountEventAuthority extends string | AccountMeta<string> = string, TAccountProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountPositionV2 extends string ? WritableSignerAccount<TAccountPositionV2> & AccountSignerMeta<TAccountPositionV2> : TAccountPositionV2, TAccountPositionV1 extends string ? WritableAccount<TAccountPositionV1> : TAccountPositionV1, TAccountLbPair extends string ? ReadonlyAccount<TAccountLbPair> : TAccountLbPair, TAccountBinArrayLower extends string ? WritableAccount<TAccountBinArrayLower> : TAccountBinArrayLower, TAccountBinArrayUpper extends string ? WritableAccount<TAccountBinArrayUpper> : TAccountBinArrayUpper, TAccountOwner extends string ? WritableSignerAccount<TAccountOwner> & AccountSignerMeta<TAccountOwner> : TAccountOwner, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, TAccountRentReceiver extends string ? WritableAccount<TAccountRentReceiver> : TAccountRentReceiver, TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority, TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram, ...TRemainingAccounts]>;
export type MigratePositionInstructionData = {
    discriminator: ReadonlyUint8Array;
};
export type MigratePositionInstructionDataArgs = {};
export declare function getMigratePositionInstructionDataEncoder(): FixedSizeEncoder<MigratePositionInstructionDataArgs>;
export declare function getMigratePositionInstructionDataDecoder(): FixedSizeDecoder<MigratePositionInstructionData>;
export declare function getMigratePositionInstructionDataCodec(): FixedSizeCodec<MigratePositionInstructionDataArgs, MigratePositionInstructionData>;
export type MigratePositionInput<TAccountPositionV2 extends string = string, TAccountPositionV1 extends string = string, TAccountLbPair extends string = string, TAccountBinArrayLower extends string = string, TAccountBinArrayUpper extends string = string, TAccountOwner extends string = string, TAccountSystemProgram extends string = string, TAccountRentReceiver extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
    positionV2: TransactionSigner<TAccountPositionV2>;
    positionV1: Address<TAccountPositionV1>;
    lbPair: Address<TAccountLbPair>;
    binArrayLower: Address<TAccountBinArrayLower>;
    binArrayUpper: Address<TAccountBinArrayUpper>;
    owner: TransactionSigner<TAccountOwner>;
    systemProgram?: Address<TAccountSystemProgram>;
    rentReceiver: Address<TAccountRentReceiver>;
    eventAuthority: Address<TAccountEventAuthority>;
    program: Address<TAccountProgram>;
};
export declare function getMigratePositionInstruction<TAccountPositionV2 extends string, TAccountPositionV1 extends string, TAccountLbPair extends string, TAccountBinArrayLower extends string, TAccountBinArrayUpper extends string, TAccountOwner extends string, TAccountSystemProgram extends string, TAccountRentReceiver extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof LB_CLMM_PROGRAM_ADDRESS>(input: MigratePositionInput<TAccountPositionV2, TAccountPositionV1, TAccountLbPair, TAccountBinArrayLower, TAccountBinArrayUpper, TAccountOwner, TAccountSystemProgram, TAccountRentReceiver, TAccountEventAuthority, TAccountProgram>, config?: {
    programAddress?: TProgramAddress;
}): MigratePositionInstruction<TProgramAddress, TAccountPositionV2, TAccountPositionV1, TAccountLbPair, TAccountBinArrayLower, TAccountBinArrayUpper, TAccountOwner, TAccountSystemProgram, TAccountRentReceiver, TAccountEventAuthority, TAccountProgram>;
export type ParsedMigratePositionInstruction<TProgram extends string = typeof LB_CLMM_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
    programAddress: Address<TProgram>;
    accounts: {
        positionV2: TAccountMetas[0];
        positionV1: TAccountMetas[1];
        lbPair: TAccountMetas[2];
        binArrayLower: TAccountMetas[3];
        binArrayUpper: TAccountMetas[4];
        owner: TAccountMetas[5];
        systemProgram: TAccountMetas[6];
        rentReceiver: TAccountMetas[7];
        eventAuthority: TAccountMetas[8];
        program: TAccountMetas[9];
    };
    data: MigratePositionInstructionData;
};
export declare function parseMigratePositionInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedMigratePositionInstruction<TProgram, TAccountMetas>;
//# sourceMappingURL=migratePosition.d.ts.map