import { EventEmitter } from '../../stencil-public-runtime';
import { FileInfo } from '../../global/shared-types/file.types';
/**
 * This component enables you to seamlessly transform any other clickable component that
 * generates a `click` event into a file input selector.
 *
 * To use it, just wrap any clickable component inside the `limel-file-input` component.
 * Upon reception of the `click` event this component will open the native file selection
 * dialog.
 *
 * After receiving the files, the component emits a `filesSelected` event.
 *
 * The event detail would be an array of `FileInfo` objects,
 * each representing a file dropped into the dropzone.
 *
 * @exampleComponent limel-example-file-input
 * @exampleComponent limel-example-file-input-type-filtering
 * @private
 */
export declare class FileInput {
  /**
   * 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 file input selection.
   */
  disabled: boolean;
  /**
   * Set to `true` to enable selection of multiple files
   */
  multiple: boolean;
  /**
   * Emitted when files are selected
   */
  filesSelected: EventEmitter<FileInfo[]>;
  private element;
  private fileInput;
  private fileInputId;
  componentDidLoad(): void;
  render(): any;
  private handleClick;
  private handleKeyUp;
  private handleKeyDown;
  private triggerFileDialog;
  private handleFileChange;
}
//# sourceMappingURL=file-input.d.ts.map