import type { SessionReport } from "../domain/session-report.js"; import type { ExplainQuestionArtifact } from "../domain/explain.js"; export interface ExplainQuestionContext { report: SessionReport; expected?: unknown; actual?: unknown; observed?: unknown; } export interface ExplainOptions { question: string | ((ctx: ExplainQuestionContext) => string | undefined); } export interface ExplainableAssertionOptions { explain?: ExplainOptions; } export declare function captureExplainableAssertion(callback: () => void, options: { report: SessionReport; assertionOptions?: ExplainableAssertionOptions; expected?: unknown; actual?: unknown; observed?: unknown; buildQuestion?: (ctx: ExplainQuestionContext) => string | undefined; }): void; export declare function attachExplainQuestions(error: unknown, questions: readonly ExplainQuestionArtifact[]): void; export declare function getAttachedExplainQuestions(error: unknown): ExplainQuestionArtifact[];