import type { WorkflowExecuteBeforeContext, WorkflowExecuteAfterContext, WorkflowExecuteResumeContext, NodeExecuteBeforeContext, NodeExecuteAfterContext } from '@n8n/decorators'; import { LicenseState, 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; private readonly licenseState; constructor(tracer: ExecutionLevelTracer, traceContextService: TraceContextService, config: OtelConfig, ownershipService: OwnershipService, logger: Logger, licenseState: LicenseState); private isPublishedWorkflow; onWorkflowStart(ctx: WorkflowExecuteBeforeContext): Promise; onWorkflowResume(ctx: WorkflowExecuteResumeContext): Promise; onWorkflowEnd(ctx: WorkflowExecuteAfterContext): void; onNodeStart(ctx: NodeExecuteBeforeContext): void; onNodeEnd(ctx: NodeExecuteAfterContext): void; private areCustomSpanAttributesLicensed; private buildWorkflowCustomAttributes; private buildProjectCustomAttributes; private buildNodeCustomAttributes; } export declare function countOutputItems(data: NodeExecuteAfterContext['taskData']['data']): number; export declare function countInputItems(ctx: NodeExecuteAfterContext): number;