import type { UmbUploadableItem } from '../../types.js'; import { UmbDropzoneManager } from '../../dropzone-manager.class.js'; import { nothing } from '../../../../../external/lit/index.js'; import { UmbLitElement } from '../../../../core/lit-element/index.js'; import type { UUIFileDropzoneElement, UUIFileDropzoneEvent } from '../../../../../external/uui/index.js'; declare const UmbInputDropzoneElement_base: import("../../../../../libs/extension-api/index.js").HTMLElementConstructor> & typeof UmbLitElement; /** * A dropzone for uploading files and folders. * The files will be uploaded to the server as temporary files and can be used in the backoffice. * @element umb-input-dropzone * @fires ProgressEvent When the progress of the upload changes. * @fires UmbDropzoneChangeEvent When the upload is complete. * @fires UmbDropzoneSubmittedEvent When the upload is submitted. * @slot - The default slot. * @slot text - A text shown above the dropzone graphic. */ export declare class UmbInputDropzoneElement extends UmbInputDropzoneElement_base { #private; /** * Prohibits dropping files onto the dropzone. Unlike `disabled`, the drop hint is still shown while * dragging (rendered in a danger colour), but any dropped files are rejected. */ noAccess: boolean; /** * Comma-separated list of accepted mime types or file extensions. */ accept?: string; /** * Disable folder uploads. */ disableFolderUpload: boolean; /** * Disables the dropzone. * @description The dropzone will not accept any uploads. */ disabled: boolean; /** * Determines if the dropzone should accept multiple files. */ multiple: boolean; /** * Style the dropzone with a border. * @description This is useful if you want to display the dropzone directly rather than as a part of a separate component. */ standalone: boolean; /** * The label for the dropzone. */ label: string; protected _dropzone?: UUIFileDropzoneElement; protected _progressItems: Array; protected _manager: UmbDropzoneManager; constructor(); protected _observeProgress(): void; protected _observeProgressItems(): void; disconnectedCallback(): void; /** * Opens the file browse dialog. */ browse(): void; render(): import("lit-html").TemplateResult<1>; protected renderUploader(): typeof nothing | import("lit-html").TemplateResult<1>; protected renderPlaceholder(item: UmbUploadableItem): import("lit-html").TemplateResult<1>; /** * Handles the upload of files and folders dropped onto the dropzone. * Previously this could be overwritten by the consumer of the component, but now it is recommended to overwrite `_handleUpload` instead. * By default, it uses the dropzone manager to create temporary files for the dropped items. * @deprecated Overwrite `_handleUpload` instead. This method will be removed in v.21. * @param {UUIFileDropzoneEvent} e - The event from the file dropzone. */ protected onUpload(e: UUIFileDropzoneEvent): Promise; /** * Handles the upload of files and folders dropped onto the dropzone. * Override this method to customize the upload behavior. * By default, it uses the dropzone manager to create temporary files for the dropped items. * @param {UUIFileDropzoneEvent} e - The event from the file dropzone. * @returns {Promise>} - A promise that resolves to an array of uploadable items. */ protected _handleUpload(e: UUIFileDropzoneEvent): Promise>; static readonly styles: import("lit").CSSResult[]; } declare global { interface HTMLElementTagNameMap { 'umb-input-dropzone': UmbInputDropzoneElement; } } export {};