UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

1,181 lines 60.2 kB
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 { DerivedHookConfig } from '../hook/types.js'; import { DerivedIsmConfig } from '../ism/types.js'; import { ChainMap } from '../types.js'; export type RouterAddress = { router: Address; }; export type MailboxClientConfig = z.infer<typeof MailboxClientConfigSchema>; export type DerivedMailboxClientFields = { hook: string | DerivedHookConfig; interchainSecurityModule: string | DerivedIsmConfig; }; export type DerivedMailboxClientConfig = Omit<MailboxClientConfig, keyof DerivedMailboxClientFields> & DerivedMailboxClientFields; export type RouterConfig = z.infer<typeof RouterConfigSchema>; export type GasRouterConfig = z.infer<typeof GasRouterConfigSchema>; export type ProxiedRouterConfig = RouterConfig & Partial<UpgradeConfig>; 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<typeof RemoteRoutersSchema>; export type DestinationGas = z.infer<typeof DestinationGasSchema>; export declare const MailboxClientConfigSchema: z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; mailbox: z.ZodString; hook: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<import("../hook/types.js").HookType.PROTOCOL_FEE>; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.PROTOCOL_FEE; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.PROTOCOL_FEE; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; paused: z.ZodBoolean; type: z.ZodLiteral<import("../hook/types.js").HookType.PAUSABLE>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<import("../hook/types.js").HookType.OP_STACK>; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.MERKLE_TREE>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.MERKLE_TREE; }, { type: import("../hook/types.js").HookType.MERKLE_TREE; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER>; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord<z.ZodString, z.ZodNumber>; oracleConfig: z.ZodRecord<z.ZodString, z.ZodObject<{ gasPrice: z.ZodString; tokenExchangeRate: z.ZodString; tokenDecimals: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodType<import("../hook/types.js").DomainRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").DomainRoutingHookConfig>, z.ZodType<import("../hook/types.js").FallbackRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").FallbackRoutingHookConfig>, z.ZodType<import("../hook/types.js").AmountRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").AmountRoutingHookConfig>, z.ZodType<import("../hook/types.js").AggregationHookConfig, z.ZodTypeDef, import("../hook/types.js").AggregationHookConfig>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.ARB_L2_TO_L1>; arbSys: z.ZodString; bridge: z.ZodOptional<z.ZodString>; destinationChain: z.ZodString; childHook: z.ZodLazy<z.ZodType<any, z.ZodTypeDef, any>>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: import("../hook/types.js").HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.MAILBOX_DEFAULT>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.MAILBOX_DEFAULT; }, { type: import("../hook/types.js").HookType.MAILBOX_DEFAULT; }>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.CCIP>; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.CCIP; destinationChain: string; }, { type: import("../hook/types.js").HookType.CCIP; destinationChain: string; }>]>>; interchainSecurityModule: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.TEST_ISM>; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.TEST_ISM; }, { type: import("../ism/types.js").IsmType.TEST_ISM; }>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.OP_STACK>; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.OP_STACK; origin: string; nativeBridge: string; }, { type: import("../ism/types.js").IsmType.OP_STACK; origin: string; nativeBridge: string; }>, z.ZodIntersection<z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.PAUSABLE>; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.PAUSABLE; }, { type: import("../ism/types.js").IsmType.PAUSABLE; }>>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.TRUSTED_RELAYER>; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.TRUSTED_RELAYER; relayer: string; }, { type: import("../ism/types.js").IsmType.TRUSTED_RELAYER; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.CCIP>; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.CCIP; originChain: string; }, { type: import("../ism/types.js").IsmType.CCIP; originChain: string; }>, z.ZodIntersection<z.ZodObject<{ validators: z.ZodArray<z.ZodString, "many">; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: string[]; threshold: number; }, { validators: string[]; threshold: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG>]>; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG; }, { type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG; }>>, z.ZodIntersection<z.ZodObject<{ validators: z.ZodArray<z.ZodObject<{ signingAddress: z.ZodString; weight: z.ZodNumber; }, "strip", z.ZodTypeAny, { signingAddress: string; weight: number; }, { signingAddress: string; weight: number; }>, "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<import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG>]>; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG; }, { type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG; }>>, z.ZodType<import("../ism/types.js").RoutingIsmConfig, z.ZodTypeDef, import("../ism/types.js").RoutingIsmConfig>, z.ZodType<import("../ism/types.js").AggregationIsmConfig, z.ZodTypeDef, import("../ism/types.js").AggregationIsmConfig>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.ARB_L2_TO_L1>; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.ARB_L2_TO_L1; bridge: string; }, { type: import("../ism/types.js").IsmType.ARB_L2_TO_L1; bridge: string; }>]>>; }, "strip", z.ZodTypeAny, { owner: string; mailbox: string; ownerOverrides?: Record<string, string> | undefined; hook?: string | { type: import("../hook/types.js").HookType.MERKLE_TREE; } | { type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.PROTOCOL_FEE; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: import("../hook/types.js").HookType.MAILBOX_DEFAULT; } | { type: import("../hook/types.js").HookType.CCIP; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | undefined; interchainSecurityModule?: string | ({ validators: string[]; threshold: number; } & { type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG; }) | { type: import("../ism/types.js").IsmType.TEST_ISM; } | ({ owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } & { type: import("../ism/types.js").IsmType.PAUSABLE; }) | { type: import("../ism/types.js").IsmType.OP_STACK; origin: string; nativeBridge: string; } | { type: import("../ism/types.js").IsmType.TRUSTED_RELAYER; relayer: string; } | { type: import("../ism/types.js").IsmType.CCIP; originChain: string; } | { type: import("../ism/types.js").IsmType.ARB_L2_TO_L1; bridge: string; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined; }, { owner: string; mailbox: string; ownerOverrides?: Record<string, string> | undefined; hook?: string | { type: import("../hook/types.js").HookType.MERKLE_TREE; } | { type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.PROTOCOL_FEE; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: import("../hook/types.js").HookType.MAILBOX_DEFAULT; } | { type: import("../hook/types.js").HookType.CCIP; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | undefined; interchainSecurityModule?: string | ({ validators: string[]; threshold: number; } & { type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG; }) | { type: import("../ism/types.js").IsmType.TEST_ISM; } | ({ owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } & { type: import("../ism/types.js").IsmType.PAUSABLE; }) | { type: import("../ism/types.js").IsmType.OP_STACK; origin: string; nativeBridge: string; } | { type: import("../ism/types.js").IsmType.TRUSTED_RELAYER; relayer: string; } | { type: import("../ism/types.js").IsmType.CCIP; originChain: string; } | { type: import("../ism/types.js").IsmType.ARB_L2_TO_L1; bridge: string; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined; }>; export declare const ForeignDeploymentConfigSchema: z.ZodObject<{ foreignDeployment: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { foreignDeployment?: string | undefined; }, { foreignDeployment?: string | undefined; }>; export declare const RemoteRouterDomain: z.ZodString; export declare const RemoteRouterRouter: z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>; export declare const RemoteRoutersSchema: z.ZodRecord<z.ZodString, z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>>; export declare const RouterConfigSchema: z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; mailbox: z.ZodString; hook: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<import("../hook/types.js").HookType.PROTOCOL_FEE>; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.PROTOCOL_FEE; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.PROTOCOL_FEE; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; paused: z.ZodBoolean; type: z.ZodLiteral<import("../hook/types.js").HookType.PAUSABLE>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<import("../hook/types.js").HookType.OP_STACK>; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.MERKLE_TREE>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.MERKLE_TREE; }, { type: import("../hook/types.js").HookType.MERKLE_TREE; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER>; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord<z.ZodString, z.ZodNumber>; oracleConfig: z.ZodRecord<z.ZodString, z.ZodObject<{ gasPrice: z.ZodString; tokenExchangeRate: z.ZodString; tokenDecimals: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodType<import("../hook/types.js").DomainRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").DomainRoutingHookConfig>, z.ZodType<import("../hook/types.js").FallbackRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").FallbackRoutingHookConfig>, z.ZodType<import("../hook/types.js").AmountRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").AmountRoutingHookConfig>, z.ZodType<import("../hook/types.js").AggregationHookConfig, z.ZodTypeDef, import("../hook/types.js").AggregationHookConfig>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.ARB_L2_TO_L1>; arbSys: z.ZodString; bridge: z.ZodOptional<z.ZodString>; destinationChain: z.ZodString; childHook: z.ZodLazy<z.ZodType<any, z.ZodTypeDef, any>>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: import("../hook/types.js").HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.MAILBOX_DEFAULT>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.MAILBOX_DEFAULT; }, { type: import("../hook/types.js").HookType.MAILBOX_DEFAULT; }>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.CCIP>; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.CCIP; destinationChain: string; }, { type: import("../hook/types.js").HookType.CCIP; destinationChain: string; }>]>>; interchainSecurityModule: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.TEST_ISM>; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.TEST_ISM; }, { type: import("../ism/types.js").IsmType.TEST_ISM; }>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.OP_STACK>; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.OP_STACK; origin: string; nativeBridge: string; }, { type: import("../ism/types.js").IsmType.OP_STACK; origin: string; nativeBridge: string; }>, z.ZodIntersection<z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.PAUSABLE>; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.PAUSABLE; }, { type: import("../ism/types.js").IsmType.PAUSABLE; }>>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.TRUSTED_RELAYER>; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.TRUSTED_RELAYER; relayer: string; }, { type: import("../ism/types.js").IsmType.TRUSTED_RELAYER; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.CCIP>; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.CCIP; originChain: string; }, { type: import("../ism/types.js").IsmType.CCIP; originChain: string; }>, z.ZodIntersection<z.ZodObject<{ validators: z.ZodArray<z.ZodString, "many">; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: string[]; threshold: number; }, { validators: string[]; threshold: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG>]>; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG; }, { type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG; }>>, z.ZodIntersection<z.ZodObject<{ validators: z.ZodArray<z.ZodObject<{ signingAddress: z.ZodString; weight: z.ZodNumber; }, "strip", z.ZodTypeAny, { signingAddress: string; weight: number; }, { signingAddress: string; weight: number; }>, "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<import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG>]>; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG; }, { type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG; }>>, z.ZodType<import("../ism/types.js").RoutingIsmConfig, z.ZodTypeDef, import("../ism/types.js").RoutingIsmConfig>, z.ZodType<import("../ism/types.js").AggregationIsmConfig, z.ZodTypeDef, import("../ism/types.js").AggregationIsmConfig>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.ARB_L2_TO_L1>; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.ARB_L2_TO_L1; bridge: string; }, { type: import("../ism/types.js").IsmType.ARB_L2_TO_L1; bridge: string; }>]>>; foreignDeployment: z.ZodOptional<z.ZodString>; remoteRouters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; }, { address: string; }>>>; proxyAdmin: z.ZodOptional<z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; address: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { owner: string; ownerOverrides?: Record<string, string> | undefined; address?: string | undefined; }, { owner: string; ownerOverrides?: Record<string, string> | undefined; address?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { owner: string; mailbox: string; ownerOverrides?: Record<string, string> | undefined; hook?: string | { type: import("../hook/types.js").HookType.MERKLE_TREE; } | { type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.PROTOCOL_FEE; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: import("../hook/types.js").HookType.MAILBOX_DEFAULT; } | { type: import("../hook/types.js").HookType.CCIP; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | undefined; interchainSecurityModule?: string | ({ validators: string[]; threshold: number; } & { type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG; }) | { type: import("../ism/types.js").IsmType.TEST_ISM; } | ({ owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } & { type: import("../ism/types.js").IsmType.PAUSABLE; }) | { type: import("../ism/types.js").IsmType.OP_STACK; origin: string; nativeBridge: string; } | { type: import("../ism/types.js").IsmType.TRUSTED_RELAYER; relayer: string; } | { type: import("../ism/types.js").IsmType.CCIP; originChain: string; } | { type: import("../ism/types.js").IsmType.ARB_L2_TO_L1; bridge: string; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record<string, { address: string; }> | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record<string, string> | undefined; address?: string | undefined; } | undefined; }, { owner: string; mailbox: string; ownerOverrides?: Record<string, string> | undefined; hook?: string | { type: import("../hook/types.js").HookType.MERKLE_TREE; } | { type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.PROTOCOL_FEE; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: import("../hook/types.js").HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: import("../hook/types.js").HookType.MAILBOX_DEFAULT; } | { type: import("../hook/types.js").HookType.CCIP; destinationChain: string; } | import("../hook/types.js").DomainRoutingHookConfig | import("../hook/types.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").AggregationHookConfig | undefined; interchainSecurityModule?: string | ({ validators: string[]; threshold: number; } & { type: import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.STORAGE_MESSAGE_ID_MULTISIG; }) | ({ validators: { signingAddress: string; weight: number; }[]; thresholdWeight: number; } & { type: import("../ism/types.js").IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | import("../ism/types.js").IsmType.WEIGHTED_MESSAGE_ID_MULTISIG; }) | { type: import("../ism/types.js").IsmType.TEST_ISM; } | ({ owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } & { type: import("../ism/types.js").IsmType.PAUSABLE; }) | { type: import("../ism/types.js").IsmType.OP_STACK; origin: string; nativeBridge: string; } | { type: import("../ism/types.js").IsmType.TRUSTED_RELAYER; relayer: string; } | { type: import("../ism/types.js").IsmType.CCIP; originChain: string; } | { type: import("../ism/types.js").IsmType.ARB_L2_TO_L1; bridge: string; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record<string, { address: string; }> | undefined; proxyAdmin?: { owner: string; ownerOverrides?: Record<string, string> | undefined; address?: string | undefined; } | undefined; }>; export declare const DestinationGasSchema: z.ZodRecord<z.ZodString, z.ZodString>; export declare const GasRouterConfigSchema: z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; mailbox: z.ZodString; proxyAdmin: z.ZodOptional<z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; address: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { owner: string; ownerOverrides?: Record<string, string> | undefined; address?: string | undefined; }, { owner: string; ownerOverrides?: Record<string, string> | undefined; address?: string | undefined; }>>; hook: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<import("../hook/types.js").HookType.PROTOCOL_FEE>; beneficiary: z.ZodString; maxProtocolFee: z.ZodString; protocolFee: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.PROTOCOL_FEE; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.PROTOCOL_FEE; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; paused: z.ZodBoolean; type: z.ZodLiteral<import("../hook/types.js").HookType.PAUSABLE>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.PAUSABLE; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<import("../hook/types.js").HookType.OP_STACK>; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.OP_STACK; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.MERKLE_TREE>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.MERKLE_TREE; }, { type: import("../hook/types.js").HookType.MERKLE_TREE; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; type: z.ZodLiteral<import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER>; beneficiary: z.ZodString; oracleKey: z.ZodString; overhead: z.ZodRecord<z.ZodString, z.ZodNumber>; oracleConfig: z.ZodRecord<z.ZodString, z.ZodObject<{ gasPrice: z.ZodString; tokenExchangeRate: z.ZodString; tokenDecimals: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>; ownerOverrides?: Record<string, string> | undefined; }, { type: import("../hook/types.js").HookType.INTERCHAIN_GAS_PAYMASTER; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; }>; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodType<import("../hook/types.js").DomainRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").DomainRoutingHookConfig>, z.ZodType<import("../hook/types.js").FallbackRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").FallbackRoutingHookConfig>, z.ZodType<import("../hook/types.js").AmountRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").AmountRoutingHookConfig>, z.ZodType<import("../hook/types.js").AggregationHookConfig, z.ZodTypeDef, import("../hook/types.js").AggregationHookConfig>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.ARB_L2_TO_L1>; arbSys: z.ZodString; bridge: z.ZodOptional<z.ZodString>; destinationChain: z.ZodString; childHook: z.ZodLazy<z.ZodType<any, z.ZodTypeDef, any>>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }, { type: import("../hook/types.js").HookType.ARB_L2_TO_L1; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; }>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.MAILBOX_DEFAULT>; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.MAILBOX_DEFAULT; }, { type: import("../hook/types.js").HookType.MAILBOX_DEFAULT; }>, z.ZodObject<{ type: z.ZodLiteral<import("../hook/types.js").HookType.CCIP>; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../hook/types.js").HookType.CCIP; destinationChain: string; }, { type: import("../hook/types.js").HookType.CCIP; destinationChain: string; }>]>>; interchainSecurityModule: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.TEST_ISM>; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.TEST_ISM; }, { type: import("../ism/types.js").IsmType.TEST_ISM; }>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.OP_STACK>; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.OP_STACK; origin: string; nativeBridge: string; }, { type: import("../ism/types.js").IsmType.OP_STACK; origin: string; nativeBridge: string; }>, z.ZodIntersection<z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; paused: z.ZodBoolean; }, "strip", z.ZodTypeAny, { owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }, { owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.PAUSABLE>; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.PAUSABLE; }, { type: import("../ism/types.js").IsmType.PAUSABLE; }>>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.TRUSTED_RELAYER>; relayer: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.TRUSTED_RELAYER; relayer: string; }, { type: import("../ism/types.js").IsmType.TRUSTED_RELAYER; relayer: string; }>, z.ZodObject<{ type: z.ZodLiteral<import("../ism/types.js").IsmType.CCIP>; originChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: import("../ism/types.js").IsmType.CCIP; originChain: string; }, { type: import("../ism/types.js").IsmType.CCIP; originChain: string; }>, z.ZodIntersection<z.ZodObject<{ validators: z.ZodArray<z.ZodString, "many">; threshold: z.ZodNumber; }, "strip", z.ZodTypeAny, { validators: string[]; threshold: number; }, { validators: string[]; threshold: number; }>, z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<import("../ism/types.js").IsmType.MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.MESSAGE_ID_MULTISIG>, z.ZodLiteral<import("../ism/types.js").IsmType.STORAGE_MERKLE_ROOT_MULTISIG>, z.ZodLiteral<import("../ism/