interface MediaFile { id: string; fileName: string; originalName: string; mimeType: string; size: number; url: string; cdnUrl?: string; thumbnailUrl?: string; createdAt: string; tags: string[]; description?: string; dimensions?: { width: number; height: number; }; } interface UseEditorMediaDropProps { onMediaInsert: (html: string, media: MediaFile) => void; onUploadStart?: () => void; onUploadProgress?: (progress: number) => void; onUploadComplete?: (media: MediaFile) => void; onUploadError?: (error: string) => void; acceptedTypes?: string[]; maxFileSize?: number; } export declare function useEditorMediaDrop({ onMediaInsert, onUploadStart, onUploadProgress, onUploadComplete, onUploadError, acceptedTypes, maxFileSize, }: UseEditorMediaDropProps): { dragHandlers: { onDragEnter: (e: React.DragEvent) => void; onDragOver: (e: React.DragEvent) => void; onDragLeave: (e: React.DragEvent) => void; onDrop: (e: React.DragEvent) => Promise; }; uploadFile: (file: File) => Promise; insertMedia: (media: MediaFile | MediaFile[]) => void; replaceMedia: (oldMediaId: string, newMedia: MediaFile) => void; generateMediaHtml: (media: MediaFile) => string; validateFile: (file: File) => string | null; }; export {}; //# sourceMappingURL=useEditorMediaDrop.d.ts.map