import type { NodeCapabilities, NodePlatform, NodeRegistrySnapshot, NodeRole, NodeState } from "@jait/shared";
interface UpsertNodeInput {
    id: string;
    name: string;
    platform: NodePlatform;
    role: NodeRole;
    clientId: string;
    isGateway?: boolean;
    protocolVersion?: number;
    capabilities?: Partial<NodeCapabilities>;
}
export declare class NodeStateManager {
    private readonly records;
    upsertNode(input: UpsertNodeInput): NodeState;
    removeNode(id: string): NodeState | null;
    removeNodesByClientId(clientId: string): NodeState[];
    getNode(id: string): NodeState | null;
    listNodes(): NodeState[];
    getSnapshot(): NodeRegistrySnapshot;
}
export {};
//# sourceMappingURL=node-state-manager.d.ts.map