/**
 * use_response_files - Hook for managing file upload state in ClarificationResponseForm.
 *
 * Handles:
 * - File state with prop-sync (merges external initial_files changes without overwriting local additions)
 * - Upload via file_manager.upload
 * - Drag-and-drop + file input selection
 * - File removal via file_manager.remove
 * - Change notification (skips when syncing from props to avoid loops)
 */
import type { FormFileAttachment } from '../../types/file_attachment.js';
import type { FileManagerCallbacks } from '../../types/file_manager.js';
export interface UseResponseFilesOptions {
    initial_files?: FormFileAttachment[];
    file_manager?: FileManagerCallbacks;
    on_change?: (files: FormFileAttachment[]) => void;
}
export interface UseResponseFilesReturn {
    files: FormFileAttachment[];
    uploading: boolean;
    file_input_ref: React.RefObject<HTMLInputElement>;
    handle_file_drop: (e: React.DragEvent<HTMLDivElement>) => void;
    handle_file_select: (e: React.ChangeEvent<HTMLInputElement>) => void;
    handle_remove_file: (file_id: string) => Promise<void>;
}
export declare function use_response_files({ initial_files, file_manager, on_change, }: UseResponseFilesOptions): UseResponseFilesReturn;
//# sourceMappingURL=use_response_files.d.ts.map