import { Modules } from "../Modules"; import { CourierClientOptions } from "./CourierClient"; export abstract class ClientModule { readonly clientId: string; // Constructor to create a low level CourierClient constructor(options: CourierClientOptions) { this.clientId = this.add(options); } private add(options: CourierClientOptions): string { return Modules.Client.addClient(options); } public remove(): string { return Modules.Client.removeClient(this.clientId); } }