import React from 'react';
export interface ConfidenceField {
    label: string;
    key: string;
    confidence?: number;
}
/**
 * Represents a field required for AI enrichment.
 * Used to drive both the canEnrich logic and display of AI-required badges.
 */
export interface AIRequiredField {
    /** Form field key (e.g., 'version', 'email') */
    key: string;
    /** Display label (e.g., 'Version', 'Email') */
    label: string;
    /** Current state - is field filled? */
    isFilled: boolean;
}
export interface AIEnrichSectionProps {
    onEnrich: () => void;
    loading?: boolean;
    disabled?: boolean;
    canEnrich?: boolean;
    status?: 'idle' | 'loading' | 'success' | 'error';
    statusMessage?: string;
    overallConfidence?: number;
    warnings?: string[];
    confidenceFields?: ConfidenceField[];
    requiredFields?: AIRequiredField[];
    children?: React.ReactNode;
    onClear?: () => void;
    showClearButton?: boolean;
    onCancel?: () => void;
    showCancel?: boolean;
    isCancelling?: boolean;
    title?: string;
    description?: string;
    buttonLabel?: string;
    loadingLabel?: string;
    disabledMessage?: string;
    variant?: 'default' | 'compact';
    className?: string;
    icon?: React.ReactNode;
    showCustomInstructions?: boolean;
    customInstructions?: string;
    onCustomInstructionsChange?: (value: string) => void;
    customInstructionsLabel?: string;
    customInstructionsPlaceholder?: string;
    customInstructionsHelperText?: string;
    customInstructionsMaxLength?: number;
}
export declare const AIEnrichSection: React.FC<AIEnrichSectionProps>;
//# sourceMappingURL=AIEnrichSection.d.ts.map