/**
 * LoggerObservabilityBridge — bridges git-cas's ObservabilityPort to
 * git-warp's LoggerPort.
 *
 * Translates ObservabilityPort calls (metric, log, span) into LoggerPort
 * calls so that CAS operations surface through git-warp's existing
 * structured logging infrastructure.
 *
 * Adapter responsibility: incoming `Record<string, unknown>` contexts
 * from the observability side are narrowed into `LogFields` at this
 * boundary. Every value is passed through `toLogFieldValue` which
 * preserves primitives, serializes unsupported shapes to strings, and
 * recursively walks nested records.
 *
 * @module infrastructure/adapters/LoggerObservabilityBridge
 */
import type LoggerPort from '../../ports/LoggerPort.ts';
export default class LoggerObservabilityBridge {
    private readonly _logger;
    /** Creates a bridge that forwards CAS observability events to the given logger. */
    constructor(logger: LoggerPort);
    /** Forward a metric as a debug-level log with structured context. */
    metric(channel: string, data: Record<string, unknown>): void;
    /** Forward a log call to the corresponding LoggerPort level method. */
    log(level: 'debug' | 'info' | 'warn' | 'error', msg: string, meta?: Record<string, unknown>): void;
    /**
     * Start a named span. Returns an object with `end()` that logs
     * span duration as a debug metric.
     */
    span(name: string): {
        end(meta?: Record<string, unknown>): void;
    };
}
