import { Address, HexString } from '@hyperlane-xyz/utils';
import { BaseEvmAdapter } from '../../app/MultiProtocolApp.js';
import type { MultiProviderAdapter } from '../../providers/MultiProviderAdapter.js';
import { TypedTransactionReceipt } from '../../providers/ProviderType.js';
import { ChainName } from '../../types.js';
import { HyperlaneCore } from '../HyperlaneCore.js';
import { ICoreAdapter } from './types.js';
export declare class EvmCoreAdapter extends BaseEvmAdapter implements ICoreAdapter {
    readonly chainName: ChainName;
    readonly multiProvider: MultiProviderAdapter;
    readonly addresses: {
        mailbox: Address;
    };
    core: HyperlaneCore;
    constructor(chainName: ChainName, multiProvider: MultiProviderAdapter, addresses: {
        mailbox: Address;
    });
    extractMessageIds(sourceTx: TypedTransactionReceipt): Promise<Array<{
        messageId: string;
        destination: ChainName;
    }>>;
    waitForMessageProcessed(messageId: HexString, destination: ChainName, delayMs?: number, maxAttempts?: number): Promise<boolean>;
    isDelivered(messageId: HexString, blockTag?: string | number): Promise<boolean>;
}
//# sourceMappingURL=EvmCoreAdapter.d.ts.map