/**
 * An event measuring progress of an file uploading process.
 *
 * @event
 */
export interface UploadProgressEvent {
  /**
   * Event type.
   */
  type: "uploadprogress";

  /**
   * The non-rounded progress value from 0 to 1. To get a percentage (%), multiply the `data` by 100.
   */
  data: number;

  /**
   * {@link https://developer.mozilla.org/docs/Web/API/File | Web API File} object to upload.
   */
  file: globalThis.File;
}

/**
 * Client events.
 *
 * @event
 */
export interface ClientEventMap {
  /**
   * An event measuring progress of an file uploading process.
   */
  uploadprogress: UploadProgressEvent;
}
