import { AccountAddress, Chain, ChainAddress, ChainsConfig, Contracts, NativeAddress, Network, Platform, TokenAddress, TokenBridge, TokenId } from '@wormhole-foundation/connect-sdk';
import { Provider } from 'ethers';
import { TokenBridgeContract } from './ethers-contracts';
import { EvmChains, EvmUnsignedTransaction } from '@wormhole-foundation/connect-sdk-evm';
import '@wormhole-foundation/connect-sdk-evm-core';
export declare class EvmTokenBridge<N extends Network, C extends EvmChains> implements TokenBridge<N, C> {
    readonly network: N;
    readonly chain: C;
    readonly provider: Provider;
    readonly contracts: Contracts;
    readonly tokenBridge: TokenBridgeContract;
    readonly tokenBridgeAddress: string;
    readonly chainId: bigint;
    private constructor();
    static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, Platform>): Promise<EvmTokenBridge<N, EvmChains>>;
    isWrappedAsset(token: TokenAddress<C>): Promise<boolean>;
    getOriginalAsset(token: TokenAddress<C>): Promise<TokenId>;
    hasWrappedAsset(token: TokenId): Promise<boolean>;
    getWrappedAsset(token: TokenId<Chain>): Promise<NativeAddress<C>>;
    isTransferCompleted(vaa: TokenBridge.TransferVAA): Promise<boolean>;
    createAttestation(token: TokenAddress<C>): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
    submitAttestation(vaa: TokenBridge.AttestVAA): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
    transfer(sender: AccountAddress<C>, recipient: ChainAddress, token: TokenAddress<C>, amount: bigint, payload?: Uint8Array): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
    redeem(sender: AccountAddress<C>, vaa: TokenBridge.TransferVAA, unwrapNative?: boolean): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
    getWrappedNative(): Promise<import("@wormhole-foundation/connect-sdk").ChainToPlatform<C> extends infer T ? T extends import("@wormhole-foundation/connect-sdk").ChainToPlatform<C> ? T extends "Evm" ? WormholeNamespace.PlatformToNativeAddressMapping[T] : never : never : never>;
    private createUnsignedTx;
}
//# sourceMappingURL=tokenBridge.d.ts.map