type JsonType = string | boolean | number | Array | Record; type Omit = Pick>; type Rename = Omit & { [P in N]: T[K]; }; /** The current EVM chains Switchboard is currently deployed on. */ export declare const SWITCHBOARD_EVM_CHAINS: readonly ["arbitrum", "base", "coredao", "ethereum", "optimism", "aurora"]; /** The current EVM chains Switchboard is currently deployed on. */ export type EvmChainType = (typeof SWITCHBOARD_EVM_CHAINS)[number]; /** The current chains Switchboard is currently deployed on. */ export declare const SWITCHBOARD_CHAINS: readonly ["aptos", "near", "solana", "starknet", "sui", "arbitrum", "base", "coredao", "ethereum", "optimism", "aurora"]; /** The current chains Switchboard is currently deployed on. */ export type ChainType = (typeof SWITCHBOARD_CHAINS)[number]; export declare const SUPPORTED_EVM_CHAIN_IDS: readonly [42161, 421613, 421614, 8453, 84531, 1116, 1114, 1, 5, 10, 420, 1313161554, 1313161555]; export type EvmChainIds = (typeof SUPPORTED_EVM_CHAIN_IDS)[number]; /** Type assertion for whether a given EVM chainID is supported on the Switchboard Network. */ type IBaseQueueConfig = { name: string; address: string; settings?: Record; }; type ISwitchboardAttestationQueueConfig = IBaseQueueConfig; type ISwitchboardQueueConfig = IBaseQueueConfig & { crankAddress?: string; permissioned: boolean; }; declare const EVM_SUPPPORTED_NETWORKS: readonly ["mainnet", "testnet"]; export type EvmNetworkType = (typeof EVM_SUPPPORTED_NETWORKS)[number]; declare const SUPPPORTED_NETWORKS: readonly ["mainnet", "testnet", "devnet"]; export type NetworkType = (typeof SUPPPORTED_NETWORKS)[number]; type INetworkMetadata = { [key: string]: JsonType | undefined; defaultRpcUrl: string; }; type IBaseNetworkConfig = { chain: ChainType; networkName: string; address: string; metadata: INetworkMetadata; }; export type IEvmNetworkConfig = IBaseNetworkConfig & { sbPushOracle: string; chainId: number; queues: Array; attestationQueues: Array; }; export type IStarknetNetworkConfig = IBaseNetworkConfig & { chainId: string; queues: Array; attestationQueues: Array; }; export type IChainNetworkConfig = IBaseNetworkConfig & { attestationService?: string; queues: Array; attestationQueues: Array; }; export type ISolanaNetworkConfig = IChainNetworkConfig & { attestationService: string; idlAddress: string; attestationIdlAddress: string; }; export type IMoveNetworkConfig = IChainNetworkConfig & { switchboardStdLib: string; }; export type INetworkConfig = IEvmNetworkConfig | IChainNetworkConfig | ISolanaNetworkConfig | IStarknetNetworkConfig | IMoveNetworkConfig; export type IChainConfig = { mainnet: IChainNetworkConfig; testnet: IChainNetworkConfig; sepolia?: IChainNetworkConfig; }; export type ISolanaConfig = Rename; export type IStarknetConfig = { mainnet: IChainNetworkConfig; sepolia: IChainNetworkConfig; goerli: IChainNetworkConfig; }; export type ChainConfig = IChainConfig | ISolanaConfig | IStarknetConfig; export type EvmChainConfigs = { arbitrum: IChainConfig; base: IChainConfig; coredao: IChainConfig; ethereum: IChainConfig; optimism: IChainConfig; aurora: IChainConfig; }; export type ChainConfigs = EvmChainConfigs & { aptos: IChainConfig; near: IChainConfig; solana: ISolanaConfig; starknet: IStarknetConfig; sui: IChainConfig; }; export type SwitchboardEvmNetworks = { [K in EvmChainType]: EvmChainConfigs[K]; }; export type SwitchboardNetworks = SwitchboardEvmNetworks & { [K in ChainType]: ChainConfigs[K]; }; export {}; //# sourceMappingURL=types.d.ts.map