/** * @license * Copyright 2025-2026 Open Home Foundation * SPDX-License-Identifier: Apache-2.0 */ import "@material/web/divider/divider"; import { type BorderRouterEntry, type MatterNode } from "@matter-server/ws-client"; import { LitElement, TemplateResult } from "lit"; import "../../components/ha-svg-icon"; import type { ThreadEdgePair, ThreadExternalDevice } from "./network-types.js"; import "./update-connections-dialog.js"; declare global { interface HTMLElementTagNameMap { "network-details": NetworkDetails; } } export declare class NetworkDetails extends LitElement { selectedNodeId: number | string | null; hideOfflineNodes: boolean; hideWeakSignalEdges: boolean; hideMediumSignalEdges: boolean; hideStrongSignalEdges: boolean; nodes: Record; unknownDevices: ReadonlyMap; borderRouters: ReadonlyMap; wifiAccessPoints: Map; threadEdgePairs: Map; private client; private _showUpdateDialog; private _handleClose; private _handleSelectNode; /** Handle keyboard interaction for clickable elements (Enter/Space activates) */ private _handleKeyDown; private _getSignalIcon; /** * Format a node ID as hex for Matter log format display. * Returns format like "@1:7b" for node ID 123. */ private _formatNodeIdHex; private _getExternalDeviceLabel; private _renderWiFiInfo; private _renderThreadInfo; private _renderNodeInfo; private _renderUnknownDeviceInfo; /** * Neighbor list shared by external-device panels (unknown + BR). Uses the * same edge pairs as the graph so panel and graph agree on which links * survive filtering. Sorted by best RSSI/LQI signal, descending. */ private _renderExternalDeviceNeighbors; /** * Identity rows for a Border Router (network name, vendor, model, Thread version, ext address). * Caller controls the surrounding
+ heading. */ private _renderBorderRouterIdentityRows; /** * Render the MeshCoP state bitmap as decoded fields (BBR role, connection mode, Thread * interface status, availability, ePSKc) plus the raw hex underneath. Reserved values are * rendered as numeric so a future spec extension stays visible. */ private _renderStateBitmap; /** * Network-info rows for a Border Router (extended PAN ID, partition, timestamps, state, domain, agent ID). * Returns nothing if no fields are populated, so the caller can skip the surrounding section. */ private _renderBorderRouterNetworkRows; /** * Address rows for a Border Router (hostname, IPs, ports, sources). */ private _renderBorderRouterAddressRows; private _renderBorderRouterInfo; /** * Determine if update connections button should be shown. */ private _canUpdateConnections; /** * Get the type of the currently selected node for dialog variant. */ private _getSelectedNodeType; /** * Get online neighbors for a Thread node. */ private _getOnlineNeighbors; /** * Get online nodes that see an unknown device. */ private _getOnlineSeenByNodes; /** * Get the name of the selected node for display in dialog. */ private _getSelectedNodeName; private _handleUpdateConnections; private _handleDialogClose; private _renderWiFiAccessPointInfo; /** * Annotation shown on a commissioned Thread node that is also a discovered Border Router. * Mirrors the BR Identity/Network/Addresses sections, sans the redundant ext-address row. */ private _renderCommissionedNodeBorderRouterAnnotation; render(): TemplateResult<1>; static styles: import("lit").CSSResult[]; } //# sourceMappingURL=network-details.d.ts.map