import { AccountAddress, ChainAddress, ChainsConfig, CircleBridge, CircleTransferMessage, Contracts, Network, Platform } from '@wormhole-foundation/connect-sdk';
import { MessageTransmitter, TokenMessenger } from './ethers-contracts';
import { EvmChains, EvmUnsignedTransaction } from '@wormhole-foundation/connect-sdk-evm';
import { Provider } from 'ethers';
export declare class EvmCircleBridge<N extends Network, C extends EvmChains> implements CircleBridge<N, C> {
    readonly network: N;
    readonly chain: C;
    readonly provider: Provider;
    readonly contracts: Contracts;
    readonly chainId: bigint;
    readonly circleChainId: number;
    readonly msgTransmitter: MessageTransmitter.MessageTransmitter;
    readonly tokenMessenger: TokenMessenger.TokenMessenger;
    readonly tokenEventHash: string;
    readonly messageSentEventHash: string;
    readonly messageReceivedEventHash: string;
    private constructor();
    static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, Platform>): Promise<EvmCircleBridge<N, EvmChains>>;
    redeem(sender: AccountAddress<C>, message: CircleBridge.Message, attestation: string): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
    transfer(sender: AccountAddress<C>, recipient: ChainAddress, amount: bigint): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
    isTransferCompleted(message: CircleBridge.Message): Promise<boolean>;
    parseTransactionDetails(txid: string): Promise<CircleTransferMessage>;
    private createUnsignedTx;
}
//# sourceMappingURL=circleBridge.d.ts.map