/** * report-failure — host-owned resolver and fan-out for {@link ReportFailureDetail} * (Plan 06). Combines core error types with contracts exit-code policy. */ import { type CliDiagnostic, type DiagnosticsBus, type Logger, type ReportFailureDetail, type ResolvedReportFailure } from '@opensip-cli/core'; import type { CommandResult } from '@opensip-cli/contracts'; export declare function truncateDerivedMessage(message: string): string; export declare function resolveReportFailure(detail: ReportFailureDetail): ResolvedReportFailure; /** Convert a resolved detail to the wire-safe worker replay shape (no Error instances). */ export declare function toReportedFailureWire(resolved: ResolvedReportFailure): ResolvedReportFailure; export interface ReportFailureDeps { readonly getLogger: () => Logger; readonly setExitCode: (code: number) => void; readonly render: (result: CommandResult) => Promise; readonly emitError: ToolCliContextEmitError; readonly writeStderr?: (text: string) => boolean; readonly getDiagnostics?: () => DiagnosticsBus | undefined; } type ToolCliContextEmitError = (detail: { readonly message: string; readonly exitCode: number; readonly suggestion?: string; readonly code?: string; readonly diagnostic?: CliDiagnostic; }) => void; /** Build the async {@link ToolCliContext.reportFailure} seam. */ export declare function createReportFailure(deps: ReportFailureDeps): (detail: ReportFailureDetail) => Promise; export {}; //# sourceMappingURL=report-failure.d.ts.map