import type { RdiAiScope, RdiTransformationDataSetup } from '../../../capabilities/transformationAi'; import type { RdiTransformationCapabilities, RdiTransformationDryRunExpectations } from '../../../capabilities/transformationDryRun'; import { type OutcomeExplanationRun, type OutcomeExplanationScope } from '../utils/outcomeExplanation'; export declare const OUTCOME_EXPLANATION_SESSION_TITLE = "Dry-run outcome explanation"; interface UseOutcomeExplanationParams { scope?: RdiAiScope; canChat: boolean; maxPromptChars?: number; current?: OutcomeExplanationRun; proposed?: OutcomeExplanationRun; dataSetup: RdiTransformationDataSetup; sampleRecords: Array>; mockLookups: Record; expectations?: RdiTransformationDryRunExpectations; transformationCapabilities?: RdiTransformationCapabilities; } export declare const useOutcomeExplanation: ({ scope, canChat, maxPromptChars, current, proposed, dataSetup, sampleRecords, mockLookups, expectations, transformationCapabilities }: UseOutcomeExplanationParams) => { isOpen: boolean; availableScopes: OutcomeExplanationScope[]; scope: OutcomeExplanationScope; question: string; explanation: string | undefined; error: string | undefined; isExplaining: boolean; canExplain: boolean; onOpen: () => void; onClose: () => void; onCancel: () => void; onScopeChange: import("react").Dispatch>; onQuestionChange: import("react").Dispatch>; onExplain: (regenerate?: boolean) => Promise; }; export {};