import type { RdiTransformationCapabilities, RdiTransformationDryRunExpectations, RdiTransformationDryRunResult } from '../../../../capabilities/transformationDryRun'; import type { RdiAiContextPayload, RdiTransformationDataSetup } from '../../../../capabilities/transformationAi'; export type OutcomeExplanationScope = 'current' | 'proposed' | 'both'; export interface OutcomeExplanationRun { yaml: string; result?: RdiTransformationDryRunResult; error?: string; } export interface OutcomeExplanationSnapshot { current?: OutcomeExplanationRun; proposed?: OutcomeExplanationRun; dataSetup: RdiTransformationDataSetup; sampleRecords: Array>; mockLookups: Record; expectations?: RdiTransformationDryRunExpectations; transformationCapabilities?: RdiTransformationCapabilities; } export interface BuildOutcomeExplanationParams extends OutcomeExplanationSnapshot { scope: OutcomeExplanationScope; question: string; } export declare const getOutcomeExplanationError: (snapshot?: OutcomeExplanationSnapshot) => string | undefined; export interface OutcomeExplanationRequest { cacheKey: string; prompt: string; context: RdiAiContextPayload; sizeBytes: number; } export declare const canExplainOutcomeScope: ({ scope, current, proposed }: Pick) => boolean; export declare const buildOutcomeExplanationRequest: (params: BuildOutcomeExplanationParams) => OutcomeExplanationRequest;