import * as react_jsx_runtime from 'react/jsx-runtime'; import * as class_variance_authority_types from 'class-variance-authority/types'; import { VariantProps } from 'class-variance-authority'; import * as React from 'react'; import { U as UploadHandler, a as UploadConfig, b as UploadFile } from './types-BIWM_wyY.cjs'; export { S as Stack0HandlerOptions, c as UploadStatus } from './types-BIWM_wyY.cjs'; declare const dropzoneVariants: (props?: ({ variant?: "error" | "default" | "active" | null | undefined; size?: "default" | "sm" | "lg" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; interface FileUploadProps extends Omit, "onChange">, VariantProps { /** * Upload handler configuration */ handler: UploadHandler; /** * Upload configuration (max size, accepted types, etc.) */ config?: UploadConfig; /** * Called when files change (added, removed, status changed) */ onChange?: (files: UploadFile[]) => void; /** * Called when all uploads complete */ onComplete?: (files: UploadFile[]) => void; /** * Whether to show the file list * @default true */ showFileList?: boolean; /** * Custom dropzone content */ children?: React.ReactNode; /** * Disabled state */ disabled?: boolean; } declare function FileUpload({ handler, config, onChange, onComplete, showFileList, children, disabled, className, size, ...props }: FileUploadProps): react_jsx_runtime.JSX.Element; declare namespace FileUpload { var displayName: string; } interface UseUploadOptions extends UploadConfig { handler: UploadHandler; } interface UseUploadReturn { files: UploadFile[]; isUploading: boolean; addFiles: (files: File[]) => void; removeFile: (id: string) => void; retryFile: (id: string) => void; clearFiles: () => void; clearCompleted: () => void; } declare function useUpload(options: UseUploadOptions): UseUploadReturn; export { FileUpload, type FileUploadProps, UploadConfig, UploadFile, UploadHandler, useUpload };