import { AccountMeta, Commitment, PublicKey, RpcInterface } from '@metaplex-foundation/umi' export * from './pda' export * as EndpointProgram from './endpoint' export * as SimpleMessageLibProgram from './simple-message-lib' export * as UlnProgram from './uln' export * as ExecutorProgram from './executor' export * as PriceFeedProgram from './pricefeed' export * as DVNProgram from './dvn' export * from './utility' export * from './config' export * from './receive' export * from './receive-types-v1' export * from './receive-types-v2' export * from './compose-types-v1' export * from './compose-types-v2' export * from './types' export * from './deployment' export * from './next_nonce' export * as BlockedMessageLibProgram from './generated/kinobi/blocked_messagelib' export * as DvnProgram from './generated/kinobi/dvn' export * from './send-helper' /** * Enum representing different configuration types. */ export enum SetConfigType { /** * Executor configuration type. */ EXECUTOR = 1, /** * Send ULN configuration type. */ SEND_ULN = 2, /** * Receive ULN configuration type. */ RECEIVE_ULN = 3, } export interface SolanaPacketPath { sender: PublicKey dstEid: number receiver: Uint8Array // length 32 } /** * Interface representing the Message Library. */ export interface MessageLibInterface { programId: PublicKey /** * Gets the account metadata for a quote instruction. * * @param {Connection} connection - The Solana connection. * @param {PublicKey} payer - The payer public key. * @param {PacketPath} path - The packet path. * @param {Commitment} [commitment] - The commitment level. * @returns {Promise} A promise that resolves to an array of account metadata. */ getQuoteIXAccountMetaForCPI( rpc: RpcInterface, payer: PublicKey, path: SolanaPacketPath, commitment?: Commitment ): Promise getSendIXAccountMetaForCPI(rpc: RpcInterface, payer: PublicKey, path: SolanaPacketPath): Promise getSendWithLzTokenIXAccountMetaForCPI( rpc: RpcInterface, accounts: { payer: PublicKey tokenMint: PublicKey tokenSource: PublicKey }, path: SolanaPacketPath, programs: { tokenProgram?: PublicKey associatedTokenProgram?: PublicKey }, commitment: Commitment ): Promise /** * Gets the account metadata for an init config instruction. * * @param {PublicKey} payer - The payer public key. * @param {PublicKey} oappID - The OAPP ID. * @param {number} eid - The endpoint ID. * @returns {AccountMeta[]} An array of account metadata. */ getInitConfigIXAccountMetaForCPI(payer: PublicKey, oapp: PublicKey, eid: number): AccountMeta[] /** * Gets the account metadata for a set config instruction. * * @param {PublicKey} endpointProgram - The endpoint program public key. * @param {PublicKey} oappID - The OAPP ID. * @param {number} eid - The endpoint ID. * @returns {Promise} A promise that resolves to an array of account metadata. */ getSetConfigIXAccountMetaForCPI(oapp: PublicKey, eid: number, endpointProgram?: PublicKey): AccountMeta[] }