import { LitElement } from 'lit'; import { type ValidatorFn } from '../../utils/validators.js'; /** * File Upload component with drag & drop and progress tracking * * @fires file-select - Dispatched when files are selected * @fires file-remove - Dispatched when a file is removed * @fires upload-progress - Dispatched during file upload * @fires upload-complete - Dispatched when all uploads complete */ export declare class UIFileUpload extends LitElement { static styles: import("lit").CSSResult; accept: string[]; maxSize: number; maxFiles: number; multiple: boolean; disabled: boolean; showPreview: boolean; autoUpload: boolean; /** Whether field is required */ required: boolean; /** Error message to display */ error: string; /** Whether to validate on change */ validateOnChange: boolean; /** Custom validators */ validators: ValidatorFn[]; /** * Label for the file upload region */ ariaLabel: string | null; private _files; private _isDragging; private _error; private dropzoneId; private inputId; private _handleKeyDown; private _formatFileSize; private _validateFile; private _createPreview; /** Validate the file upload */ validate(): boolean; /** Reset validation state */ resetValidation(): void; private _handleFiles; private _uploadFile; private _removeFile; private _handleDragOver; private _handleDragLeave; private _handleDrop; private _handleClick; private _handleInputChange; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'ui-file-upload': UIFileUpload; } } //# sourceMappingURL=file-upload.d.ts.map