/**
 * 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 Address, type ReadonlyUint8Array } from '@solana/kit';
import { type ParsedAcceptOwnershipInstruction, type ParsedDisableAttesterInstruction, type ParsedEnableAttesterInstruction, type ParsedInitializeInstruction, type ParsedIsNonceUsedInstruction, type ParsedPauseInstruction, type ParsedReceiveMessageInstruction, type ParsedReclaimEventAccountInstruction, type ParsedSendMessageInstruction, type ParsedSetMaxMessageBodySizeInstruction, type ParsedSetSignatureThresholdInstruction, type ParsedTransferOwnershipInstruction, type ParsedUnpauseInstruction, type ParsedUpdateAttesterManagerInstruction, type ParsedUpdatePauserInstruction } from '../instructions';
export declare const MESSAGE_TRANSMITTER_V2_PROGRAM_ADDRESS: Address<"CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC">;
export declare enum MessageTransmitterV2Account {
    MessageSent = 0,
    MessageTransmitter = 1,
    UsedNonce = 2
}
export declare function identifyMessageTransmitterV2Account(account: {
    data: ReadonlyUint8Array;
} | ReadonlyUint8Array): MessageTransmitterV2Account;
export declare enum MessageTransmitterV2Instruction {
    AcceptOwnership = 0,
    DisableAttester = 1,
    EnableAttester = 2,
    Initialize = 3,
    IsNonceUsed = 4,
    Pause = 5,
    ReceiveMessage = 6,
    ReclaimEventAccount = 7,
    SendMessage = 8,
    SetMaxMessageBodySize = 9,
    SetSignatureThreshold = 10,
    TransferOwnership = 11,
    Unpause = 12,
    UpdateAttesterManager = 13,
    UpdatePauser = 14
}
export declare function identifyMessageTransmitterV2Instruction(instruction: {
    data: ReadonlyUint8Array;
} | ReadonlyUint8Array): MessageTransmitterV2Instruction;
export type ParsedMessageTransmitterV2Instruction<TProgram extends string = 'CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC'> = ({
    instructionType: MessageTransmitterV2Instruction.AcceptOwnership;
} & ParsedAcceptOwnershipInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.DisableAttester;
} & ParsedDisableAttesterInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.EnableAttester;
} & ParsedEnableAttesterInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.Initialize;
} & ParsedInitializeInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.IsNonceUsed;
} & ParsedIsNonceUsedInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.Pause;
} & ParsedPauseInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.ReceiveMessage;
} & ParsedReceiveMessageInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.ReclaimEventAccount;
} & ParsedReclaimEventAccountInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.SendMessage;
} & ParsedSendMessageInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.SetMaxMessageBodySize;
} & ParsedSetMaxMessageBodySizeInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.SetSignatureThreshold;
} & ParsedSetSignatureThresholdInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.TransferOwnership;
} & ParsedTransferOwnershipInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.Unpause;
} & ParsedUnpauseInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.UpdateAttesterManager;
} & ParsedUpdateAttesterManagerInstruction<TProgram>) | ({
    instructionType: MessageTransmitterV2Instruction.UpdatePauser;
} & ParsedUpdatePauserInstruction<TProgram>);
