import { type Hex } from "viem"; import { Universe } from "../proto/definition"; import { Bytes } from "../types"; export declare function encodeChainID36(universe: Universe, chainID: Bytes | bigint | number): Buffer; export declare class OmniversalChainID { readonly universe: Universe; readonly chainID: bigint; private readonly binaryForm; constructor(universe: Universe, chainID: bigint | number | string | Bytes); toString(): string; toJSON(): { universe: string; chainID: `0x${string}`; }; static fromJSON(input: { universe: string; chainID: Hex; }): OmniversalChainID; static fromChainID36(_input: Bytes): OmniversalChainID; toBytes(): Buffer; equals(rhs: OmniversalChainID): boolean; static equals(lhs: OmniversalChainID, rhs: OmniversalChainID): boolean; } export declare class ChainIDKeyedMap { private readonly map; constructor(entries?: readonly [OmniversalChainID, V][] | null); get(key: OmniversalChainID): V | undefined; set(key: OmniversalChainID, value: V): this; getFromChainID36(key: Bytes): V | undefined; entries(): Generator<[OmniversalChainID, V]>; }