/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { TypedEventEmitter } from "@fluid-internal/client-utils";
export class TestQuorumClients extends TypedEventEmitter {
    constructor() {
        super(...arguments);
        this.disposed = false;
        this.members = new Map();
    }
    dispose() {
        this.disposed = true;
    }
    getMembers() {
        return this.members;
    }
    getMember(clientId) {
        return this.members.get(clientId);
    }
    addClient(clientId, client) {
        this.members.set(clientId, client);
        this.emit("addMember", clientId, client);
    }
    removeClient(clientId) {
        this.members.delete(clientId);
        this.emit("removeMember", clientId);
    }
    reset() {
        this.members.clear();
        this.removeAllListeners();
    }
}
//# sourceMappingURL=testQuorumClients.js.map