import type { AccountAddress, ChainAddress, ChainsConfig, Contracts, Network, Platform, TokenAddress, TokenId } from '@wormhole-foundation/sdk-connect';
import { PorticoBridge } from '@wormhole-foundation/sdk-connect';
import type { EvmChains } from '@wormhole-foundation/sdk-evm';
import { EvmUnsignedTransaction } from '@wormhole-foundation/sdk-evm';
import type { Provider } from 'ethers';
import { EvmWormholeCore } from '@wormhole-foundation/sdk-evm-core';
import { EvmTokenBridge } from '@wormhole-foundation/sdk-evm-tokenbridge';
import '@wormhole-foundation/sdk-evm-tokenbridge';
export declare class EvmPorticoBridge<N extends Network, C extends EvmChains = EvmChains> implements PorticoBridge<N, C> {
    readonly network: N;
    readonly chain: C;
    readonly provider: Provider;
    readonly contracts: Contracts;
    chainId: bigint;
    core: EvmWormholeCore<N, C>;
    tokenBridge: EvmTokenBridge<N, C>;
    constructor(network: N, chain: C, provider: Provider, contracts: Contracts);
    static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, Platform>): Promise<EvmPorticoBridge<N, EvmChains>>;
    transfer(sender: AccountAddress<C>, receiver: ChainAddress, token: TokenAddress<C>, amount: bigint, destToken: TokenId, destinationPorticoAddress: string, quote: PorticoBridge.Quote): AsyncGenerator<EvmUnsignedTransaction<N, C>, void, unknown>;
    redeem(sender: AccountAddress<C>, vaa: PorticoBridge.VAA): AsyncGenerator<EvmUnsignedTransaction<N, C>, void, unknown>;
    isTransferCompleted(vaa: PorticoBridge.VAA): Promise<boolean>;
    quoteSwap(input: TokenAddress<C>, output: TokenAddress<C>, tokenGroup: string, amount: bigint): Promise<bigint>;
    quoteRelay(startToken: TokenAddress<C>, endToken: TokenAddress<C>): Promise<bigint>;
    getTransferrableToken(address: string): Promise<TokenId>;
    supportedTokens(): {
        group: string;
        token: TokenId;
    }[];
    getTokenGroup(address: string): string;
    private approve;
    private createUnsignedTransaction;
    getPorticoAddress(group: string): string;
    private getQuoterAddress;
}
//# sourceMappingURL=bridge.d.ts.map