import type { ChainMetadata } from '@hyperlane-xyz/sdk/metadata/chainMetadataTypes'; import type { WarpRouteDeployConfig } from '@hyperlane-xyz/sdk/token/types'; import type { ChainMap, ChainName } from '@hyperlane-xyz/sdk/types'; import type { WarpCoreConfig } from '@hyperlane-xyz/sdk/warp/types'; import { AddWarpRouteConfigOptions, ChainAddresses, UpdateChainParams, WarpDeployConfigMap, WarpRouteConfigMap, WarpRouteFilterParams, WarpRouteId } from '../types.js'; import { BaseRegistry } from './BaseRegistry.js'; import { IRegistry, RegistryContent } from './IRegistry.js'; /** * Shared code for sync registries like the FileSystem and Partial registries. * This is required because of the inconsistent sync/async methods across registries. * If the Infra package can be updated to work with async-only methods, this code can be moved to the BaseRegistry class. */ export declare abstract class SynchronousRegistry extends BaseRegistry implements IRegistry { abstract listRegistryContent(): RegistryContent; getChains(): Array; abstract getMetadata(): ChainMap; getChainMetadata(chainName: ChainName): ChainMetadata | null; abstract getAddresses(): ChainMap; getChainAddresses(chainName: ChainName): ChainAddresses | null; addChain(chain: UpdateChainParams): void; updateChain(chain: UpdateChainParams): void; removeChain(chainName: ChainName): void; getWarpRoute(routeId: string): WarpCoreConfig | null; getWarpDeployConfig(routeId: string): WarpRouteDeployConfig | null; /** * Retrieves a filtered map of the warp routes configs */ getWarpRoutes(filter?: WarpRouteFilterParams): WarpRouteConfigMap; /** * Retrieves a map of all the warp routes deployment configs */ getWarpDeployConfigs(filter?: WarpRouteFilterParams): WarpDeployConfigMap; abstract addWarpRoute(config: WarpCoreConfig, options?: AddWarpRouteConfigOptions): void; protected abstract createOrUpdateChain(chain: UpdateChainParams): void; protected abstract getWarpRoutesForIds(ids: WarpRouteId[]): WarpCoreConfig[]; protected abstract getWarpDeployConfigForIds(ids: WarpRouteId[]): WarpRouteDeployConfig[]; }