import * as Equal from 'effect/Equal'; import * as equivalence from 'effect/Equivalence'; import { type Inspectable } from 'effect/Inspectable'; import * as NetworkIdMoniker from './NetworkIdMoniker.js'; declare const TypeId: unique symbol; export type TypeId = typeof TypeId; declare const MonikerSymbol: unique symbol; /** * Represents a Midnight network identifier. * * @remarks * A {@link NetworkId} can be constructed by calling {@link make} with a valid * {@link NetworkIdMoniker.NetworkIdMoniker | NetworkIdMoniker} identifying the network. Alternatively, in order * to use the Midnight MainNet, use the exported instance {@link MainNet}. * * @see {@link NetworkIdInput} * @see {@link make} */ export interface NetworkId extends Equal.Equal, Inspectable { readonly [TypeId]: TypeId; readonly [MonikerSymbol]: NetworkIdMoniker.NetworkIdMoniker | true; /** * Determines if the network identifier represents the Midnight MainNet. * * @returns `true` if the {@link NetworkId} represents the Midnight MainNet; `false` otherwise. */ readonly isMainNet: () => boolean; } /** * An input for constructing {@link NetworkId} instances. * * @see {@link make} */ export type NetworkIdInput = NetworkIdMoniker.NetworkIdMoniker | NetworkId; /** * Provides equivalence for {@link NetworkId} instances. * * @remarks * For two {@link NetworkId} instances to be considered equal, their underlying monikers must be equal. * * @category equivalence */ export declare const Equivalence: equivalence.Equivalence; /** * Determines if a value is a network identifier. * * @param u The value to check. * @returns `true` if `u` is a {@link NetworkId}; `false` otherwise. * * @category guards */ export declare const isNetworkId: (u: unknown) => u is NetworkId; /** * Determines if two network identifiers are equal. * * @category predicates */ export declare const equals: { (that: NetworkId): (self: NetworkId) => boolean; (self: NetworkId, that: NetworkId): boolean; }; /** * A network identifier that represents the Midnight MainNet. */ export declare const MainNet: NetworkId; /** * Creates a network identifier. * * @param input The input to use when constructing the network identifier. * @returns A {@link NetworkId} derived from `input`. * * @category constructors */ export declare const make: (input: NetworkIdInput) => NetworkId; export {}; //# sourceMappingURL=NetworkId.d.ts.map