// src/lib/log-transport.ts
// Copyright (C) 2026 Rob Colbert <rob.colbert@openplatform.us>
// Licensed under the Apache License, Version 2.0

import { GadgetComponent } from "./component.ts";
import { GadgetLogLevel } from "./log.ts";

export abstract class GadgetLogTransport {
  abstract writeLog(
    timestamp: Date,
    component: GadgetComponent,
    level: GadgetLogLevel,
    message: string,
    metadata?: unknown,
  ): Promise<void>;
}
