import { Network, ChainName } from "../";
import { ethers } from "ethers";
import { WormholeRelayer } from "../ethers-contracts/";
declare type AddressInfo = {
    wormholeRelayerAddress?: string;
    mockDeliveryProviderAddress?: string;
    mockIntegrationAddress?: string;
};
export declare const RELAYER_CONTRACTS: {
    MAINNET: {
        unset?: AddressInfo | undefined;
        solana?: AddressInfo | undefined;
        ethereum?: AddressInfo | undefined;
        terra?: AddressInfo | undefined;
        bsc?: AddressInfo | undefined;
        polygon?: AddressInfo | undefined;
        avalanche?: AddressInfo | undefined;
        oasis?: AddressInfo | undefined;
        algorand?: AddressInfo | undefined;
        aurora?: AddressInfo | undefined;
        fantom?: AddressInfo | undefined;
        karura?: AddressInfo | undefined;
        acala?: AddressInfo | undefined;
        klaytn?: AddressInfo | undefined;
        celo?: AddressInfo | undefined;
        near?: AddressInfo | undefined;
        moonbeam?: AddressInfo | undefined;
        neon?: AddressInfo | undefined;
        terra2?: AddressInfo | undefined;
        injective?: AddressInfo | undefined;
        osmosis?: AddressInfo | undefined;
        sui?: AddressInfo | undefined;
        aptos?: AddressInfo | undefined;
        arbitrum?: AddressInfo | undefined;
        optimism?: AddressInfo | undefined;
        gnosis?: AddressInfo | undefined;
        pythnet?: AddressInfo | undefined;
        xpla?: AddressInfo | undefined;
        btc?: AddressInfo | undefined;
        base?: AddressInfo | undefined;
        sei?: AddressInfo | undefined;
        rootstock?: AddressInfo | undefined;
        wormchain?: AddressInfo | undefined;
        sepolia?: AddressInfo | undefined;
    };
    TESTNET: {
        unset?: AddressInfo | undefined;
        solana?: AddressInfo | undefined;
        ethereum?: AddressInfo | undefined;
        terra?: AddressInfo | undefined;
        bsc?: AddressInfo | undefined;
        polygon?: AddressInfo | undefined;
        avalanche?: AddressInfo | undefined;
        oasis?: AddressInfo | undefined;
        algorand?: AddressInfo | undefined;
        aurora?: AddressInfo | undefined;
        fantom?: AddressInfo | undefined;
        karura?: AddressInfo | undefined;
        acala?: AddressInfo | undefined;
        klaytn?: AddressInfo | undefined;
        celo?: AddressInfo | undefined;
        near?: AddressInfo | undefined;
        moonbeam?: AddressInfo | undefined;
        neon?: AddressInfo | undefined;
        terra2?: AddressInfo | undefined;
        injective?: AddressInfo | undefined;
        osmosis?: AddressInfo | undefined;
        sui?: AddressInfo | undefined;
        aptos?: AddressInfo | undefined;
        arbitrum?: AddressInfo | undefined;
        optimism?: AddressInfo | undefined;
        gnosis?: AddressInfo | undefined;
        pythnet?: AddressInfo | undefined;
        xpla?: AddressInfo | undefined;
        btc?: AddressInfo | undefined;
        base?: AddressInfo | undefined;
        sei?: AddressInfo | undefined;
        rootstock?: AddressInfo | undefined;
        wormchain?: AddressInfo | undefined;
        sepolia?: AddressInfo | undefined;
    };
    DEVNET: {
        unset?: AddressInfo | undefined;
        solana?: AddressInfo | undefined;
        ethereum?: AddressInfo | undefined;
        terra?: AddressInfo | undefined;
        bsc?: AddressInfo | undefined;
        polygon?: AddressInfo | undefined;
        avalanche?: AddressInfo | undefined;
        oasis?: AddressInfo | undefined;
        algorand?: AddressInfo | undefined;
        aurora?: AddressInfo | undefined;
        fantom?: AddressInfo | undefined;
        karura?: AddressInfo | undefined;
        acala?: AddressInfo | undefined;
        klaytn?: AddressInfo | undefined;
        celo?: AddressInfo | undefined;
        near?: AddressInfo | undefined;
        moonbeam?: AddressInfo | undefined;
        neon?: AddressInfo | undefined;
        terra2?: AddressInfo | undefined;
        injective?: AddressInfo | undefined;
        osmosis?: AddressInfo | undefined;
        sui?: AddressInfo | undefined;
        aptos?: AddressInfo | undefined;
        arbitrum?: AddressInfo | undefined;
        optimism?: AddressInfo | undefined;
        gnosis?: AddressInfo | undefined;
        pythnet?: AddressInfo | undefined;
        xpla?: AddressInfo | undefined;
        btc?: AddressInfo | undefined;
        base?: AddressInfo | undefined;
        sei?: AddressInfo | undefined;
        rootstock?: AddressInfo | undefined;
        wormchain?: AddressInfo | undefined;
        sepolia?: AddressInfo | undefined;
    };
};
export declare function getAddressInfo(chainName: ChainName, env: Network): AddressInfo;
export declare function getWormholeRelayerAddress(chainName: ChainName, env: Network): string;
export declare function getWormholeRelayer(chainName: ChainName, env: Network, provider: ethers.providers.Provider | ethers.Signer, wormholeRelayerAddress?: string): WormholeRelayer;
export declare const RPCS_BY_CHAIN: {
    [key in Network]: {
        [key in ChainName]?: string;
    };
};
export declare const GUARDIAN_RPC_HOSTS: string[];
export {};
