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, MaybePromise, UpdateChainParams, WarpDeployConfigMap, WarpRouteConfigMap, WarpRouteFilterParams } from '../types.js';
import { IRegistry, IRegistryMethods, RegistryContent, RegistryType } from './IRegistry.js';
export declare class HttpError extends Error {
    status: number;
    body: any;
    constructor(message: string, status: number, body?: any);
}
export declare class HttpClientRegistry implements IRegistry {
    private baseUrl;
    readonly type = RegistryType.Http;
    readonly uri: string;
    readonly unimplementedMethods: Set<IRegistryMethods>;
    constructor(baseUrl?: string);
    getMetadata(): MaybePromise<ChainMap<ChainMetadata>>;
    getAddresses(): MaybePromise<ChainMap<ChainAddresses>>;
    getUri(_itemPath?: string): string;
    listRegistryContent(): MaybePromise<RegistryContent>;
    getChains(): MaybePromise<Array<ChainName>>;
    getChainMetadata(chainName: ChainName): Promise<ChainMetadata | null>;
    getChainAddresses(chainName: ChainName): Promise<ChainAddresses | null>;
    updateChain(update: UpdateChainParams): Promise<void>;
    getChainLogoUri(_chainName: ChainName): Promise<string | null>;
    addChain(_chain: UpdateChainParams): MaybePromise<void>;
    removeChain(_chain: ChainName): MaybePromise<void>;
    getWarpRoute(routeId: string): MaybePromise<WarpCoreConfig | null>;
    getWarpRoutes(filter?: WarpRouteFilterParams): MaybePromise<WarpRouteConfigMap>;
    addWarpRoute(config: WarpCoreConfig, options?: AddWarpRouteConfigOptions): Promise<void>;
    getWarpDeployConfig(routeId: string): MaybePromise<WarpRouteDeployConfig | null>;
    getWarpDeployConfigs(filter?: WarpRouteFilterParams): MaybePromise<WarpDeployConfigMap>;
    addWarpRouteConfig(config: WarpRouteDeployConfig, options: AddWarpRouteConfigOptions): Promise<void>;
    merge(_otherRegistry: IRegistry): IRegistry;
    private fetchJson;
}
