"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MeshClientRegistry = void 0;
class MeshClientRegistry {
    constructor(nodeId, backend) {
        this.nodeId = nodeId;
        this.backend = backend;
    }
    async register(clientId, metadata, allowSupersede) {
        return this.backend.register(clientId, this.nodeId, metadata, allowSupersede);
    }
    async reserve(clientId, metadata, allowSupersede) {
        return this.backend.reserve(clientId, this.nodeId, metadata, allowSupersede);
    }
    async activate(clientId, metadata) {
        return this.backend.activate(clientId, this.nodeId, metadata);
    }
    async unregister(clientId) {
        return this.backend.unregister(clientId, this.nodeId);
    }
    async updateMetadata(clientId, metadata) {
        return this.backend.updateMetadata(clientId, this.nodeId, metadata);
    }
    async getClient(clientId) {
        return this.backend.getClient(clientId);
    }
    async listClients() {
        return this.backend.listClients();
    }
    async listClientsForNode(nodeId) {
        return this.backend.listClientsForNode(nodeId ?? this.nodeId);
    }
    async cleanupNode(nodeId) {
        return this.backend.cleanupNode(nodeId ?? this.nodeId);
    }
}
exports.MeshClientRegistry = MeshClientRegistry;
MeshClientRegistry.__type = ['TMeta', 'nodeId', 'MeshClientRegistryBackend', 'backend', 'constructor', 'clientId', 'metadata', 'allowSupersede', 'RegisterResult', 'register', 'reserve', 'activate', 'unregister', 'updateMetadata', 'RegisteredClient', 'getClient', 'listClients', 'listClientsForNode', 'cleanupNode', 'MeshClientRegistry', 'b!P\'2";"w#2$;"0%P&2&e"!2\')2(8"w)`0*P&2&e"!2\')2(8"w)`0+P&2&e"!2\')`0,P&2&)`0-P&2&e"!2\')`0.P&2&P"w/-J`00P"w/F`01P\'2"8"w/F`02P\'2"8"w/F`035w4'];
//# sourceMappingURL=mesh-client-registry.js.map