import { ReactNode } from "react";
import { DocumentUploadResult } from "./useUploadHandler";
/**
 * Props for the unified UploadModal component
 */
interface DocumentUploadModalProps {
    /** Whether the modal is open */
    isOpen: boolean;
    /** Callback when the modal is closed */
    onClose: () => void;
    /** Optional initial files to upload */
    files?: File[];
    /** Collection ID to upload to */
    collectionId?: string;
    /** Selected folder for uploaded files */
    selectedFolder?: string | null;
    /** Title for the modal */
    title?: string;
    /** Children to render in the modal */
    children?: ReactNode;
    /** Callback when upload is complete */
    onUploadComplete?: (result: DocumentUploadResult) => void;
    /** Hide the file selection step and proceed directly to type selection */
    hideFileSelection?: boolean;
    /** Show only the type selection, used for type change operations */
    showTypeSelectionOnly?: boolean;
}
/**
 * Unified upload modal that handles the complete upload process:
 * 1. File selection (if no files provided)
 * 2. Smart file processing to detect duplicates
 * 3. Type selection
 * 4. Upload with progress tracking
 * 5. Result display
 */
export declare function DocumentUploadModal({ isOpen, onClose, files: initialFiles, collectionId, selectedFolder, title, children, onUploadComplete, hideFileSelection, showTypeSelectionOnly, }: DocumentUploadModalProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=DocumentUploadModal.d.ts.map