import React from "react"; export interface UploadedFile { id: string; file: File; name: string; size: number; type: string; url?: string; preview?: string; status: "pending" | "uploading" | "completed" | "error"; progress?: number; error?: string; } export interface GlassFileUploadProps extends Omit, "onChange"> { /** * File input accept attribute */ accept?: string; /** * Allow multiple files */ multiple?: boolean; /** * Maximum file size in bytes */ maxSize?: number; /** * Maximum number of files */ maxFiles?: number; /** * Upload variant */ variant?: "default" | "compact" | "minimal" | "grid"; /** * Upload size */ size?: "sm" | "md" | "lg"; /** * Disabled state */ disabled?: boolean; /** * Files array */ files?: UploadedFile[]; /** * Initial files for uncontrolled demos, previews, and preloaded upload flows. */ defaultFiles?: UploadedFile[]; /** * Compact rendering for embedded cards and dense app surfaces. */ compact?: boolean; /** * Contain the uploader inside its parent instead of assuming a full-width page section. */ contained?: boolean; /** * Explicit uploader width for constrained layouts. */ width?: React.CSSProperties["width"]; /** * Explicit uploader height for constrained layouts. */ height?: React.CSSProperties["height"]; /** * Maximum uploader height before file lists scroll. */ maxHeight?: React.CSSProperties["maxHeight"]; /** * Show per-file and batch upload/remove actions. */ showActions?: boolean; /** * Show the dropzone. Disable this for review-only uploaded file lists. */ showDropzone?: boolean; /** * File change handler */ onChange?: (files: UploadedFile[]) => void; /** * Upload function */ onUpload?: (file: File) => Promise<{ url: string; } | void>; /** * File remove handler */ onRemove?: (fileId: string) => void; /** * File preview handler */ onPreview?: (file: UploadedFile) => void; /** * Show file previews */ showPreviews?: boolean; /** * Show upload progress */ showProgress?: boolean; /** * Upload instruction text */ instruction?: string; /** * Helper text */ helperText?: string; /** * Error text */ error?: string; /** * Auto upload on file selection */ autoUpload?: boolean; /** * Custom file renderer */ renderFile?: (file: UploadedFile, index: number) => React.ReactNode; /** * Custom dropzone content */ children?: React.ReactNode; } /** * GlassFileUpload component * File upload with drag-and-drop functionality and glassmorphism styling */ export declare const GlassFileUpload: React.ForwardRefExoticComponent>; //# sourceMappingURL=GlassFileUpload.d.ts.map