import type { DerivedWarpConfig } from '@hyperlane-xyz/provider-sdk/warp'; import { type Address, type ObjectDiff, ProtocolType } from '@hyperlane-xyz/utils'; import { MultiProvider } from '../providers/MultiProvider.js'; import { ChainName } from '../types.js'; import { WarpCoreConfig } from '../warp/types.js'; import { DerivedWarpRouteDeployConfig, HypTokenRouterVirtualConfig, OwnerStatus, WarpRouteDeployConfigMailboxRequired } from './types.js'; export declare const WARP_ROUTE_CHECK_TYPE = "ConfigMismatch"; export declare const WARP_ROUTE_CHECK_SCALE_TYPE = "ScaleMismatch"; export interface WarpRouteCheckViolation { actual: string; chain: ChainName; expected: string; name: string; type: string; } export interface WarpRouteCheckResult { diff: Record; isValid: boolean; scaleViolations: WarpRouteCheckViolation[]; violations: WarpRouteCheckViolation[]; } type ScaleValidationWarpRouteConfig = WarpRouteDeployConfigMailboxRequired & Record>; export type AltVmCheckConfig = { type: string; owner: string; mailbox: string; interchainSecurityModule?: string; hook?: string; scale?: number; remoteRouters: Record; destinationGas: Record; token?: string; decimals?: number; contractVersion?: string; crossCollateralRouters?: Record; }; export declare function derivedWarpConfigToCheckConfig(config: DerivedWarpConfig, protocol: ProtocolType): AltVmCheckConfig; export declare function expandedDeployConfigToAltVmCheckConfig(chain: ChainName, config: WarpRouteDeployConfigMailboxRequired[string], multiProvider: MultiProvider): AltVmCheckConfig; export declare function normalizeAltVmDestinationGas(actual: Record, expected: Record): { actual: Record; expected: Record; }; export declare function filterDestinationGasToEnrolledDomains(destinationGas: Record, chain: string, enrollmentSources: ReadonlyArray>): Record; export declare function buildAltVmWarpRouteDiff(onChainConfigs: Record, expectedConfigs: Record, noIgpChains?: ReadonlySet): Record; export declare function altVmScaleMismatch(actualScale: number | undefined, expectedScale: WarpRouteDeployConfigMailboxRequired[string]['scale']): { actual: string; expected: string; } | undefined; export interface AcceptedInactiveOwner { chain: ChainName; owner: Address; } export declare function applyAcceptedInactiveOwnerStatus({ expandedWarpDeployConfig, onChainWarpConfig, acceptedInactiveOwners, }: { expandedWarpDeployConfig: WarpRouteDeployConfigMailboxRequired; onChainWarpConfig: Record; }>; acceptedInactiveOwners?: readonly AcceptedInactiveOwner[]; }): void; export declare function checkWarpRouteDeployConfig({ multiProvider, warpCoreConfig, warpDeployConfig, acceptedInactiveOwners, }: { multiProvider: MultiProvider; warpCoreConfig: WarpCoreConfig; warpDeployConfig: WarpRouteDeployConfigMailboxRequired; acceptedInactiveOwners?: readonly AcceptedInactiveOwner[]; }): Promise; export declare function buildWarpRouteDiff({ warpRouteConfig, onChainWarpConfig, }: { warpRouteConfig: WarpRouteDeployConfigMailboxRequired & Record>; onChainWarpConfig: DerivedWarpRouteDeployConfig & Record>; }): Record; export declare function getScaleViolations({ multiProvider, warpRouteConfig, }: { multiProvider: MultiProvider; warpRouteConfig: ScaleValidationWarpRouteConfig; }): Promise; export {}; //# sourceMappingURL=warpCheck.d.ts.map