export type DTO<T = unknown> = T;
export type BinaryOutput = Buffer; // Puedes ampliar a Readable si usas streams

export type IPresenterOutputParams = Record<string, unknown>;

export interface IPresenter<TSource = unknown, TOutput = DTO> {
  toOutput(source: TSource, params?: IPresenterOutputParams): TOutput | Promise<TOutput>;
}
