import type { Account, Chain, Client, Transport } from 'viem'; import { BaseError } from 'viem'; import type { CrossDomainMessage } from '../../types/interop/cdm.js'; /** * @category Types */ export type GetCrossDomainMessageStatusParameters = { message: CrossDomainMessage; }; /** * @category Types */ export type GetCrossDomainMessageStatusReturnType = 'ready-to-relay' | 'relayed'; /** * @category Types */ export type InvalidDestinationChainErrorType = InvalidDestinationChainError & { name: 'InvalidDestinationChainError'; }; export declare class InvalidDestinationChainError extends BaseError { constructor(destination: bigint, chainId: bigint); } /** * Get the status of a cross domain message * @category Actions * @param client - The client to use * @param parameters - {@link GetCrossDomainMessageStatusParameters} * @returns status -{@link GetCrossDomainMessageStatusReturnType} * @example * import { createPublicClient } from 'viem' * import { op, unichain } from '@eth-optimism/viem/chains' * * const publicClientOp = createPublicClient({ chain: op, transport: http() }) * const publicClientUnichain = createPublicClient({ chain: unichain, transport: http() }) * * const receipt = await publicClientOp.getTransactionReceipt({ hash: '0x...' }) * const messages = await getCrossDomainMessages(publicClientOp, { logs: receipt.logs }) * * const message = messages.filter((message) => message.destination === unichain.id)[0] * const status = await getCrossDomainMessageStatus(publicClientUnichain, { message }) */ export declare function getCrossDomainMessageStatus(client: Client, parameters: GetCrossDomainMessageStatusParameters): Promise;