import { Theme } from "./theme";
export declare const MAINNET_CHAINS: {
    readonly solana: 1;
    readonly ethereum: 2;
    readonly bsc: 4;
    readonly polygon: 5;
    readonly avalanche: 6;
    readonly fantom: 10;
    readonly celo: 14;
    readonly moonbeam: 16;
    readonly osmosis: 20;
    readonly sui: 21;
    readonly aptos: 22;
    readonly arbitrum: 23;
    readonly optimism: 24;
    readonly base: 30;
    readonly wormchain: 3104;
    readonly evmos: 4001;
    readonly kujira: 4002;
};
export type MainnetChainName = keyof typeof MAINNET_CHAINS;
export type MainnetChainId = (typeof MAINNET_CHAINS)[MainnetChainName];
export declare const TESTNET_CHAINS: {
    readonly solana: 1;
    readonly goerli: 2;
    readonly bsc: 4;
    readonly mumbai: 5;
    readonly fuji: 6;
    readonly fantom: 10;
    readonly alfajores: 14;
    readonly moonbasealpha: 16;
    readonly osmosis: 20;
    readonly sui: 21;
    readonly aptos: 22;
    readonly arbitrumgoerli: 23;
    readonly optimismgoerli: 24;
    readonly basegoerli: 30;
    readonly wormchain: 3104;
    readonly evmos: 4001;
    readonly kujira: 4002;
};
export type TestnetChainName = keyof typeof TESTNET_CHAINS;
export type TestnetChainId = (typeof TESTNET_CHAINS)[TestnetChainName];
export type ChainName = MainnetChainName | TestnetChainName;
export type ChainId = MainnetChainId | TestnetChainId;
export type Rpcs = {
    [chain in ChainName]?: string;
};
export interface BridgeDefaults {
    fromNetwork?: ChainName;
    toNetwork?: ChainName;
    token?: string;
    requiredNetwork?: ChainName;
}
export interface WormholeConnectConfig {
    showHamburgerMenu?: boolean;
    env?: "mainnet" | "testnet" | "devnet";
    rpcs?: Rpcs;
    rest?: Rpcs;
    networks?: ChainName[];
    tokens?: string[];
    mode?: "dark" | "light";
    customTheme?: Theme;
    cta?: {
        text: string;
        link: string;
    };
    explorer?: ExplorerConfig;
    menu?: MenuEntry[];
    bridgeDefaults?: BridgeDefaults;
    routes?: string[];
    pageHeader?: string;
    cctpWarning?: {
        href: string;
    };
    pageSubHeader?: string;
    searchTx?: SearchTxConfig;
    moreTokens?: MoreTokenConfig;
    moreNetworks?: MoreChainConfig;
    partnerLogo?: string;
    walletConnectProjectId?: string;
    ethBridgeMaxAmount?: number;
    wstETHBridgeMaxAmount?: number;
}
export type ExplorerConfig = {
    href: string;
    label?: string;
    target?: "_blank" | "_self";
};
export type SearchTxConfig = {
    txHash?: string;
    chainName?: ChainName;
};
export type MoreTokenConfig = {
    label: string;
    href: string;
    target?: "_blank" | "_self";
};
export type MoreChainConfig = {
    href: string;
    target?: "_blank" | "_self";
    description: string;
    networks: MoreChainDefinition[];
};
export type MoreChainDefinition = {
    icon: string;
    href?: string;
    label: string;
    name?: string;
    description?: string;
    target?: "_blank" | "_self";
    showOpenInNewIcon?: boolean;
};
export interface MenuEntry {
    label: string;
    href: string;
    target?: string;
    order?: number;
}
