import type { WorkflowExecuteBeforeContext, WorkflowExecuteAfterContext, WorkflowExecuteResumeContext, NodeExecuteBeforeContext, NodeExecuteAfterContext } from '@n8n/decorators';
import { ExecutionLevelTracer } from './execution-level-tracer';
import { OtelConfig } from './otel.config';
import { TraceContextService } from './tracing-context';
export declare class OtelLifecycleHandler {
    private readonly tracer;
    private readonly traceContextService;
    private readonly config;
    constructor(tracer: ExecutionLevelTracer, traceContextService: TraceContextService, config: OtelConfig);
    onWorkflowStart(ctx: WorkflowExecuteBeforeContext): Promise<void>;
    onWorkflowResume(ctx: WorkflowExecuteResumeContext): Promise<void>;
    onWorkflowEnd(ctx: WorkflowExecuteAfterContext): void;
    onNodeStart(ctx: NodeExecuteBeforeContext): void;
    onNodeEnd(ctx: NodeExecuteAfterContext): void;
}
export declare function countOutputItems(data: NodeExecuteAfterContext['taskData']['data']): number;
export declare function countInputItems(ctx: NodeExecuteAfterContext): number;
