import type { ProviderUsageSnapshot } from '../../../core/models/response.js';
import type { SessionLog } from '../../../infra/fs/index.js';
import { createOutputFns } from './outputFns.js';
type WorkflowExecutionWarningHandler = (warning: string) => void;
export declare function finalizeWorkflowSuccess(sessionLog: SessionLog, task: string, workflowName: string, lastStepContent: string | undefined, lastStepName: string | undefined, projectCwd: string, onWarning?: WorkflowExecutionWarningHandler): SessionLog;
export declare function finalizeWorkflowAbort(sessionLog: SessionLog, reason: string, task: string, workflowName: string, lastStepName: string | undefined, projectCwd: string, onWarning?: WorkflowExecutionWarningHandler): SessionLog;
export declare function reportStepFile(filePath: string, fileName: string, out: ReturnType<typeof createOutputFns>): void;
export declare function reportWorkflowCompletion(out: ReturnType<typeof createOutputFns>, sessionLog: SessionLog, iteration: number, ndjsonLogPath: string, shouldNotifyWorkflowComplete: boolean): void;
export declare function reportWorkflowAbort(out: ReturnType<typeof createOutputFns>, sessionLog: SessionLog, iteration: number, reason: string, ndjsonLogPath: string, shouldNotifyWorkflowAbort: boolean): void;
export declare function updateUsageForStepCompletion(usageEventLogger: {
    logUsage: (usage: {
        success: boolean;
        usage: ProviderUsageSnapshot;
    }) => void;
}, response: {
    status: string;
    providerUsage?: ProviderUsageSnapshot;
}): void;
export {};
//# sourceMappingURL=workflowExecutionReporting.d.ts.map