export declare enum BlockchainLayer1Enum {
    ETHEREUM = "ETHEREUM",
    FLOW = "FLOW",
    SOLANA = "SOLANA",
    APTOS = "APTOS"
}
export declare const blockchainsLayer1: BlockchainLayer1Enum[];
export declare enum BlockchainEnum {
    ETHEREUM = "ETHEREUM",
    FLOW = "FLOW",
    POLYGON = "POLYGON",
    IMMUTABLEX = "IMMUTABLEX",
    SOLANA = "SOLANA",
    APTOS = "APTOS",
    ECLIPSE = "ECLIPSE",
    MANTLE = "MANTLE",
    ZKSYNC = "ZKSYNC",
    RARI = "RARI",
    ASTARZKEVM = "ASTARZKEVM",
    KROMA = "KROMA",
    BASE = "BASE",
    ARBITRUM = "ARBITRUM",
    LIGHTLINK = "LIGHTLINK",
    CELO = "CELO",
    CHILIZ = "CHILIZ",
    MOONBEAM = "MOONBEAM",
    PALM = "PALM",
    ETHERLINK = "ETHERLINK",
    LISK = "LISK",
    OASYS = "OASYS",
    SAAKURU = "SAAKURU",
    ALEPHZERO = "ALEPHZERO",
    SHAPE = "SHAPE",
    BERACHAIN = "BERACHAIN",
    ZKCANDY = "ZKCANDY",
    TELOS = "TELOS",
    MATCH = "MATCH",
    ABSTRACT = "ABSTRACT",
    HEDERAEVM = "HEDERAEVM",
    VICTION = "VICTION",
    GOAT = "GOAT",
    SETTLUS = "SETTLUS"
}
export declare const blockchains: BlockchainEnum[];
export declare const evmBlockchains: readonly [BlockchainEnum.POLYGON, BlockchainEnum.IMMUTABLEX, BlockchainEnum.POLYGON, BlockchainEnum.MANTLE, BlockchainEnum.ZKSYNC, BlockchainEnum.RARI, BlockchainEnum.ASTARZKEVM, BlockchainEnum.BASE, BlockchainEnum.ARBITRUM, BlockchainEnum.LIGHTLINK, BlockchainEnum.CELO, BlockchainEnum.KROMA, BlockchainEnum.CHILIZ, BlockchainEnum.MOONBEAM, BlockchainEnum.PALM, BlockchainEnum.ETHERLINK, BlockchainEnum.LISK, BlockchainEnum.OASYS, BlockchainEnum.SAAKURU, BlockchainEnum.ALEPHZERO, BlockchainEnum.SHAPE, BlockchainEnum.BERACHAIN, BlockchainEnum.TELOS, BlockchainEnum.MATCH, BlockchainEnum.ABSTRACT, BlockchainEnum.HEDERAEVM, BlockchainEnum.VICTION, BlockchainEnum.ZKCANDY, BlockchainEnum.GOAT, BlockchainEnum.SETTLUS];
export type EVMBlockchain = (typeof evmBlockchains)[number];
export declare function isEVMBlockchain(blockchain: string): blockchain is EVMBlockchain;
export declare const L1BlockchainByBlockchainDictionary: {
    readonly ETHEREUM: BlockchainLayer1Enum.ETHEREUM;
    readonly POLYGON: BlockchainLayer1Enum.ETHEREUM;
    readonly MANTLE: BlockchainLayer1Enum.ETHEREUM;
    readonly RARI: BlockchainLayer1Enum.ETHEREUM;
    readonly IMMUTABLEX: BlockchainLayer1Enum.ETHEREUM;
    readonly ZKSYNC: BlockchainLayer1Enum.ETHEREUM;
    readonly ASTARZKEVM: BlockchainLayer1Enum.ETHEREUM;
    readonly ARBITRUM: BlockchainLayer1Enum.ETHEREUM;
    readonly LIGHTLINK: BlockchainLayer1Enum.ETHEREUM;
    readonly CELO: BlockchainLayer1Enum.ETHEREUM;
    readonly KROMA: BlockchainLayer1Enum.ETHEREUM;
    readonly CHILIZ: BlockchainLayer1Enum.ETHEREUM;
    readonly BASE: BlockchainLayer1Enum.ETHEREUM;
    readonly MOONBEAM: BlockchainLayer1Enum.ETHEREUM;
    readonly PALM: BlockchainLayer1Enum.ETHEREUM;
    readonly ETHERLINK: BlockchainLayer1Enum.ETHEREUM;
    readonly LISK: BlockchainLayer1Enum.ETHEREUM;
    readonly OASYS: BlockchainLayer1Enum.ETHEREUM;
    readonly SAAKURU: BlockchainLayer1Enum.ETHEREUM;
    readonly FLOW: BlockchainLayer1Enum.FLOW;
    readonly SOLANA: BlockchainLayer1Enum.SOLANA;
    readonly ECLIPSE: BlockchainLayer1Enum.SOLANA;
    readonly APTOS: BlockchainLayer1Enum.APTOS;
    readonly ALEPHZERO: BlockchainLayer1Enum.ETHEREUM;
    readonly SHAPE: BlockchainLayer1Enum.ETHEREUM;
    readonly BERACHAIN: BlockchainLayer1Enum.ETHEREUM;
    readonly TELOS: BlockchainLayer1Enum.ETHEREUM;
    readonly MATCH: BlockchainLayer1Enum.ETHEREUM;
    readonly ABSTRACT: BlockchainLayer1Enum.ETHEREUM;
    readonly HEDERAEVM: BlockchainLayer1Enum.ETHEREUM;
    readonly ZKCANDY: BlockchainLayer1Enum.ETHEREUM;
    readonly VICTION: BlockchainLayer1Enum.ETHEREUM;
    readonly GOAT: BlockchainLayer1Enum.ETHEREUM;
    readonly SETTLUS: BlockchainLayer1Enum.ETHEREUM;
};
export type L1BlockchainByBlockchain = typeof L1BlockchainByBlockchainDictionary;
export interface BlockchainByL1Blockchain extends Record<BlockchainLayer1Enum, BlockchainEnum> {
    [BlockchainLayer1Enum.ETHEREUM]: EVMBlockchain;
    [BlockchainLayer1Enum.FLOW]: BlockchainEnum.FLOW;
    [BlockchainLayer1Enum.SOLANA]: BlockchainEnum.SOLANA;
    [BlockchainLayer1Enum.APTOS]: BlockchainEnum.APTOS;
}
export type WithLayer1Blockchain<T extends BlockchainLayer1Enum = BlockchainLayer1Enum, Base extends string = string> = `${T}:${Base}`;
export type WithBlockchain<T extends BlockchainEnum = BlockchainEnum, Base extends string = string> = `${T}:${Base}`;
