import { EventEmitter } from '../../stencil-public-runtime';
import { FileInfo } from '../../global/shared-types/file.types';
/**
 * This component enables you to seamlessly convert any region of the user interface into
 * a file dropzone area, just by wrapping it inside the `limel-file-dropzone`.
 *
 * The file dropzone can then be used to allow end-users to upload files
 * by dragging and dropping them into the specified area, for example to trigger an upload process.
 *
 * After receiving the files, the component emits a `filesSelected` event. For unsupported
 * files (specified with the `accept` prop) a `filesRejected` event will be emitted.
 *
 * The event detail would be an array of `FileInfo` objects,
 * each representing a file dropped into the dropzone.
 *
 * @exampleComponent limel-example-file-dropzone-basic
 * @exampleComponent limel-example-file-dropzone-type-filtering
 * @private
 */
export declare class FileDropzone {
    /**
     * Specifies the types of files that the dropzone will accept. By default, all file types are accepted.
     *
     * For media files, formats can be specified using: `audio/*`, `video/*`, `image/*`.
     * Unique file type specifiers can also be used, for example: `.jpg`, `.pdf`.
     * A comma-separated list of file extensions or MIME types is also acceptable, e.g., `image/png, image/jpeg` or
     * `.png, .jpg, .jpeg`.
     *
     * @see [HTML attribute: accept](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept) for more
     * details.
     */
    accept: string;
    /**
     * Set to `true` to disable the file dropzone.
     */
    disabled: boolean;
    /**
     * Is displayed when the user is dragging a file over the dropzone.
     * A suitable text could for instance be "Drop your files here".
     */
    text: string;
    /**
     * Is displayed to provide supplementary information to the end users,
     * for instance, which filetypes or file sizes are accepted.
     */
    helperText?: string;
    /**
     * Sets to true when there is a file to drop
     */
    private hasFileToDrop;
    /**
     * Emitted when files are selected
     */
    filesSelected: EventEmitter<FileInfo[]>;
    /**
     * Emitted when files are selected but do not conform with the `accept` property specifications.
     * This can happen when the file types or formats of the selected files are not among the ones allowed by the dropzone,
     * as defined by the `accept` property.
     *
     * @see `accept` for details on how to specify acceptable file types.
     */
    filesRejected: EventEmitter<FileInfo[]>;
    render(): any;
    private renderOnDragLayout;
    private renderText;
    private renderHelperText;
    private handleDrop;
    private handleDragOver;
    private handleDragLeave;
}
//# sourceMappingURL=file-dropzone.d.ts.map