import { contextBridge } from 'electron';

// To be used in preload.ts
export abstract class BaseApiClient<T> {
  protected constructor(readonly key: string) {
  }

  abstract getImpl(): T

  expose() {
    contextBridge.exposeInMainWorld(this.key, this.getImpl());
  }
}
