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); } }