import type { Attributes, IRootTracer, ITracer } from "./types"; import type { ReadableSpan } from "@opentelemetry/sdk-trace-web"; import type { ISubscription } from "../reactive"; export declare enum DebugTracerLevel { Log = 0, Error = 1 } type FilterFn = (name: string, attributes?: Attributes) => boolean; type OutputMethod = "debug" | "trace" | "log" | "warn"; interface Params { filter: FilterFn; level: DebugTracerLevel; outputMethod: OutputMethod; name: string; } export declare class DebugTracer implements IRootTracer { private readonly name; private filter; private level; private outputMethod; private childTracers; constructor({ name, level, filter, outputMethod }?: Partial); log(name: string, attributes?: Attributes, _persistent?: boolean): void; error(name: string, attributes?: Attributes, _persistent?: boolean): void; critical(name: string, attributes?: Attributes, _persistent?: boolean): void; createComponentTracer(name: string): ITracer; end(): void; setLevel(level: DebugTracerLevel): void; setOtputMethod(outputMethod: OutputMethod): void; setFilter(filter: FilterFn): void; getFinishedSpans(): ReadableSpan[] | undefined; getTraceId(): string; private get verbose(); private createMessage; private logDebug; private logError; addSubscription(_item: Parameters[0]): void; setSpanAttributes(_attributes: Attributes): void; pause(): void; resume(): void; } export {};