import { ClientConfig } from './client'; /** * Node state enumeration */ export declare enum NodeState { UNSPECIFIED = 0, ONLINE = 1, OFFLINE = 2, MAINTENANCE = 3 } /** * Node attribute structure */ export interface NodeAttribute { key: string; value: string; parents: string[]; } /** * Node information structure */ export interface NodeInfo { publicKey: Uint8Array; addresses: string[]; attributes: NodeAttribute[]; state: NodeState; } /** * Network configuration parameter */ export interface NetworkConfigParameter { key: Uint8Array; value: Uint8Array; } /** * Network configuration structure */ export interface NetworkConfig { parameters: NetworkConfigParameter[]; } /** * Network information structure */ export interface NetworkInfo { currentEpoch: number; magicNumber: number; msPerBlock: number; networkConfig: NetworkConfig; } /** * Network map structure */ export interface Netmap { epoch: number; nodes: NodeInfo[]; } /** * Local node info response structure */ export interface LocalNodeInfo { version: { major: number; minor: number; }; nodeInfo: NodeInfo; } /** * Client for interacting with NeoFS Netmap service. */ export declare class NetmapClient { private config; private client; constructor(config: ClientConfig); /** * Get information about the local node (the one you're connected to). * This is useful for health checks and API version discovery. */ localNodeInfo(): Promise; /** * Get information about the NeoFS network. * Returns current epoch, magic number, and network configuration. */ networkInfo(): Promise; /** * Get the current network map snapshot. * Returns the complete list of nodes in the network with their attributes. */ netmapSnapshot(): Promise; }