import type { ReadableSpan } from '@opentelemetry/sdk-trace-base'; import { ConsoleSpanExporter } from '@opentelemetry/sdk-trace-base'; import type { Logger } from '@xylabs/logger'; /** * Calculates the duration of a span in milliseconds from its high-resolution time tuple. * @param span - The span to measure. * @returns The span duration in milliseconds. */ export declare function spanDurationInMillis(span: ReadableSpan): number; /** * A console span exporter that formats spans with color-coded durations using chalk. * Spans are filtered by a configurable log level based on their duration. */ export declare class XyConsoleSpanExporter extends ConsoleSpanExporter { /** Duration thresholds (in ms) that map to increasing log levels. */ static readonly durationToLogLevel: number[]; /** Chalk color functions corresponding to each log level. */ static readonly logLevelToChalkColor: import("chalk").ChalkInstance[]; logger: Logger; private _logLevel; constructor(logLevel?: number, logger?: Logger); /** The minimum log level required for a span to be exported. */ get logLevel(): number; export(spans: ReadableSpan[]): void; /** * Returns the chalk color function for the given log level. * @param level - The log level index. * @returns A chalk color function. */ logColor(level: number): import("chalk").ChalkInstance; /** * Determines the log level of a span based on its duration. * @param span - The span to evaluate. * @returns The numeric log level (index into durationToLogLevel). */ spanLevel(span: ReadableSpan): number; } //# sourceMappingURL=XyConsoleSpanExporter.d.ts.map