import type { ProviderUsageSnapshot } from '../../../core/models/response.js'; import type { UsageEventLogContext } from '../../../core/logging/usageEventLogger.js'; import type { SessionLog } from '../../../infra/fs/index.js'; import type { WorkflowTraceDiscovery } from '../../../core/workflow/observability/traceDiscovery.js'; import { createOutputFns } from './outputFns.js'; export interface WorkflowSessionFinalization { readonly sessionLog: SessionLog; } export declare function buildWorkflowSuccessSessionFinalization(input: { readonly sessionLog: SessionLog; readonly endTime: string; }): WorkflowSessionFinalization; export declare function buildWorkflowAbortSessionFinalization(input: { readonly sessionLog: SessionLog; readonly endTime: string; }): WorkflowSessionFinalization; export declare function reportStepFile(filePath: string, fileName: string, out: ReturnType): void; export declare function reportWorkflowCompletion(out: ReturnType, sessionLog: SessionLog, iteration: number, ndjsonLogPath: string, shouldNotifyWorkflowComplete: boolean, traceDiscovery?: Pick): void; export declare function reportWorkflowFailure(out: ReturnType, sessionLog: SessionLog, iteration: number, reason: string, status: 'aborted' | 'failed', ndjsonLogPath: string, shouldNotifyWorkflowAbort: boolean, traceDiscovery?: Pick): void; export declare function updateUsageForStepCompletion(usageEventLogger: { logUsageFor: (context: UsageEventLogContext, usage: { success: boolean; usage: ProviderUsageSnapshot; }) => void; }, context: UsageEventLogContext, response: { status: string; providerUsage?: ProviderUsageSnapshot; }): void; //# sourceMappingURL=workflowExecutionReporting.d.ts.map