import { Logger } from '@n8n/backend-common';
import type { StartWorkflowParams, EndWorkflowParams, StartNodeParams, EndNodeParams } from './execution-level-tracer.types';
import { OtelConfig } from './otel.config';
import type { TracingContext } from './tracing-context';
export declare class ExecutionLevelTracer {
    private readonly config;
    private readonly logger;
    private readonly activeWorkflowSpans;
    private readonly activeNodeSpansByExecutionId;
    private readonly tracer;
    constructor(config: OtelConfig, logger: Logger);
    startWorkflow(params: StartWorkflowParams): TracingContext;
    endWorkflow(params: EndWorkflowParams): void;
    startNode(params: StartNodeParams): void;
    endNode(params: EndNodeParams): void;
    injectTraceHeaders(executionId: string, nodeName: string | undefined, headers: Record<string, string>): void;
    private parseTraceParentHeaders;
    private buildContinuationLinks;
    private findWorkflowSpanContext;
    private findMostSpecificSpan;
    private endDanglingNodeSpans;
}
