import { z } from 'zod'; import { TokenFeeType } from '../fee/types.js'; import { DerivedRouterConfig, GasRouterConfigSchema } from '../router/types.js'; import { ChainMap } from '../types.js'; export declare const WarpRouteDeployConfigSchemaErrors: { ONLY_SYNTHETIC_REBASE: string; NO_SYNTHETIC_ONLY: string; }; export declare const contractVersionMatchesDependency: (version: string) => boolean; export declare const VERSION_ERROR_MESSAGE = "Contract version must match the @hyperlane-xyz/core dependency version (11.0.2)"; export declare const TokenMetadataSchema: z.ZodObject<{ name: z.ZodString; symbol: z.ZodString; decimals: z.ZodOptional; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>; isNft: z.ZodOptional; contractVersion: z.ZodOptional; }, "strip", z.ZodTypeAny, { symbol: string; name: string; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }, { symbol: string; name: string; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }>; export type TokenMetadata = z.infer; export declare const isTokenMetadata: (config: unknown) => config is { symbol: string; name: string; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }; export declare const isEverclearTokenBridgeConfig: (config: unknown) => config is { everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; }; export declare const BaseMovableTokenConfigSchema: z.ZodObject<{ allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; }, "strip", z.ZodTypeAny, { allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>; export declare const NativeTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "strip", z.ZodTypeAny, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>; export type NativeTokenConfig = z.infer; export declare const isNativeTokenConfig: (config: unknown) => config is { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }; export declare const OpL2TokenConfigSchema: z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>; export declare const OpL1TokenConfigSchema: z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>; export type OpL1TokenConfig = z.infer; export declare const isOpL1TokenConfig: (config: unknown) => config is { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }; export type OpL2TokenConfig = z.infer; export declare const isOpL2TokenConfig: (config: unknown) => config is { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }; export declare const CollateralTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "strip", z.ZodTypeAny, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>; export type CollateralTokenConfig = z.infer; export declare const isCollateralTokenConfig: (config: unknown) => config is { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }; export declare enum XERC20Type { Velo = "velo", Standard = "standard" } declare const XERC20VSLimitConfigSchema: z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>; export type XERC20VSLimitConfig = z.infer; declare const XERC20StandardLimitConfigSchema: z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>; export type XERC20StandardLimitConfig = z.infer; declare const xERC20ExtraBridgesLimitConfigsSchema: z.ZodObject<{ lockbox: z.ZodString; limits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }>; declare const xERC20TokenMetadataSchema: z.ZodObject<{ xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }>, "many">>; warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; }, { xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; }>; export type XERC20TokenMetadata = z.infer; export type XERC20TokenExtraBridgesLimits = z.infer; export declare const XERC20TokenConfigSchema: z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "type"> & { type: z.ZodEnum<["xERC20", "xERC20Lockbox"]>; } & { xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }>, "many">>; warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>; export type XERC20LimitsTokenConfig = z.infer; export declare const isXERC20TokenConfig: (config: unknown) => config is { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }; export declare const CctpTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<["V1", "V2"]>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }>; export type CctpTokenConfig = z.infer; export declare const isCctpTokenConfig: (config: unknown) => config is { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }; export declare const CollateralRebaseTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"collateralVaultRebase">; }, "strip", z.ZodTypeAny, { type: "collateralVaultRebase"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }, { type: "collateralVaultRebase"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }>; export declare const isCollateralRebaseTokenConfig: (config: unknown) => config is { type: "collateralVaultRebase"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }; export declare const SyntheticTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodEnum<["synthetic", "syntheticUri"]>; initialSupply: z.ZodOptional>; metadataUri: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }>; export type SyntheticTokenConfig = z.infer; export declare const isSyntheticTokenConfig: (config: unknown) => config is { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }; export declare const SyntheticRebaseTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; }, "strip", z.ZodTypeAny, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }>; export type SyntheticRebaseTokenConfig = z.infer; export declare const isSyntheticRebaseTokenConfig: (config: unknown) => config is { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }; /** * Configuration for MultiCollateral (multi-router collateral routing). * Direct 1-message atomic transfers between collateral routers. */ export declare const MultiCollateralTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"multiCollateral">; token: z.ZodString; /** Map of domain → router addresses to enroll */ enrolledRouters: z.ZodOptional, z.ZodArray>>; }, "strip", z.ZodTypeAny, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }>; export type MultiCollateralTokenConfig = z.infer; export declare const isMultiCollateralTokenConfig: (config: unknown) => config is { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }; export declare const EverclearCollateralTokenConfigSchema: z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; token: z.ZodString; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"collateralEverclear">; }, "strip", z.ZodTypeAny, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>; export type EverclearCollateralTokenConfig = z.infer; export declare const isEverclearCollateralTokenConfig: (config: unknown) => config is { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }; export declare const EverclearEthBridgeTokenConfigSchema: z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>; export type EverclearEthBridgeTokenConfig = z.infer; export declare const isEverclearEthBridgeTokenConfig: (config: unknown) => config is { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }; export declare enum ContractVerificationStatus { Verified = "verified", Unverified = "unverified", Error = "error", Skipped = "skipped" } export declare enum OwnerStatus { Active = "active",// Active address with nonce > 0 and/or contract code Inactive = "inactive", GnosisSafe = "gnosisSafe", Error = "error", Skipped = "skipped" } export declare const HypTokenRouterVirtualConfigSchema: z.ZodObject<{ contractVerificationStatus: z.ZodRecord>; ownerStatus: z.ZodRecord>; }, "strip", z.ZodTypeAny, { contractVerificationStatus: Record; ownerStatus: Record; }, { contractVerificationStatus: Record; ownerStatus: Record; }>; export type HypTokenRouterVirtualConfig = z.infer; export declare const UnknownTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">>; export type UnknownTokenConfig = z.infer; export declare const isUnknownTokenConfig: (config: unknown) => config is z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">; declare const AllHypTokenConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "strip", z.ZodTypeAny, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "strip", z.ZodTypeAny, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "type"> & { type: z.ZodEnum<["xERC20", "xERC20Lockbox"]>; } & { xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }>, "many">>; warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodEnum<["synthetic", "syntheticUri"]>; initialSupply: z.ZodOptional>; metadataUri: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; }, "strip", z.ZodTypeAny, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<["V1", "V2"]>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; token: z.ZodString; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"collateralEverclear">; }, "strip", z.ZodTypeAny, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"multiCollateral">; token: z.ZodString; /** Map of domain → router addresses to enroll */ enrolledRouters: z.ZodOptional, z.ZodArray>>; }, "strip", z.ZodTypeAny, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">>]>; export type HypTokenConfig = z.infer; /** * @remarks * The discriminatedUnion is basically a switch statement for zod schemas * It uses the 'type' key to pick from the array of schemas to validate */ export declare const HypTokenConfigSchema: z.ZodEffects; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "strip", z.ZodTypeAny, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "strip", z.ZodTypeAny, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "type"> & { type: z.ZodEnum<["xERC20", "xERC20Lockbox"]>; } & { xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }>, "many">>; warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodEnum<["synthetic", "syntheticUri"]>; initialSupply: z.ZodOptional>; metadataUri: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; }, "strip", z.ZodTypeAny, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<["V1", "V2"]>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; token: z.ZodString; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"collateralEverclear">; }, "strip", z.ZodTypeAny, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"multiCollateral">; token: z.ZodString; /** Map of domain → router addresses to enroll */ enrolledRouters: z.ZodOptional, z.ZodArray>>; }, "strip", z.ZodTypeAny, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">>]>, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, unknown>; export declare const HypTokenRouterConfigSchema: z.ZodEffects; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "strip", z.ZodTypeAny, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "strip", z.ZodTypeAny, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "type"> & { type: z.ZodEnum<["xERC20", "xERC20Lockbox"]>; } & { xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }>, "many">>; warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodEnum<["synthetic", "syntheticUri"]>; initialSupply: z.ZodOptional>; metadataUri: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; }, "strip", z.ZodTypeAny, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<["V1", "V2"]>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; token: z.ZodString; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"collateralEverclear">; }, "strip", z.ZodTypeAny, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"multiCollateral">; token: z.ZodString; /** Map of domain → router addresses to enroll */ enrolledRouters: z.ZodOptional, z.ZodArray>>; }, "strip", z.ZodTypeAny, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">>]>, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, unknown>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { mailbox: z.ZodString; hook: z.ZodOptional>; } & { type: z.ZodLiteral<"protocolFee">; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { paused: z.ZodBoolean; } & { type: z.ZodLiteral<"pausableHook">; }, "strip", z.ZodTypeAny, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"opStackHook">; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"merkleTreeHook">; }, "strip", z.ZodTypeAny, { type: "merkleTreeHook"; }, { type: "merkleTreeHook"; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainGasPaymaster">; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord; oracleConfig: z.ZodRecord; } & { typicalCost: z.ZodOptional>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; }, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; }>, z.ZodType, z.ZodType, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Hook">; arbSys: z.ZodString; bridge: z.ZodOptional; destinationChain: z.ZodString; childHook: z.ZodLazy>; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<"defaultHook">; }, "strip", z.ZodTypeAny, { type: "defaultHook"; }, { type: "defaultHook"; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipHook">; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipHook"; destinationChain: string; }, { type: "ccipHook"; destinationChain: string; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownHook">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">>]>>; interchainSecurityModule: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "testIsm"; }, { type: "testIsm"; }>, z.ZodObject<{ type: z.ZodLiteral<"opStackIsm">; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackIsm"; nativeBridge: string; origin: string; }, { type: "opStackIsm"; nativeBridge: string; origin: string; }>, z.ZodIntersection>; } & { paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"pausableIsm">; }, "strip", z.ZodTypeAny, { type: "pausableIsm"; }, { type: "pausableIsm"; }>>, z.ZodObject<{ type: z.ZodLiteral<"trustedRelayerIsm">; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: "trustedRelayerIsm"; relayer: string; }, { type: "trustedRelayerIsm"; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipIsm">; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipIsm"; originChain: string; }, { type: "ccipIsm"; originChain: string; }>, z.ZodIntersection; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { threshold: number; validators: string[]; }, { threshold: number; validators: string[]; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"merkleRootMultisigIsm">, z.ZodLiteral<"messageIdMultisigIsm">, z.ZodLiteral<"storageMerkleRootMultisigIsm">, z.ZodLiteral<"storageMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }>>, z.ZodIntersection, "many">; thresholdWeight: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"weightedMerkleRootMultisigIsm">, z.ZodLiteral<"weightedMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }>>, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Ism">; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Ism"; bridge: string; }, { type: "arbL2ToL1Ism"; bridge: string; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainAccountRouting">; isms: z.ZodRecord; }, "strip", z.ZodTypeAny, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownIsm">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">>]>>; } & { foreignDeployment: z.ZodOptional; } & { remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>>>; proxyAdmin: z.ZodOptional>; } & { address: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }>>; tokenFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ owner: z.ZodString; } & { type: z.ZodLiteral; feeContracts: z.ZodOptional>>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }>]>>; } & { gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; }, "strip", z.ZodTypeAny, { owner: string; mailbox: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }, { owner: string; mailbox: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }>>, z.ZodObject<{ contractVerificationStatus: z.ZodOptional>>; ownerStatus: z.ZodOptional>>; }, "strip", z.ZodTypeAny, { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }, { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>, (({ type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; mailbox: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }, unknown>; export type HypTokenRouterConfig = z.infer; export type DerivedTokenRouterConfig = z.infer & z.infer & DerivedRouterConfig; export type DerivedWarpRouteDeployConfig = ChainMap; export declare function derivedHookAddress(config: DerivedTokenRouterConfig): string; export declare function derivedIsmAddress(config: DerivedTokenRouterConfig): string; export declare const HypTokenRouterConfigMailboxOptionalBaseSchema: z.ZodIntersection; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "strip", z.ZodTypeAny, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "strip", z.ZodTypeAny, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "type"> & { type: z.ZodEnum<["xERC20", "xERC20Lockbox"]>; } & { xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }>, "many">>; warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodEnum<["synthetic", "syntheticUri"]>; initialSupply: z.ZodOptional>; metadataUri: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; }, "strip", z.ZodTypeAny, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<["V1", "V2"]>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; token: z.ZodString; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"collateralEverclear">; }, "strip", z.ZodTypeAny, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"multiCollateral">; token: z.ZodString; /** Map of domain → router addresses to enroll */ enrolledRouters: z.ZodOptional, z.ZodArray>>; }, "strip", z.ZodTypeAny, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">>]>, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, unknown>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; hook: z.ZodOptional>; } & { type: z.ZodLiteral<"protocolFee">; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { paused: z.ZodBoolean; } & { type: z.ZodLiteral<"pausableHook">; }, "strip", z.ZodTypeAny, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"opStackHook">; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"merkleTreeHook">; }, "strip", z.ZodTypeAny, { type: "merkleTreeHook"; }, { type: "merkleTreeHook"; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainGasPaymaster">; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord; oracleConfig: z.ZodRecord; } & { typicalCost: z.ZodOptional>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; }, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; }>, z.ZodType, z.ZodType, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Hook">; arbSys: z.ZodString; bridge: z.ZodOptional; destinationChain: z.ZodString; childHook: z.ZodLazy>; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<"defaultHook">; }, "strip", z.ZodTypeAny, { type: "defaultHook"; }, { type: "defaultHook"; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipHook">; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipHook"; destinationChain: string; }, { type: "ccipHook"; destinationChain: string; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownHook">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">>]>>; interchainSecurityModule: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "testIsm"; }, { type: "testIsm"; }>, z.ZodObject<{ type: z.ZodLiteral<"opStackIsm">; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackIsm"; nativeBridge: string; origin: string; }, { type: "opStackIsm"; nativeBridge: string; origin: string; }>, z.ZodIntersection>; } & { paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"pausableIsm">; }, "strip", z.ZodTypeAny, { type: "pausableIsm"; }, { type: "pausableIsm"; }>>, z.ZodObject<{ type: z.ZodLiteral<"trustedRelayerIsm">; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: "trustedRelayerIsm"; relayer: string; }, { type: "trustedRelayerIsm"; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipIsm">; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipIsm"; originChain: string; }, { type: "ccipIsm"; originChain: string; }>, z.ZodIntersection; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { threshold: number; validators: string[]; }, { threshold: number; validators: string[]; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"merkleRootMultisigIsm">, z.ZodLiteral<"messageIdMultisigIsm">, z.ZodLiteral<"storageMerkleRootMultisigIsm">, z.ZodLiteral<"storageMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }>>, z.ZodIntersection, "many">; thresholdWeight: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"weightedMerkleRootMultisigIsm">, z.ZodLiteral<"weightedMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }>>, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Ism">; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Ism"; bridge: string; }, { type: "arbL2ToL1Ism"; bridge: string; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainAccountRouting">; isms: z.ZodRecord; }, "strip", z.ZodTypeAny, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownIsm">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">>]>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>>>; proxyAdmin: z.ZodOptional>; } & { address: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }>>; tokenFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ owner: z.ZodString; } & { type: z.ZodLiteral; feeContracts: z.ZodOptional>>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }>]>>; gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; } & { mailbox: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }, { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }>>, z.ZodObject<{ contractVerificationStatus: z.ZodOptional>>; ownerStatus: z.ZodOptional>>; }, "strip", z.ZodTypeAny, { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }, { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>; export type HypTokenRouterConfigMailboxOptionalBase = z.infer; export declare const HypTokenRouterConfigMailboxOptionalSchema: z.ZodEffects; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "strip", z.ZodTypeAny, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "strip", z.ZodTypeAny, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "type"> & { type: z.ZodEnum<["xERC20", "xERC20Lockbox"]>; } & { xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }>, "many">>; warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodEnum<["synthetic", "syntheticUri"]>; initialSupply: z.ZodOptional>; metadataUri: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; }, "strip", z.ZodTypeAny, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<["V1", "V2"]>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; token: z.ZodString; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"collateralEverclear">; }, "strip", z.ZodTypeAny, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"multiCollateral">; token: z.ZodString; /** Map of domain → router addresses to enroll */ enrolledRouters: z.ZodOptional, z.ZodArray>>; }, "strip", z.ZodTypeAny, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">>]>, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, unknown>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; hook: z.ZodOptional>; } & { type: z.ZodLiteral<"protocolFee">; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { paused: z.ZodBoolean; } & { type: z.ZodLiteral<"pausableHook">; }, "strip", z.ZodTypeAny, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"opStackHook">; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"merkleTreeHook">; }, "strip", z.ZodTypeAny, { type: "merkleTreeHook"; }, { type: "merkleTreeHook"; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainGasPaymaster">; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord; oracleConfig: z.ZodRecord; } & { typicalCost: z.ZodOptional>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; }, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; }>, z.ZodType, z.ZodType, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Hook">; arbSys: z.ZodString; bridge: z.ZodOptional; destinationChain: z.ZodString; childHook: z.ZodLazy>; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<"defaultHook">; }, "strip", z.ZodTypeAny, { type: "defaultHook"; }, { type: "defaultHook"; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipHook">; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipHook"; destinationChain: string; }, { type: "ccipHook"; destinationChain: string; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownHook">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">>]>>; interchainSecurityModule: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "testIsm"; }, { type: "testIsm"; }>, z.ZodObject<{ type: z.ZodLiteral<"opStackIsm">; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackIsm"; nativeBridge: string; origin: string; }, { type: "opStackIsm"; nativeBridge: string; origin: string; }>, z.ZodIntersection>; } & { paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"pausableIsm">; }, "strip", z.ZodTypeAny, { type: "pausableIsm"; }, { type: "pausableIsm"; }>>, z.ZodObject<{ type: z.ZodLiteral<"trustedRelayerIsm">; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: "trustedRelayerIsm"; relayer: string; }, { type: "trustedRelayerIsm"; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipIsm">; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipIsm"; originChain: string; }, { type: "ccipIsm"; originChain: string; }>, z.ZodIntersection; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { threshold: number; validators: string[]; }, { threshold: number; validators: string[]; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"merkleRootMultisigIsm">, z.ZodLiteral<"messageIdMultisigIsm">, z.ZodLiteral<"storageMerkleRootMultisigIsm">, z.ZodLiteral<"storageMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }>>, z.ZodIntersection, "many">; thresholdWeight: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"weightedMerkleRootMultisigIsm">, z.ZodLiteral<"weightedMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }>>, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Ism">; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Ism"; bridge: string; }, { type: "arbL2ToL1Ism"; bridge: string; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainAccountRouting">; isms: z.ZodRecord; }, "strip", z.ZodTypeAny, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownIsm">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">>]>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>>>; proxyAdmin: z.ZodOptional>; } & { address: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }>>; tokenFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ owner: z.ZodString; } & { type: z.ZodLiteral; feeContracts: z.ZodOptional>>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }>]>>; gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; } & { mailbox: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }, { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }>>, z.ZodObject<{ contractVerificationStatus: z.ZodOptional>>; ownerStatus: z.ZodOptional>>; }, "strip", z.ZodTypeAny, { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }, { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>, (({ type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }, unknown>; export type HypTokenRouterConfigMailboxOptional = z.infer; export declare const WarpRouteDeployConfigSchema: z.ZodEffects; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "strip", z.ZodTypeAny, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "strip", z.ZodTypeAny, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "type"> & { type: z.ZodEnum<["xERC20", "xERC20Lockbox"]>; } & { xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }>, "many">>; warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodEnum<["synthetic", "syntheticUri"]>; initialSupply: z.ZodOptional>; metadataUri: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; }, "strip", z.ZodTypeAny, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<["V1", "V2"]>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; token: z.ZodString; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"collateralEverclear">; }, "strip", z.ZodTypeAny, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"multiCollateral">; token: z.ZodString; /** Map of domain → router addresses to enroll */ enrolledRouters: z.ZodOptional, z.ZodArray>>; }, "strip", z.ZodTypeAny, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">>]>, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, unknown>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; hook: z.ZodOptional>; } & { type: z.ZodLiteral<"protocolFee">; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { paused: z.ZodBoolean; } & { type: z.ZodLiteral<"pausableHook">; }, "strip", z.ZodTypeAny, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"opStackHook">; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"merkleTreeHook">; }, "strip", z.ZodTypeAny, { type: "merkleTreeHook"; }, { type: "merkleTreeHook"; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainGasPaymaster">; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord; oracleConfig: z.ZodRecord; } & { typicalCost: z.ZodOptional>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; }, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; }>, z.ZodType, z.ZodType, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Hook">; arbSys: z.ZodString; bridge: z.ZodOptional; destinationChain: z.ZodString; childHook: z.ZodLazy>; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<"defaultHook">; }, "strip", z.ZodTypeAny, { type: "defaultHook"; }, { type: "defaultHook"; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipHook">; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipHook"; destinationChain: string; }, { type: "ccipHook"; destinationChain: string; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownHook">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">>]>>; interchainSecurityModule: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "testIsm"; }, { type: "testIsm"; }>, z.ZodObject<{ type: z.ZodLiteral<"opStackIsm">; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackIsm"; nativeBridge: string; origin: string; }, { type: "opStackIsm"; nativeBridge: string; origin: string; }>, z.ZodIntersection>; } & { paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"pausableIsm">; }, "strip", z.ZodTypeAny, { type: "pausableIsm"; }, { type: "pausableIsm"; }>>, z.ZodObject<{ type: z.ZodLiteral<"trustedRelayerIsm">; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: "trustedRelayerIsm"; relayer: string; }, { type: "trustedRelayerIsm"; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipIsm">; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipIsm"; originChain: string; }, { type: "ccipIsm"; originChain: string; }>, z.ZodIntersection; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { threshold: number; validators: string[]; }, { threshold: number; validators: string[]; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"merkleRootMultisigIsm">, z.ZodLiteral<"messageIdMultisigIsm">, z.ZodLiteral<"storageMerkleRootMultisigIsm">, z.ZodLiteral<"storageMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }>>, z.ZodIntersection, "many">; thresholdWeight: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"weightedMerkleRootMultisigIsm">, z.ZodLiteral<"weightedMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }>>, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Ism">; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Ism"; bridge: string; }, { type: "arbL2ToL1Ism"; bridge: string; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainAccountRouting">; isms: z.ZodRecord; }, "strip", z.ZodTypeAny, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownIsm">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">>]>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>>>; proxyAdmin: z.ZodOptional>; } & { address: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }>>; tokenFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ owner: z.ZodString; } & { type: z.ZodLiteral; feeContracts: z.ZodOptional>>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }>]>>; gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; } & { mailbox: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }, { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }>>, z.ZodObject<{ contractVerificationStatus: z.ZodOptional>>; ownerStatus: z.ZodOptional>>; }, "strip", z.ZodTypeAny, { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }, { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>, (({ type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }, unknown>>, Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record>, Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record>, Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record>, Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record>; export type WarpRouteDeployConfig = z.infer; export declare const WarpRouteDeployConfigMailboxRequiredSchema: z.ZodIntersection; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "strip", z.ZodTypeAny, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "type"> & { type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "strip", z.ZodTypeAny, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "type"> & { type: z.ZodEnum<["xERC20", "xERC20Lockbox"]>; } & { xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }, { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }>, "many">>; warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }, { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }, { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }>]>; }, "strip", z.ZodTypeAny, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }, { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodEnum<["synthetic", "syntheticUri"]>; initialSupply: z.ZodOptional>; metadataUri: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }, { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; }, "strip", z.ZodTypeAny, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }, { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<["V1", "V2"]>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; } & Omit<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "type" | "owner">, "strip", z.ZodTypeAny, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }, { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; token: z.ZodString; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"collateralEverclear">; }, "strip", z.ZodTypeAny, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, "strip", z.ZodTypeAny, { signature: string; fee: number; deadline: number; }, { signature: string; fee: number; deadline: number; }>>; symbol: z.ZodOptional; name: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"multiCollateral">; token: z.ZodString; /** Map of domain → router addresses to enroll */ enrolledRouters: z.ZodOptional, z.ZodArray>>; }, "strip", z.ZodTypeAny, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">>]>, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">, unknown>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; hook: z.ZodOptional>; } & { type: z.ZodLiteral<"protocolFee">; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { paused: z.ZodBoolean; } & { type: z.ZodLiteral<"pausableHook">; }, "strip", z.ZodTypeAny, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"opStackHook">; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"merkleTreeHook">; }, "strip", z.ZodTypeAny, { type: "merkleTreeHook"; }, { type: "merkleTreeHook"; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainGasPaymaster">; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord; oracleConfig: z.ZodRecord; } & { typicalCost: z.ZodOptional>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; }, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; }>, z.ZodType, z.ZodType, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Hook">; arbSys: z.ZodString; bridge: z.ZodOptional; destinationChain: z.ZodString; childHook: z.ZodLazy>; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<"defaultHook">; }, "strip", z.ZodTypeAny, { type: "defaultHook"; }, { type: "defaultHook"; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipHook">; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipHook"; destinationChain: string; }, { type: "ccipHook"; destinationChain: string; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownHook">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">>]>>; interchainSecurityModule: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "testIsm"; }, { type: "testIsm"; }>, z.ZodObject<{ type: z.ZodLiteral<"opStackIsm">; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackIsm"; nativeBridge: string; origin: string; }, { type: "opStackIsm"; nativeBridge: string; origin: string; }>, z.ZodIntersection>; } & { paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"pausableIsm">; }, "strip", z.ZodTypeAny, { type: "pausableIsm"; }, { type: "pausableIsm"; }>>, z.ZodObject<{ type: z.ZodLiteral<"trustedRelayerIsm">; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: "trustedRelayerIsm"; relayer: string; }, { type: "trustedRelayerIsm"; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipIsm">; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipIsm"; originChain: string; }, { type: "ccipIsm"; originChain: string; }>, z.ZodIntersection; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { threshold: number; validators: string[]; }, { threshold: number; validators: string[]; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"merkleRootMultisigIsm">, z.ZodLiteral<"messageIdMultisigIsm">, z.ZodLiteral<"storageMerkleRootMultisigIsm">, z.ZodLiteral<"storageMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }>>, z.ZodIntersection, "many">; thresholdWeight: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"weightedMerkleRootMultisigIsm">, z.ZodLiteral<"weightedMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }>>, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Ism">; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Ism"; bridge: string; }, { type: "arbL2ToL1Ism"; bridge: string; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainAccountRouting">; isms: z.ZodRecord; }, "strip", z.ZodTypeAny, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownIsm">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">>]>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>>>; proxyAdmin: z.ZodOptional>; } & { address: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }>>; tokenFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ owner: z.ZodString; } & { type: z.ZodLiteral; feeContracts: z.ZodOptional>>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }>]>>; gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; } & { mailbox: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }, { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }>>, z.ZodObject<{ contractVerificationStatus: z.ZodOptional>>; ownerStatus: z.ZodOptional>>; }, "strip", z.ZodTypeAny, { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }, { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>, (({ type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }, unknown>>, Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record>, Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record>, Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record>, Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL2"; l2Bridge: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "nativeOpL1"; version: number; urls: string[]; portal: string; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "xERC20" | "xERC20Lockbox"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; xERC20?: { warpRouteLimits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; extraBridges?: { lockbox: string; limits: { type: XERC20Type.Velo; bufferCap?: string | undefined; rateLimitPerSecond?: string | undefined; } | { type: XERC20Type.Standard; mint?: string | undefined; burn?: string | undefined; }; }[] | undefined; } | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateralCctp"; token: string; urls: string[]; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; symbol?: string | undefined; name?: string | undefined; ownerOverrides?: Record | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; } | { type: "synthetic" | "syntheticUri"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; initialSupply?: string | number | undefined; metadataUri?: string | undefined; } | { type: "syntheticRebase"; collateralChainName: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; } | { type: "collateralEverclear"; token: string; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "ethEverclear"; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; wethAddress: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | z.objectOutputType<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { type: z.ZodLiteral<"unknown">; }, z.ZodTypeAny, "passthrough">) & { owner: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; mailbox?: string | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; } | undefined; destinationGas?: Record | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record>, z.ZodRecord>>; export type WarpRouteDeployConfigMailboxRequired = z.infer; declare const MovableTokenSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>; token: z.ZodString; }, "strip", z.ZodTypeAny, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodLiteral<"multiCollateral">; token: z.ZodString; /** Map of domain → router addresses to enroll */ enrolledRouters: z.ZodOptional, z.ZodArray>>; }, "strip", z.ZodTypeAny, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }, { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodBigInt; denominator: z.ZodBigInt; }, "strip", z.ZodTypeAny, { numerator: bigint; denominator: bigint; }, { numerator: bigint; denominator: bigint; }>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; } & { allowedRebalancingBridges: z.ZodOptional, z.ZodArray, string[], string[]>>; }, "strip", z.ZodTypeAny, { bridge: string; approvedTokens?: string[] | undefined; }, { bridge: string; approvedTokens?: string[] | undefined; }>, "many">>>; allowedRebalancers: z.ZodOptional, string[], string[]>>; type: z.ZodEnum<["native", "nativeScaled"]>; }, "strip", z.ZodTypeAny, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }, { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; }>]>; export type MovableTokenConfig = z.infer; export declare const isMovableCollateralTokenConfig: (config: unknown) => config is { type: "native" | "nativeScaled"; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; } | { type: "multiCollateral"; token: string; symbol?: string | undefined; name?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; enrolledRouters?: Record | undefined; }; export {}; //# sourceMappingURL=types.d.ts.map