/**
 * ClarificationResponseForm - Input form in the green (action) zone.
 *
 * Renders:
 * - Action description text
 * - Radio options for response choices
 * - Conditional file upload dropzone when selected option has shows_file_upload
 * - Conditional textarea when selected option has shows_additional_input
 */
import React from 'react';
import type { ClarificationResponseOption, ClarificationResponse, ResponseValidationState } from '../../types/clarification.js';
import type { FormFileAttachment } from '../../types/file_attachment.js';
import type { FileManagerCallbacks } from '../../types/file_manager.js';
export interface ClarificationResponseFormProps {
    /** Action description shown above the options */
    action_description?: string;
    /** Available response options */
    response_options: ClarificationResponseOption[];
    /** Pre-filled response choice (for responded items) */
    initial_choice?: string;
    /** Pre-filled comment (for responded items) */
    initial_comment?: string;
    /** Pre-filled response files (for responded items) */
    initial_files?: FormFileAttachment[];
    /** Whether form is read-only */
    read_only?: boolean;
    /** Submit callback */
    on_submit?: (response: ClarificationResponse) => void;
    /** Hide the per-card submit button (when a global submit exists elsewhere) */
    hide_submit?: boolean;
    /** Callback fired on every change (choice, comment, files) for live collection */
    on_change?: (response: ClarificationResponse) => void;
    /** File manager callbacks for upload dropzone */
    file_manager?: FileManagerCallbacks;
    /** Radio button accent color class (e.g., 'accent-blue-600') */
    radio_accent?: string;
    /** Submit button background class (e.g., 'bg-blue-600 hover:bg-blue-700') */
    submit_bg?: string;
    /** Validation state for the clarification response (checked after file upload) */
    response_validation?: ResponseValidationState;
    /** Per-file validation state for file bar badges (keyed by file_id) */
    file_validations?: Record<string, {
        state: 'passed' | 'issues' | 'resolved' | 'validating';
        issue_count?: number;
    }>;
    /** Callback when a file validation badge is clicked (opens detail dialog) */
    on_validation_click?: (file_id: string) => void;
    /** Per-file validation details for built-in dialog (keyed by file_id) */
    file_validation_details?: Record<string, import('../../components/shared/file_bar/file_bar_types.js').FileValidationDetails>;
    /** Per-file pipeline status text (keyed by file_id) */
    file_pipeline_status?: Record<string, string>;
    /** Custom label for the submit button (default: "Submit Response") */
    submit_label?: string;
}
export declare const ClarificationResponseForm: React.NamedExoticComponent<ClarificationResponseFormProps>;
//# sourceMappingURL=clarification_response_form.d.ts.map