import { type DragEvent, type ClipboardEvent } from 'react';
export type FileAttachmentType = 'image' | 'pdf' | 'text';
export interface FileAttachment {
    id: string;
    file: File;
    type: FileAttachmentType;
    name: string;
    preview?: string;
    data: string;
    mediaType: string;
    textContent?: string;
}
interface UseFileUploadOptions {
    maxFiles?: number;
    maxSizeMB?: number;
    pageWide?: boolean;
    supportsImages?: boolean;
    supportsFileAttachments?: boolean;
    onError?: (message: string) => void;
}
export declare function useFileUpload(options?: UseFileUploadOptions): {
    files: FileAttachment[];
    images: FileAttachment[];
    documents: FileAttachment[];
    isDragging: boolean;
    error: string;
    addFiles: (inputFiles: FileList | File[]) => Promise<void>;
    removeFile: (id: string) => void;
    clearFiles: () => void;
    handleDragEnter: (e: DragEvent) => void;
    handleDragLeave: (e: DragEvent) => void;
    handleDragOver: (e: DragEvent) => void;
    handleDrop: (e: DragEvent) => void;
    handlePaste: (e: ClipboardEvent) => void;
};
export {};
//# sourceMappingURL=useFileUpload.d.ts.map