import { IPresenterRegistry } from "./presenter-registry.interface";
import { IPresenter, IPresenterOutputParams } from "./presenter.interface";

export abstract class Presenter<TSource = unknown, TOutput = unknown>
  implements IPresenter<TSource, TOutput>
{
  constructor(protected presenterRegistry: IPresenterRegistry) {}
  abstract toOutput(source: TSource, params?: IPresenterOutputParams): TOutput;
}
