import { z } from 'zod'; import { MailboxClient, ProxyAdmin__factory, Router, TimelockController__factory } from '@hyperlane-xyz/core'; import { Address, AddressBytes32 } from '@hyperlane-xyz/utils'; import { HyperlaneFactories } from '../contracts/types.js'; import { UpgradeConfig } from '../deploy/proxy.js'; import { CheckerViolation } from '../deploy/types.js'; import { DerivedTokenFeeConfig } from '../fee/EvmTokenFeeReader.js'; import { DerivedHookConfig } from '../hook/types.js'; import { DerivedIsmConfig } from '../ism/types.js'; import { MultiProvider } from '../providers/MultiProvider.js'; import { ChainMap } from '../types.js'; export type RouterAddress = { router: Address; }; export type MailboxClientConfig = z.infer; export type DerivedMailboxClientConfig = MailboxClientConfig & { hook: DerivedHookConfig | Address; interchainSecurityModule: DerivedIsmConfig | Address; }; export type RouterConfig = z.infer; export type DerivedRouterConfig = Omit & { tokenFee?: DerivedTokenFeeConfig; } & DerivedMailboxClientConfig; export type GasRouterConfig = z.infer; export type ProxiedRouterConfig = RouterConfig & Partial; export type ProxiedFactories = HyperlaneFactories & { proxyAdmin: ProxyAdmin__factory; timelockController: TimelockController__factory; }; export declare const proxiedFactories: ProxiedFactories; export declare enum ClientViolationType { InterchainSecurityModule = "ClientIsm", Mailbox = "ClientMailbox", Hook = "ClientHook" } export interface ClientViolation extends CheckerViolation { type: ClientViolationType; contract: MailboxClient; description?: string; } export declare enum RouterViolationType { MisconfiguredEnrolledRouter = "MisconfiguredEnrolledRouter", MissingEnrolledRouter = "MissingEnrolledRouter", MissingRouter = "MissingRouter" } export interface RouterViolation extends CheckerViolation { type: RouterViolationType.MisconfiguredEnrolledRouter; contract: Router; routerDiff: ChainMap<{ actual: AddressBytes32; expected: AddressBytes32; }>; description?: string; } export interface MissingEnrolledRouterViolation extends CheckerViolation { type: RouterViolationType.MissingEnrolledRouter; contract: Router; missingChains: string[]; description?: string; } export interface MissingRouterViolation extends CheckerViolation { type: RouterViolationType.MissingRouter; contract: Router; description?: string; } export type RemoteRouters = z.infer; export type DestinationGas = z.infer; export declare const MailboxClientConfigSchema: z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { mailbox: z.ZodString; hook: z.ZodOptional>; } & { type: z.ZodLiteral<"protocolFee">; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { paused: z.ZodBoolean; } & { type: z.ZodLiteral<"pausableHook">; }, "strip", z.ZodTypeAny, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"opStackHook">; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"merkleTreeHook">; }, "strip", z.ZodTypeAny, { type: "merkleTreeHook"; }, { type: "merkleTreeHook"; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainGasPaymaster">; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord; oracleConfig: z.ZodRecord; } & { typicalCost: z.ZodOptional>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>>; quoteSigners: z.ZodOptional>; contractVersion: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; }, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; }>, z.ZodType, z.ZodType, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Hook">; arbSys: z.ZodString; bridge: z.ZodOptional; destinationChain: z.ZodString; childHook: z.ZodLazy>; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<"defaultHook">; }, "strip", z.ZodTypeAny, { type: "defaultHook"; }, { type: "defaultHook"; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipHook">; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipHook"; destinationChain: string; }, { type: "ccipHook"; destinationChain: string; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownHook">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">>]>>; interchainSecurityModule: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "testIsm"; }, { type: "testIsm"; }>, z.ZodObject<{ type: z.ZodLiteral<"opStackIsm">; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackIsm"; origin: string; nativeBridge: string; }, { type: "opStackIsm"; origin: string; nativeBridge: string; }>, z.ZodIntersection>; } & { paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"pausableIsm">; }, "strip", z.ZodTypeAny, { type: "pausableIsm"; }, { type: "pausableIsm"; }>>, z.ZodObject<{ type: z.ZodLiteral<"trustedRelayerIsm">; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: "trustedRelayerIsm"; relayer: string; }, { type: "trustedRelayerIsm"; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipIsm">; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipIsm"; originChain: string; }, { type: "ccipIsm"; originChain: string; }>, z.ZodIntersection; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { threshold: number; validators: string[]; }, { threshold: number; validators: string[]; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"merkleRootMultisigIsm">, z.ZodLiteral<"messageIdMultisigIsm">, z.ZodLiteral<"storageMerkleRootMultisigIsm">, z.ZodLiteral<"storageMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }>>, z.ZodIntersection, "many">; thresholdWeight: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"weightedMerkleRootMultisigIsm">, z.ZodLiteral<"weightedMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }>>, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Ism">; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Ism"; bridge: string; }, { type: "arbL2ToL1Ism"; bridge: string; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainAccountRouting">; isms: z.ZodRecord; }, "strip", z.ZodTypeAny, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownIsm">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">>]>>; }, "strip", z.ZodTypeAny, { owner: string; mailbox: string; ownerOverrides?: Record | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; origin: string; nativeBridge: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; }, { owner: string; mailbox: string; ownerOverrides?: Record | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; origin: string; nativeBridge: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; }>; export declare const ForeignDeploymentConfigSchema: z.ZodObject<{ foreignDeployment: z.ZodOptional; }, "strip", z.ZodTypeAny, { foreignDeployment?: string | undefined; }, { foreignDeployment?: string | undefined; }>; export declare const RemoteRouterDomainOrChainNameSchema: z.ZodUnion<[z.ZodString, z.ZodNumber]>; export type RemoteRouterDomainOrChainName = z.infer; export declare function resolveRouterMapConfig(multiProvider: MultiProvider, routerMap: Record): Record; export declare const RemoteRouterRouter: z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>; export declare const RemoteRoutersSchema: z.ZodRecord, z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>>; export declare const RouterConfigSchema: z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { mailbox: z.ZodString; hook: z.ZodOptional>; } & { type: z.ZodLiteral<"protocolFee">; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { paused: z.ZodBoolean; } & { type: z.ZodLiteral<"pausableHook">; }, "strip", z.ZodTypeAny, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"opStackHook">; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"merkleTreeHook">; }, "strip", z.ZodTypeAny, { type: "merkleTreeHook"; }, { type: "merkleTreeHook"; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainGasPaymaster">; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord; oracleConfig: z.ZodRecord; } & { typicalCost: z.ZodOptional>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>>; quoteSigners: z.ZodOptional>; contractVersion: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; }, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; }>, z.ZodType, z.ZodType, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Hook">; arbSys: z.ZodString; bridge: z.ZodOptional; destinationChain: z.ZodString; childHook: z.ZodLazy>; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<"defaultHook">; }, "strip", z.ZodTypeAny, { type: "defaultHook"; }, { type: "defaultHook"; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipHook">; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipHook"; destinationChain: string; }, { type: "ccipHook"; destinationChain: string; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownHook">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">>]>>; interchainSecurityModule: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "testIsm"; }, { type: "testIsm"; }>, z.ZodObject<{ type: z.ZodLiteral<"opStackIsm">; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackIsm"; origin: string; nativeBridge: string; }, { type: "opStackIsm"; origin: string; nativeBridge: string; }>, z.ZodIntersection>; } & { paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"pausableIsm">; }, "strip", z.ZodTypeAny, { type: "pausableIsm"; }, { type: "pausableIsm"; }>>, z.ZodObject<{ type: z.ZodLiteral<"trustedRelayerIsm">; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: "trustedRelayerIsm"; relayer: string; }, { type: "trustedRelayerIsm"; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipIsm">; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipIsm"; originChain: string; }, { type: "ccipIsm"; originChain: string; }>, z.ZodIntersection; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { threshold: number; validators: string[]; }, { threshold: number; validators: string[]; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"merkleRootMultisigIsm">, z.ZodLiteral<"messageIdMultisigIsm">, z.ZodLiteral<"storageMerkleRootMultisigIsm">, z.ZodLiteral<"storageMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }>>, z.ZodIntersection, "many">; thresholdWeight: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"weightedMerkleRootMultisigIsm">, z.ZodLiteral<"weightedMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }>>, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Ism">; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Ism"; bridge: string; }, { type: "arbL2ToL1Ism"; bridge: string; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainAccountRouting">; isms: z.ZodRecord; }, "strip", z.ZodTypeAny, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownIsm">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">>]>>; } & { foreignDeployment: z.ZodOptional; } & { remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>>>; proxyAdmin: z.ZodOptional>; } & { address: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }>>; tokenFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, number, string | number>, number, string | number>>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: number | undefined; }, { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; }>, { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: number | undefined; }, { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; }>, { bps: number; type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; }>, z.ZodEffects>; } & { maxFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, number, string | number>, number, string | number>>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: number | undefined; quoteSigners?: string[] | undefined; }, { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; quoteSigners?: string[] | undefined; }>, { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: number | undefined; quoteSigners?: string[] | undefined; }, { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; quoteSigners?: string[] | undefined; }>, { bps: number; type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; quoteSigners?: string[] | undefined; }, { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; quoteSigners?: string[] | undefined; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodEffects; feeContracts: z.ZodRecord>>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; }, { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; }>, { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; }, { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; }>, z.ZodEffects; feeContracts: z.ZodRecord>>, Record, Record>>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; }, { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; }>, { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; }, { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; }>]>>; }, "strip", z.ZodTypeAny, { owner: string; mailbox: string; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; origin: string; nativeBridge: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: number; type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { bps: number; type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; quoteSigners?: string[] | undefined; } | { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; } | { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; } | undefined; }, { owner: string; mailbox: string; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; origin: string; nativeBridge: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; } | { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; quoteSigners?: string[] | undefined; } | { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; } | { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; } | undefined; }>; export declare const DestinationGasSchema: z.ZodRecord, z.ZodString>; export declare const GasRouterConfigSchema: z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { mailbox: z.ZodString; hook: z.ZodOptional>; } & { type: z.ZodLiteral<"protocolFee">; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }, { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { paused: z.ZodBoolean; } & { type: z.ZodLiteral<"pausableHook">; }, "strip", z.ZodTypeAny, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"opStackHook">; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"merkleTreeHook">; }, "strip", z.ZodTypeAny, { type: "merkleTreeHook"; }, { type: "merkleTreeHook"; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainGasPaymaster">; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord; oracleConfig: z.ZodRecord; } & { typicalCost: z.ZodOptional>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>>; quoteSigners: z.ZodOptional>; contractVersion: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; }, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; }>, z.ZodType, z.ZodType, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Hook">; arbSys: z.ZodString; bridge: z.ZodOptional; destinationChain: z.ZodString; childHook: z.ZodLazy>; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<"defaultHook">; }, "strip", z.ZodTypeAny, { type: "defaultHook"; }, { type: "defaultHook"; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipHook">; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipHook"; destinationChain: string; }, { type: "ccipHook"; destinationChain: string; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownHook">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough">>]>>; interchainSecurityModule: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "testIsm"; }, { type: "testIsm"; }>, z.ZodObject<{ type: z.ZodLiteral<"opStackIsm">; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackIsm"; origin: string; nativeBridge: string; }, { type: "opStackIsm"; origin: string; nativeBridge: string; }>, z.ZodIntersection>; } & { paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"pausableIsm">; }, "strip", z.ZodTypeAny, { type: "pausableIsm"; }, { type: "pausableIsm"; }>>, z.ZodObject<{ type: z.ZodLiteral<"trustedRelayerIsm">; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: "trustedRelayerIsm"; relayer: string; }, { type: "trustedRelayerIsm"; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<"ccipIsm">; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "ccipIsm"; originChain: string; }, { type: "ccipIsm"; originChain: string; }>, z.ZodIntersection; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { threshold: number; validators: string[]; }, { threshold: number; validators: string[]; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"merkleRootMultisigIsm">, z.ZodLiteral<"messageIdMultisigIsm">, z.ZodLiteral<"storageMerkleRootMultisigIsm">, z.ZodLiteral<"storageMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }, { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }>>, z.ZodIntersection, "many">; thresholdWeight: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }, { validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"weightedMerkleRootMultisigIsm">, z.ZodLiteral<"weightedMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }>>, z.ZodType, z.ZodType, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Ism">; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Ism"; bridge: string; }, { type: "arbL2ToL1Ism"; bridge: string; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; } & { type: z.ZodLiteral<"interchainAccountRouting">; isms: z.ZodRecord; }, "strip", z.ZodTypeAny, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }, { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"unknownIsm">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough">>]>>; } & { foreignDeployment: z.ZodOptional; } & { remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>>>; proxyAdmin: z.ZodOptional>; } & { address: z.ZodOptional; }, "strip", z.ZodTypeAny, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }, { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; }>>; tokenFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, number, string | number>, number, string | number>>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: number | undefined; }, { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; }>, { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: number | undefined; }, { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; }>, { bps: number; type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; }>, z.ZodEffects>; } & { maxFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, number, string | number>, number, string | number>>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: number | undefined; quoteSigners?: string[] | undefined; }, { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; quoteSigners?: string[] | undefined; }>, { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: number | undefined; quoteSigners?: string[] | undefined; }, { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; quoteSigners?: string[] | undefined; }>, { bps: number; type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; quoteSigners?: string[] | undefined; }, { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; quoteSigners?: string[] | undefined; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodEffects; feeContracts: z.ZodRecord>>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; }, { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; }>, { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; }, { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; }>, z.ZodEffects; feeContracts: z.ZodRecord>>, Record, Record>>; }, "strip", z.ZodTypeAny, { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; }, { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; }>, { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; }, { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; }>]>>; } & { gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; }, "strip", z.ZodTypeAny, { owner: string; mailbox: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; origin: string; nativeBridge: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectOutputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { bps: number; type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { bps: number; type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; quoteSigners?: string[] | undefined; } | { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; } | { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; } | { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; } | undefined; destinationGas?: Record | undefined; }, { owner: string; mailbox: string; gas?: number | undefined; ownerOverrides?: Record | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record | undefined; } | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record; oracleConfig: Record; ownerOverrides?: Record | undefined; quoteSigners?: string[] | undefined; contractVersion?: string | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownHook">; }, z.ZodTypeAny, "passthrough"> | undefined; interchainSecurityModule?: string | ({ threshold: number; validators: string[]; } & { type: "merkleRootMultisigIsm" | "messageIdMultisigIsm" | "storageMerkleRootMultisigIsm" | "storageMessageIdMultisigIsm"; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }) | { type: "testIsm"; } | ({ owner: string; paused: boolean; ownerOverrides?: Record | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; origin: string; nativeBridge: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record | undefined; } | { type: "interchainAccountRouting"; owner: string; isms: Record; ownerOverrides?: Record | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | z.objectInputType<{ type: z.ZodLiteral<"unknownIsm">; }, z.ZodTypeAny, "passthrough"> | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record | undefined; tokenFee?: { type: import("../fee/types.js").TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; } | { type: import("../fee/types.js").TokenFeeType.OffchainQuotedLinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | undefined; quoteSigners?: string[] | undefined; } | { type: import("../fee/types.js").TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: import("../fee/types.js").TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: import("../fee/types.js").TokenFeeType.RoutingFee; owner: string; feeContracts: Record; } | { type: import("../fee/types.js").TokenFeeType.CrossCollateralRoutingFee; owner: string; feeContracts: Record>; } | undefined; destinationGas?: Record | undefined; }>; //# sourceMappingURL=types.d.ts.map