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