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>>; interchainSecurityModule: z.ZodOptional>>; }, z.core.$strip>; export declare const ForeignDeploymentConfigSchema: z.ZodObject<{ foreignDeployment: z.ZodOptional; }, z.core.$strip>; 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; }, z.core.$strip>; export declare const RemoteRoutersSchema: z.ZodRecord, z.ZodObject<{ address: z.ZodString; }, z.core.$strip>>; export declare const RouterConfigSchema: z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; timelock: z.ZodOptional; }, z.core.$strip>>; mailbox: z.ZodString; hook: z.ZodOptional>>; interchainSecurityModule: z.ZodOptional>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, z.core.$strip>>>; proxyAdmin: z.ZodOptional>; address: z.ZodOptional; }, z.core.$strip>>; tokenFee: z.ZodOptional>>; }, z.core.$strip>; export declare const DestinationGasSchema: z.ZodRecord, z.ZodString>; export declare const GasRouterConfigSchema: z.ZodObject<{ owner: z.ZodString; ownerOverrides: z.ZodOptional>; timelock: z.ZodOptional; }, z.core.$strip>>; mailbox: z.ZodString; hook: z.ZodOptional>>; interchainSecurityModule: z.ZodOptional>>; foreignDeployment: z.ZodOptional; remoteRouters: z.ZodOptional, z.ZodObject<{ address: z.ZodString; }, z.core.$strip>>>; proxyAdmin: z.ZodOptional>; address: z.ZodOptional; }, z.core.$strip>>; tokenFee: z.ZodOptional>>; gas: z.ZodOptional; destinationGas: z.ZodOptional, z.ZodString>>; feeHook: z.ZodOptional; }, z.core.$strip>; //# sourceMappingURL=types.d.ts.map