import type { ChainsConfig, Contracts, Network, TxHash, VAA, WormholeCore, WormholeMessageId } from '@wormhole-foundation/sdk-connect';
import type { Provider } from 'ethers';
import type { Implementation, ImplementationInterface } from './ethers-contracts/index.js';
import type { AnyEvmAddress, EvmChains, EvmPlatformType } from '@wormhole-foundation/sdk-evm';
import { EvmUnsignedTransaction } from '@wormhole-foundation/sdk-evm';
export declare class EvmWormholeCore<N extends Network, C extends EvmChains> implements WormholeCore<N, C> {
    readonly network: N;
    readonly chain: C;
    readonly provider: Provider;
    readonly contracts: Contracts;
    readonly chainId: bigint;
    readonly coreAddress: string;
    readonly core: Implementation;
    readonly coreIface: ImplementationInterface;
    constructor(network: N, chain: C, provider: Provider, contracts: Contracts);
    getMessageFee(): Promise<bigint>;
    getGuardianSetIndex(): Promise<number>;
    getGuardianSet(index: number): Promise<WormholeCore.GuardianSet>;
    static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, EvmPlatformType>): Promise<EvmWormholeCore<N, EvmChains>>;
    publishMessage(sender: AnyEvmAddress, message: Uint8Array, nonce: number, consistencyLevel: number): AsyncGenerator<EvmUnsignedTransaction<N, C>, void, unknown>;
    verifyMessage(sender: AnyEvmAddress, vaa: VAA): AsyncGenerator<EvmUnsignedTransaction<N, C>, void, unknown>;
    parseTransaction(txid: TxHash): Promise<WormholeMessageId[]>;
    parseMessages(txid: string): Promise<VAA<"Uint8Array">[]>;
    private createUnsignedTx;
}
//# sourceMappingURL=core.d.ts.map