import { z } from 'zod'; import { TokenFeeConfigInput } from '../fee/types.js'; import { HookConfig } from '../hook/types.js'; import { IsmConfig } from '../ism/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 (12.2.0)"; export declare const TokenMetadataSchema: z.ZodObject<{ name: z.ZodString; symbol: z.ZodString; decimals: z.ZodOptional; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>; isNft: z.ZodOptional; contractVersion: z.ZodOptional; }, z.core.$strip>; export type TokenMetadata = z.infer; export declare const isTokenMetadata: (config: unknown) => config is { name: string; symbol: 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, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; }, z.core.$strip>; export declare const PredicateWrapperConfigSchema: z.ZodObject<{ predicateRegistry: z.ZodString; policyId: z.ZodString; owner: z.ZodString; }, z.core.$strip>; export type PredicateWrapperConfig = z.infer; export declare const isPredicateWrapperConfig: (config: unknown) => config is { predicateRegistry: string; policyId: string; owner: string; }; export declare const NativeTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ native: "native"; nativeScaled: "nativeScaled"; }>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>; export type NativeTokenConfig = z.infer; export declare const isNativeTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: 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"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }; export declare const OpL2TokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, z.core.$strip>; export declare const OpL1TokenConfigSchema: z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; }, z.core.$strip>; export type OpL1TokenConfig = z.infer; export declare const isOpL1TokenConfig: (config: unknown) => config is { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; }; export type OpL2TokenConfig = z.infer; export declare const isOpL2TokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; }; export declare const CollateralTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ collateral: "collateral"; collateralFiat: "collateralFiat"; collateralUri: "collateralUri"; collateralVault: "collateralVault"; collateralVaultRebase: "collateralVaultRebase"; }>; token: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>; export type CollateralTokenConfig = z.infer; export declare const isCollateralTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }; export declare enum XERC20Type { Velo = "velo", Standard = "standard" } declare const XERC20VSLimitConfigSchema: z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>; export type XERC20VSLimitConfig = z.infer; declare const XERC20StandardLimitConfigSchema: z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>; export type XERC20StandardLimitConfig = z.infer; declare const xERC20ExtraBridgesLimitConfigsSchema: z.ZodObject<{ lockbox: z.ZodString; limits: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>; declare const xERC20TokenMetadataSchema: z.ZodObject<{ xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>>; warpRouteLimits: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>; }, z.core.$strip>; export type XERC20TokenMetadata = z.infer; export type XERC20TokenExtraBridgesLimits = z.infer; export declare const XERC20TokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>>; warpRouteLimits: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>; type: z.ZodEnum<{ xERC20: "xERC20"; xERC20Lockbox: "xERC20Lockbox"; }>; }, z.core.$strip>; export type XERC20LimitsTokenConfig = z.infer; export declare const isXERC20TokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; }; export declare const CctpTokenConfigSchema: z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<{ V1: "V1"; V2: "V2"; }>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>; export type CctpTokenConfig = z.infer; export declare const isCctpTokenConfig: (config: unknown) => config is { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }; export declare const DepositAddressRecipientConfigSchema: z.ZodObject<{ depositAddress: z.ZodString; feeBps: z.ZodOptional>; }, z.core.$strip>; export type DepositAddressRecipientConfig = z.infer; export declare const DepositAddressDestinationConfigSchema: z.ZodRecord>; }, z.core.$strip>>; export type DepositAddressDestinationConfig = z.infer; export declare const DepositAddressTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralDepositAddress">; token: z.ZodString; destinationConfigs: z.ZodRecord, z.ZodRecord>; }, z.core.$strip>>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>; export type DepositAddressTokenConfig = z.infer; export declare const isDepositAddressTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }; export declare const OftTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralOft">; token: z.ZodString; oft: z.ZodString; domainMappings: z.ZodRecord, z.ZodNumber>; extraOptions: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>; export type OftTokenConfig = z.infer; export declare const isOftTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }; /** * Configuration for AtomicLocalRebalancingBridge — a bare ITokenBridge adapter * (no mailbox, no proxy/initialize) that performs same-chain rebalances by * pulling collateral from an immutable source router, running swap calls, and * funding a validated destination router. Deployed unproxied like OFT/DepositAddress. */ export declare const AtomicLocalRebalancingBridgeTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"atomicLocalRebalancing">; sourceRouter: z.ZodString; }, z.core.$strip>; export type AtomicLocalRebalancingBridgeTokenConfig = z.infer; export declare const isAtomicLocalRebalancingBridgeTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; }; export declare const CollateralRebaseTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralVaultRebase">; }, z.core.$strip>; export declare const isCollateralRebaseTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralVaultRebase"; }; export declare const SyntheticTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodEnum<{ synthetic: "synthetic"; syntheticUri: "syntheticUri"; }>; initialSupply: z.ZodOptional>; predicateWrapper: z.ZodOptional>; metadataUri: z.ZodOptional; token: z.ZodOptional; }, z.core.$strip>; export type SyntheticTokenConfig = z.infer; export declare const isSyntheticTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; }; export declare const SyntheticRebaseTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>; export type SyntheticRebaseTokenConfig = z.infer; export declare const isSyntheticRebaseTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }; /** * Configuration for CrossCollateralRouter (multi-router collateral routing). * Direct 1-message atomic transfers between collateral routers. */ export declare const CrossCollateralTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodLiteral<"crossCollateral">; token: z.ZodString; crossCollateralRouters: z.ZodOptional, z.ZodArray>>; rebalanceTargets: z.ZodOptional, z.ZodArray>>; rebalanceRecipients: z.ZodOptional, z.ZodString>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>; export type CrossCollateralTokenConfig = z.infer; export declare const isCrossCollateralTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }; export declare const EverclearCollateralTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"collateralEverclear">; }, z.core.$strip>; export type EverclearCollateralTokenConfig = z.infer; export declare const isEverclearCollateralTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; }; export declare const EverclearEthBridgeTokenConfigSchema: z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, z.core.$strip>; export type EverclearEthBridgeTokenConfig = z.infer; export declare const isEverclearEthBridgeTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; }; 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>; }, z.core.$strip>; 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.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"unknown">; predicateWrapper: z.ZodOptional>; }, z.core.$loose>; export type UnknownTokenConfig = z.infer; export declare const isUnknownTokenConfig: (config: unknown) => config is { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }; export declare const COLLATERAL_DEX_TYPE_ALIAS = "collateralDex"; declare const AllHypTokenConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ native: "native"; nativeScaled: "nativeScaled"; }>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ collateral: "collateral"; collateralFiat: "collateralFiat"; collateralUri: "collateralUri"; collateralVault: "collateralVault"; collateralVaultRebase: "collateralVaultRebase"; }>; token: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>>; warpRouteLimits: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>; type: z.ZodEnum<{ xERC20: "xERC20"; xERC20Lockbox: "xERC20Lockbox"; }>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodEnum<{ synthetic: "synthetic"; syntheticUri: "syntheticUri"; }>; initialSupply: z.ZodOptional>; predicateWrapper: z.ZodOptional>; metadataUri: z.ZodOptional; token: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<{ V1: "V1"; V2: "V2"; }>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralOft">; token: z.ZodString; oft: z.ZodString; domainMappings: z.ZodRecord, z.ZodNumber>; extraOptions: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"collateralEverclear">; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralDepositAddress">; token: z.ZodString; destinationConfigs: z.ZodRecord, z.ZodRecord>; }, z.core.$strip>>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"atomicLocalRebalancing">; sourceRouter: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodLiteral<"crossCollateral">; token: z.ZodString; crossCollateralRouters: z.ZodOptional, z.ZodArray>>; rebalanceTargets: z.ZodOptional, z.ZodArray>>; rebalanceRecipients: z.ZodOptional, z.ZodString>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"unknown">; predicateWrapper: z.ZodOptional>; }, z.core.$loose>], "type">; 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.ZodPreprocess; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ native: "native"; nativeScaled: "nativeScaled"; }>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ collateral: "collateral"; collateralFiat: "collateralFiat"; collateralUri: "collateralUri"; collateralVault: "collateralVault"; collateralVaultRebase: "collateralVaultRebase"; }>; token: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>>; warpRouteLimits: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>; type: z.ZodEnum<{ xERC20: "xERC20"; xERC20Lockbox: "xERC20Lockbox"; }>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodEnum<{ synthetic: "synthetic"; syntheticUri: "syntheticUri"; }>; initialSupply: z.ZodOptional>; predicateWrapper: z.ZodOptional>; metadataUri: z.ZodOptional; token: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<{ V1: "V1"; V2: "V2"; }>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralOft">; token: z.ZodString; oft: z.ZodString; domainMappings: z.ZodRecord, z.ZodNumber>; extraOptions: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"collateralEverclear">; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralDepositAddress">; token: z.ZodString; destinationConfigs: z.ZodRecord, z.ZodRecord>; }, z.core.$strip>>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"atomicLocalRebalancing">; sourceRouter: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodLiteral<"crossCollateral">; token: z.ZodString; crossCollateralRouters: z.ZodOptional, z.ZodArray>>; rebalanceTargets: z.ZodOptional, z.ZodArray>>; rebalanceRecipients: z.ZodOptional, z.ZodString>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"unknown">; predicateWrapper: z.ZodOptional>; }, z.core.$loose>], "type">, unknown>; type TimelockProxyAdminOwnerOverrideConfig = { ownerOverrides?: { proxyAdmin?: unknown; }; timelock?: unknown; }; export declare const HypTokenRouterConfigSchema: z.ZodPreprocess; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ native: "native"; nativeScaled: "nativeScaled"; }>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ collateral: "collateral"; collateralFiat: "collateralFiat"; collateralUri: "collateralUri"; collateralVault: "collateralVault"; collateralVaultRebase: "collateralVaultRebase"; }>; token: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>>; warpRouteLimits: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>; type: z.ZodEnum<{ xERC20: "xERC20"; xERC20Lockbox: "xERC20Lockbox"; }>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodEnum<{ synthetic: "synthetic"; syntheticUri: "syntheticUri"; }>; initialSupply: z.ZodOptional>; predicateWrapper: z.ZodOptional>; metadataUri: z.ZodOptional; token: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<{ V1: "V1"; V2: "V2"; }>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralOft">; token: z.ZodString; oft: z.ZodString; domainMappings: z.ZodRecord, z.ZodNumber>; extraOptions: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"collateralEverclear">; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralDepositAddress">; token: z.ZodString; destinationConfigs: z.ZodRecord, z.ZodRecord>; }, z.core.$strip>>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"atomicLocalRebalancing">; sourceRouter: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodLiteral<"crossCollateral">; token: z.ZodString; crossCollateralRouters: z.ZodOptional, z.ZodArray>>; rebalanceTargets: z.ZodOptional, z.ZodArray>>; rebalanceRecipients: z.ZodOptional, z.ZodString>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"unknown">; predicateWrapper: z.ZodOptional>; }, z.core.$loose>], "type">, unknown>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; timelock: z.ZodOptional; }, z.core.$strip>>; mailbox: z.ZodString; hook: z.ZodOptional>>; interchainSecurityModule: z.ZodOptional>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, z.core.$strip>>>; proxyAdmin: z.ZodOptional>; address: z.ZodOptional; }, z.core.$strip>>; tokenFee: z.ZodOptional>>; gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; feeHook: z.ZodOptional; }, z.core.$strip>>, z.ZodObject<{ contractVerificationStatus: z.ZodOptional>>; ownerStatus: z.ZodOptional>>; }, z.core.$strip>>, unknown>; export type HypTokenRouterConfig = z.infer; export type DerivedTokenRouterConfig = z.infer & Omit, keyof DerivedRouterConfig> & 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.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ native: "native"; nativeScaled: "nativeScaled"; }>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ collateral: "collateral"; collateralFiat: "collateralFiat"; collateralUri: "collateralUri"; collateralVault: "collateralVault"; collateralVaultRebase: "collateralVaultRebase"; }>; token: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>>; warpRouteLimits: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>; type: z.ZodEnum<{ xERC20: "xERC20"; xERC20Lockbox: "xERC20Lockbox"; }>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodEnum<{ synthetic: "synthetic"; syntheticUri: "syntheticUri"; }>; initialSupply: z.ZodOptional>; predicateWrapper: z.ZodOptional>; metadataUri: z.ZodOptional; token: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<{ V1: "V1"; V2: "V2"; }>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralOft">; token: z.ZodString; oft: z.ZodString; domainMappings: z.ZodRecord, z.ZodNumber>; extraOptions: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"collateralEverclear">; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralDepositAddress">; token: z.ZodString; destinationConfigs: z.ZodRecord, z.ZodRecord>; }, z.core.$strip>>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"atomicLocalRebalancing">; sourceRouter: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodLiteral<"crossCollateral">; token: z.ZodString; crossCollateralRouters: z.ZodOptional, z.ZodArray>>; rebalanceTargets: z.ZodOptional, z.ZodArray>>; rebalanceRecipients: z.ZodOptional, z.ZodString>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"unknown">; predicateWrapper: z.ZodOptional>; }, z.core.$loose>], "type">, unknown>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; timelock: z.ZodOptional; }, z.core.$strip>>; hook: z.ZodOptional>>; interchainSecurityModule: z.ZodOptional>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, z.core.$strip>>>; proxyAdmin: z.ZodOptional>; address: z.ZodOptional; }, z.core.$strip>>; tokenFee: z.ZodOptional>>; gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; feeHook: z.ZodOptional; mailbox: z.ZodOptional; }, z.core.$strip>>, z.ZodObject<{ contractVerificationStatus: z.ZodOptional>>; ownerStatus: z.ZodOptional>>; }, z.core.$strip>>; export type HypTokenRouterConfigMailboxOptionalBase = z.infer; export declare const HypTokenRouterConfigMailboxOptionalSchema: z.ZodPreprocess; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ native: "native"; nativeScaled: "nativeScaled"; }>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ collateral: "collateral"; collateralFiat: "collateralFiat"; collateralUri: "collateralUri"; collateralVault: "collateralVault"; collateralVaultRebase: "collateralVaultRebase"; }>; token: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>>; warpRouteLimits: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>; type: z.ZodEnum<{ xERC20: "xERC20"; xERC20Lockbox: "xERC20Lockbox"; }>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodEnum<{ synthetic: "synthetic"; syntheticUri: "syntheticUri"; }>; initialSupply: z.ZodOptional>; predicateWrapper: z.ZodOptional>; metadataUri: z.ZodOptional; token: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<{ V1: "V1"; V2: "V2"; }>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralOft">; token: z.ZodString; oft: z.ZodString; domainMappings: z.ZodRecord, z.ZodNumber>; extraOptions: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"collateralEverclear">; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralDepositAddress">; token: z.ZodString; destinationConfigs: z.ZodRecord, z.ZodRecord>; }, z.core.$strip>>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"atomicLocalRebalancing">; sourceRouter: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodLiteral<"crossCollateral">; token: z.ZodString; crossCollateralRouters: z.ZodOptional, z.ZodArray>>; rebalanceTargets: z.ZodOptional, z.ZodArray>>; rebalanceRecipients: z.ZodOptional, z.ZodString>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"unknown">; predicateWrapper: z.ZodOptional>; }, z.core.$loose>], "type">, unknown>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; timelock: z.ZodOptional; }, z.core.$strip>>; hook: z.ZodOptional>>; interchainSecurityModule: z.ZodOptional>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, z.core.$strip>>>; proxyAdmin: z.ZodOptional>; address: z.ZodOptional; }, z.core.$strip>>; tokenFee: z.ZodOptional>>; gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; feeHook: z.ZodOptional; mailbox: z.ZodOptional; }, z.core.$strip>>, z.ZodObject<{ contractVerificationStatus: z.ZodOptional>>; ownerStatus: z.ZodOptional>>; }, z.core.$strip>>, unknown>; export type HypTokenRouterConfigMailboxOptional = z.infer; export declare function assertTimelockConfigHasNoProxyAdminOwnerOverride(config: TimelockProxyAdminOwnerOverrideConfig, chain?: string): void; export declare const WarpRouteDeployConfigSchema: z.ZodPipe; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ native: "native"; nativeScaled: "nativeScaled"; }>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ collateral: "collateral"; collateralFiat: "collateralFiat"; collateralUri: "collateralUri"; collateralVault: "collateralVault"; collateralVaultRebase: "collateralVaultRebase"; }>; token: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>>; warpRouteLimits: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>; type: z.ZodEnum<{ xERC20: "xERC20"; xERC20Lockbox: "xERC20Lockbox"; }>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodEnum<{ synthetic: "synthetic"; syntheticUri: "syntheticUri"; }>; initialSupply: z.ZodOptional>; predicateWrapper: z.ZodOptional>; metadataUri: z.ZodOptional; token: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<{ V1: "V1"; V2: "V2"; }>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralOft">; token: z.ZodString; oft: z.ZodString; domainMappings: z.ZodRecord, z.ZodNumber>; extraOptions: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"collateralEverclear">; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralDepositAddress">; token: z.ZodString; destinationConfigs: z.ZodRecord, z.ZodRecord>; }, z.core.$strip>>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"atomicLocalRebalancing">; sourceRouter: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodLiteral<"crossCollateral">; token: z.ZodString; crossCollateralRouters: z.ZodOptional, z.ZodArray>>; rebalanceTargets: z.ZodOptional, z.ZodArray>>; rebalanceRecipients: z.ZodOptional, z.ZodString>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"unknown">; predicateWrapper: z.ZodOptional>; }, z.core.$loose>], "type">, unknown>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; timelock: z.ZodOptional; }, z.core.$strip>>; hook: z.ZodOptional>>; interchainSecurityModule: z.ZodOptional>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, z.core.$strip>>>; proxyAdmin: z.ZodOptional>; address: z.ZodOptional; }, z.core.$strip>>; tokenFee: z.ZodOptional>>; gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; feeHook: z.ZodOptional; mailbox: z.ZodOptional; }, z.core.$strip>>, z.ZodObject<{ contractVerificationStatus: z.ZodOptional>>; ownerStatus: z.ZodOptional>>; }, z.core.$strip>>, unknown>>, z.ZodTransform | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>>, z.ZodTransform | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>>, z.ZodTransform | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>>; export type WarpRouteDeployConfig = z.infer; export declare const WarpRouteDeployConfigMailboxRequiredSchema: z.ZodIntersection; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ native: "native"; nativeScaled: "nativeScaled"; }>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL2">; l2Bridge: z.ZodString; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"nativeOpL1">; portal: z.ZodString; version: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ collateral: "collateral"; collateralFiat: "collateralFiat"; collateralUri: "collateralUri"; collateralVault: "collateralVault"; collateralVaultRebase: "collateralVaultRebase"; }>; token: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; xERC20: z.ZodOptional; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>>; warpRouteLimits: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; bufferCap: z.ZodOptional; rateLimitPerSecond: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; mint: z.ZodOptional; burn: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>>; type: z.ZodEnum<{ xERC20: "xERC20"; xERC20Lockbox: "xERC20Lockbox"; }>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodEnum<{ synthetic: "synthetic"; syntheticUri: "syntheticUri"; }>; initialSupply: z.ZodOptional>; predicateWrapper: z.ZodOptional>; metadataUri: z.ZodOptional; token: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"syntheticRebase">; collateralChainName: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ ownerOverrides: z.ZodOptional>; urls: z.ZodArray; name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralCctp">; token: z.ZodString; messageTransmitter: z.ZodString; tokenMessenger: z.ZodString; cctpVersion: z.ZodEnum<{ V1: "V1"; V2: "V2"; }>; minFinalityThreshold: z.ZodOptional; maxFeeBps: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralOft">; token: z.ZodString; oft: z.ZodString; domainMappings: z.ZodRecord, z.ZodNumber>; extraOptions: z.ZodOptional; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; token: z.ZodString; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"collateralEverclear">; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; everclearBridgeAddress: z.ZodString; outputAssets: z.ZodRecord, z.ZodString>; everclearFeeParams: z.ZodRecord, z.ZodObject<{ fee: z.ZodNumber; deadline: z.ZodNumber; signature: z.ZodString; }, z.core.$strip>>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; predicateWrapper: z.ZodOptional>; type: z.ZodLiteral<"ethEverclear">; wethAddress: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"collateralDepositAddress">; token: z.ZodString; destinationConfigs: z.ZodRecord, z.ZodRecord>; }, z.core.$strip>>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"atomicLocalRebalancing">; sourceRouter: z.ZodString; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodLiteral<"crossCollateral">; token: z.ZodString; crossCollateralRouters: z.ZodOptional, z.ZodArray>>; rebalanceTargets: z.ZodOptional, z.ZodArray>>; rebalanceRecipients: z.ZodOptional, z.ZodString>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; type: z.ZodLiteral<"unknown">; predicateWrapper: z.ZodOptional>; }, z.core.$loose>], "type">, unknown>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; timelock: z.ZodOptional; }, z.core.$strip>>; hook: z.ZodOptional>>; interchainSecurityModule: z.ZodOptional>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, z.core.$strip>>>; proxyAdmin: z.ZodOptional>; address: z.ZodOptional; }, z.core.$strip>>; tokenFee: z.ZodOptional>>; gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; feeHook: z.ZodOptional; mailbox: z.ZodOptional; }, z.core.$strip>>, z.ZodObject<{ contractVerificationStatus: z.ZodOptional>>; ownerStatus: z.ZodOptional>>; }, z.core.$strip>>, unknown>>, z.ZodTransform | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>>, z.ZodTransform | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>>, z.ZodTransform | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>, Record | undefined; allowedRebalancers?: string[] | undefined; type: "native" | "nativeScaled"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL1"; portal: string; version: number; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "nativeOpL2"; l2Bridge: string; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; xERC20?: { 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; }; } | undefined; type: "xERC20" | "xERC20Lockbox"; } | { ownerOverrides?: Record | undefined; urls: string[]; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralCctp"; token: string; messageTransmitter: string; tokenMessenger: string; cctpVersion: "V1" | "V2"; minFinalityThreshold?: number | undefined; maxFeeBps?: number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralDepositAddress"; token: string; destinationConfigs: Record>; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "collateralOft"; token: string; oft: string; domainMappings: Record; extraOptions?: string | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "atomicLocalRebalancing"; sourceRouter: string; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "synthetic" | "syntheticUri"; initialSupply?: string | number | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; metadataUri?: string | undefined; token?: string | undefined; } | { name?: string | undefined; symbol?: 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; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "collateralEverclear"; } | { name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; everclearBridgeAddress: string; outputAssets: Record; everclearFeeParams: Record; allowedRebalancingBridges?: Record | undefined; allowedRebalancers?: string[] | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; type: "ethEverclear"; wethAddress: string; } | { [x: string]: unknown; name?: string | undefined; symbol?: string | undefined; decimals?: number | undefined; scale?: number | { numerator: number; denominator: number; } | { numerator: bigint; denominator: bigint; } | undefined; isNft?: boolean | undefined; contractVersion?: string | undefined; type: "unknown"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }) & { owner: string; ownerOverrides?: Record | undefined; timelock?: { delay: number; roles: { executor: string; proposer: string; }; } | undefined; hook?: HookConfig | undefined; interchainSecurityModule?: IsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record | undefined; address?: string | undefined; } | undefined; tokenFee?: TokenFeeConfigInput | undefined; gas?: number | undefined; destinationGas?: Record | undefined; feeHook?: string | undefined; mailbox?: string | undefined; }) & { contractVerificationStatus?: Record | undefined; ownerStatus?: Record | undefined; }>>>, z.ZodRecord>>; export type WarpRouteDeployConfigMailboxRequired = z.infer; declare const MovableTokenSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ collateral: "collateral"; collateralFiat: "collateralFiat"; collateralUri: "collateralUri"; collateralVault: "collateralVault"; collateralVaultRebase: "collateralVaultRebase"; }>; token: z.ZodString; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodLiteral<"crossCollateral">; token: z.ZodString; crossCollateralRouters: z.ZodOptional, z.ZodArray>>; rebalanceTargets: z.ZodOptional, z.ZodArray>>; rebalanceRecipients: z.ZodOptional, z.ZodString>>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodOptional; symbol: z.ZodOptional; decimals: z.ZodOptional>; scale: z.ZodOptional, z.ZodObject<{ numerator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; denominator: z.ZodPipe, z.ZodString]>, z.ZodTransform>; }, z.core.$strip>]>>>; isNft: z.ZodOptional>; contractVersion: z.ZodOptional>; allowedRebalancingBridges: z.ZodOptional, z.ZodArray, z.ZodTransform>>; }, z.core.$strip>>>>; allowedRebalancers: z.ZodOptional, z.ZodTransform>>; type: z.ZodEnum<{ native: "native"; nativeScaled: "nativeScaled"; }>; predicateWrapper: z.ZodOptional>; }, z.core.$strip>], "type">; export type MovableTokenConfig = z.infer; export declare const isMovableCollateralTokenConfig: (config: unknown) => config is { name?: string | undefined; symbol?: 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"; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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" | "collateralFiat" | "collateralUri" | "collateralVault" | "collateralVaultRebase"; token: string; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; } | { name?: string | undefined; symbol?: 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: "crossCollateral"; token: string; crossCollateralRouters?: Record | undefined; rebalanceTargets?: Record | undefined; rebalanceRecipients?: Record | undefined; predicateWrapper?: { predicateRegistry: string; policyId: string; owner: string; } | undefined; }; export {}; //# sourceMappingURL=types.d.ts.map