UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

1,380 lines 54.7 kB
import { z } from 'zod'; export declare const IcaRouterConfigSchema: 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<"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<string, string> | undefined; }, { type: "protocolFee"; 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<"pausableHook">; }, "strip", z.ZodTypeAny, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }, { type: "pausableHook"; 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<"opStackHook">; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"merkleTreeHook">; }, "strip", z.ZodTypeAny, { type: "merkleTreeHook"; }, { type: "merkleTreeHook"; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; } & { type: z.ZodLiteral<"interchainGasPaymaster">; 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>; } & { typicalCost: z.ZodOptional<z.ZodObject<{ handleGasAmount: z.ZodNumber; totalGasAmount: z.ZodNumber; totalUsdCost: z.ZodNumber; }, "strip", z.ZodTypeAny, { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; }, { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; }>>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>; ownerOverrides?: Record<string, string> | undefined; }, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodType<import("../index.js").DomainRoutingHookConfig, z.ZodTypeDef, import("../index.js").DomainRoutingHookConfig>, z.ZodType<import("../index.js").FallbackRoutingHookConfig, z.ZodTypeDef, import("../index.js").FallbackRoutingHookConfig>, z.ZodType<import("../hook/types.js").AmountRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").AmountRoutingHookConfig>, z.ZodType<import("../index.js").AggregationHookConfig, z.ZodTypeDef, import("../index.js").AggregationHookConfig>, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Hook">; arbSys: z.ZodString; bridge: z.ZodOptional<z.ZodString>; destinationChain: z.ZodString; childHook: z.ZodLazy<z.ZodType<any, z.ZodTypeDef, any>>; }, "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; }>]>>; interchainSecurityModule: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{ type: z.ZodLiteral<"testIsm">; }, "strip", z.ZodTypeAny, { type: "testIsm"; }, { type: "testIsm"; }>, z.ZodObject<{ type: z.ZodLiteral<"opStackIsm">; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackIsm"; nativeBridge: string; origin: string; }, { type: "opStackIsm"; nativeBridge: string; origin: string; }>, z.ZodIntersection<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<"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<z.ZodObject<{ validators: z.ZodArray<z.ZodString, "many">; 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<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<"weightedMerkleRootMultisigIsm">, z.ZodLiteral<"weightedMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }>>, 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<"arbL2ToL1Ism">; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Ism"; bridge: string; }, { type: "arbL2ToL1Ism"; bridge: string; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; } & { type: z.ZodLiteral<"interchainAccountRouting">; isms: z.ZodRecord<z.ZodString, z.ZodString>; }, "strip", z.ZodTypeAny, { type: "interchainAccountRouting"; owner: string; isms: Record<string, string>; ownerOverrides?: Record<string, string> | undefined; }, { type: "interchainAccountRouting"; owner: string; isms: Record<string, string>; ownerOverrides?: Record<string, string> | undefined; }>]>>; } & { foreignDeployment: z.ZodOptional<z.ZodString>; } & { remoteRouters: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, 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; address?: string | undefined; ownerOverrides?: Record<string, string> | undefined; }, { owner: string; address?: string | undefined; ownerOverrides?: Record<string, string> | undefined; }>>; tokenFee: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral<import("../index.js").TokenFeeType.LinearFee>; bps: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { bps: bigint; type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>; } & { type: z.ZodLiteral<import("../index.js").TokenFeeType.ProgressiveFee>; }, "strip", z.ZodTypeAny, { type: import("../index.js").TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../index.js").TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>; } & { type: z.ZodLiteral<import("../index.js").TokenFeeType.RegressiveFee>; }, "strip", z.ZodTypeAny, { type: import("../index.js").TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../index.js").TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ token: z.ZodString; owner: z.ZodString; type: z.ZodLiteral<import("../index.js").TokenFeeType.RoutingFee>; maxFee: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>; } & { feeContracts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, z.ZodTypeDef, any>>>>; }, "strip", z.ZodTypeAny, { type: import("../index.js").TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; feeContracts?: Record<string, any> | undefined; }, { type: import("../index.js").TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; feeContracts?: Record<string, any> | undefined; }>]>>; } & { commitmentIsm: z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }>; }, "strip", z.ZodTypeAny, { owner: string; mailbox: string; commitmentIsm: { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }; ownerOverrides?: Record<string, string> | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record<string, string> | undefined; } | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>; ownerOverrides?: Record<string, string> | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../index.js").DomainRoutingHookConfig | import("../index.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../index.js").AggregationHookConfig | 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<string, string> | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record<string | number, { address: string; }> | undefined; tokenFee?: { bps: bigint; type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: import("../index.js").TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; } | { type: import("../index.js").TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; } | { type: import("../index.js").TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; feeContracts?: Record<string, any> | undefined; } | undefined; }, { owner: string; mailbox: string; commitmentIsm: { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }; ownerOverrides?: Record<string, string> | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record<string, string> | undefined; } | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>; ownerOverrides?: Record<string, string> | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../index.js").DomainRoutingHookConfig | import("../index.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../index.js").AggregationHookConfig | 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<string, string> | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; } | { type: "interchainAccountRouting"; owner: string; isms: Record<string, string>; ownerOverrides?: Record<string, string> | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record<string | number, { address: string; }> | undefined; tokenFee?: { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; } | { type: import("../index.js").TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: import("../index.js").TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; } | { type: import("../index.js").TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; feeContracts?: Record<string, any> | undefined; } | undefined; }>; export type IcaRouterConfig = z.infer<typeof IcaRouterConfigSchema>; export declare const DerivedIcaRouterConfigSchema: 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<"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<string, string> | undefined; }, { type: "protocolFee"; 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<"pausableHook">; }, "strip", z.ZodTypeAny, { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; }, { type: "pausableHook"; 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<"opStackHook">; nativeBridge: z.ZodString; destinationChain: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }, { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"merkleTreeHook">; }, "strip", z.ZodTypeAny, { type: "merkleTreeHook"; }, { type: "merkleTreeHook"; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; } & { type: z.ZodLiteral<"interchainGasPaymaster">; 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>; } & { typicalCost: z.ZodOptional<z.ZodObject<{ handleGasAmount: z.ZodNumber; totalGasAmount: z.ZodNumber; totalUsdCost: z.ZodNumber; }, "strip", z.ZodTypeAny, { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; }, { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; }>>; }, "strip", z.ZodTypeAny, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>; ownerOverrides?: Record<string, string> | undefined; }, { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodType<import("../index.js").DomainRoutingHookConfig, z.ZodTypeDef, import("../index.js").DomainRoutingHookConfig>, z.ZodType<import("../index.js").FallbackRoutingHookConfig, z.ZodTypeDef, import("../index.js").FallbackRoutingHookConfig>, z.ZodType<import("../hook/types.js").AmountRoutingHookConfig, z.ZodTypeDef, import("../hook/types.js").AmountRoutingHookConfig>, z.ZodType<import("../index.js").AggregationHookConfig, z.ZodTypeDef, import("../index.js").AggregationHookConfig>, z.ZodObject<{ type: z.ZodLiteral<"arbL2ToL1Hook">; arbSys: z.ZodString; bridge: z.ZodOptional<z.ZodString>; destinationChain: z.ZodString; childHook: z.ZodLazy<z.ZodType<any, z.ZodTypeDef, any>>; }, "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; }>]>>; interchainSecurityModule: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{ type: z.ZodLiteral<"testIsm">; }, "strip", z.ZodTypeAny, { type: "testIsm"; }, { type: "testIsm"; }>, z.ZodObject<{ type: z.ZodLiteral<"opStackIsm">; origin: z.ZodString; nativeBridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "opStackIsm"; nativeBridge: string; origin: string; }, { type: "opStackIsm"; nativeBridge: string; origin: string; }>, z.ZodIntersection<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<"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<z.ZodObject<{ validators: z.ZodArray<z.ZodString, "many">; 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<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<"weightedMerkleRootMultisigIsm">, z.ZodLiteral<"weightedMessageIdMultisigIsm">]>; }, "strip", z.ZodTypeAny, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }, { type: "weightedMerkleRootMultisigIsm" | "weightedMessageIdMultisigIsm"; }>>, 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<"arbL2ToL1Ism">; bridge: z.ZodString; }, "strip", z.ZodTypeAny, { type: "arbL2ToL1Ism"; bridge: string; }, { type: "arbL2ToL1Ism"; bridge: string; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }>, z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; } & { type: z.ZodLiteral<"interchainAccountRouting">; isms: z.ZodRecord<z.ZodString, z.ZodString>; }, "strip", z.ZodTypeAny, { type: "interchainAccountRouting"; owner: string; isms: Record<string, string>; ownerOverrides?: Record<string, string> | undefined; }, { type: "interchainAccountRouting"; owner: string; isms: Record<string, string>; ownerOverrides?: Record<string, string> | undefined; }>]>>; } & { foreignDeployment: z.ZodOptional<z.ZodString>; } & { remoteRouters: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, 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; address?: string | undefined; ownerOverrides?: Record<string, string> | undefined; }, { owner: string; address?: string | undefined; ownerOverrides?: Record<string, string> | undefined; }>>; tokenFee: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral<import("../index.js").TokenFeeType.LinearFee>; bps: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { bps: bigint; type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>; } & { type: z.ZodLiteral<import("../index.js").TokenFeeType.ProgressiveFee>; }, "strip", z.ZodTypeAny, { type: import("../index.js").TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../index.js").TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>; } & { type: z.ZodLiteral<import("../index.js").TokenFeeType.RegressiveFee>; }, "strip", z.ZodTypeAny, { type: import("../index.js").TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; }, { type: import("../index.js").TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ token: z.ZodString; owner: z.ZodString; type: z.ZodLiteral<import("../index.js").TokenFeeType.RoutingFee>; maxFee: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>>; } & { feeContracts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, z.ZodTypeDef, any>>>>; }, "strip", z.ZodTypeAny, { type: import("../index.js").TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; feeContracts?: Record<string, any> | undefined; }, { type: import("../index.js").TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; feeContracts?: Record<string, any> | undefined; }>]>>; } & { commitmentIsm: z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; } & { type: z.ZodLiteral<"offchainLookupIsm">; urls: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }, { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }>; } & { address: z.ZodString; }, "strip", z.ZodTypeAny, { address: string; owner: string; mailbox: string; commitmentIsm: { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; }; ownerOverrides?: Record<string, string> | undefined; proxyAdmin?: { owner: string; address?: string | undefined; ownerOverrides?: Record<string, string> | undefined; } | undefined; hook?: string | { type: "merkleTreeHook"; } | { type: "interchainGasPaymaster"; owner: string; beneficiary: string; oracleKey: string; overhead: Record<string, number>; oracleConfig: Record<string, { gasPrice: string; tokenExchangeRate: string; tokenDecimals?: number | undefined; typicalCost?: { handleGasAmount: number; totalGasAmount: number; totalUsdCost: number; } | undefined; }>; ownerOverrides?: Record<string, string> | undefined; } | { type: "protocolFee"; owner: string; protocolFee: string; beneficiary: string; maxProtocolFee: string; ownerOverrides?: Record<string, string> | undefined; } | { type: "pausableHook"; owner: string; paused: boolean; ownerOverrides?: Record<string, string> | undefined; } | { type: "opStackHook"; owner: string; nativeBridge: string; destinationChain: string; ownerOverrides?: Record<string, string> | undefined; } | { type: "arbL2ToL1Hook"; destinationChain: string; arbSys: string; bridge?: string | undefined; childHook?: any; } | { type: "defaultHook"; } | { type: "ccipHook"; destinationChain: string; } | import("../index.js").DomainRoutingHookConfig | import("../index.js").FallbackRoutingHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../index.js").AggregationHookConfig | 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<string, string> | undefined; } & { type: "pausableIsm"; }) | { type: "opStackIsm"; nativeBridge: string; origin: string; } | { type: "trustedRelayerIsm"; relayer: string; } | { type: "ccipIsm"; originChain: string; } | { type: "arbL2ToL1Ism"; bridge: string; } | { type: "offchainLookupIsm"; owner: string; urls: string[]; ownerOverrides?: Record<string, string> | undefined; } | import("../ism/types.js").RoutingIsmConfig | import("../ism/types.js").AggregationIsmConfig | undefined; foreignDeployment?: string | undefined; remoteRouters?: Record<string | number, { address: string; }> | undefined; tokenFee?: { bps: bigint; type: import("../index.js").TokenFeeType.LinearFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; } | { type: import("../index.js").TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; } | { type: import("../index.js").TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; } | { type: import("../index.js").TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; feeContracts?: Record<string, any> | undefined; } | undefined; }, { address: string; owner: string; mailb