var o = Object.defineProperty;
var t = (r, e, s) => e in r ? o(r, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : r[e] = s;
var c = (r, e, s) => t(r, typeof e != "symbol" ? e + "" : e, s);
class a {
  constructor() {
    /**
     * Checks if the processor can process any of the given files.
     *
     * @param files - An array of media item files to check.
     * @returns A boolean indicating whether the processor can process any of the files.
     */
    c(this, "canProcessFiles", (e) => e.some((s) => {
      var i;
      return this.applicableFileTypes.includes((i = s.file) == null ? void 0 : i.type);
    }));
    /**
     * Applies the processor to the given files if applicable.
     *
     * @param files - An array of media item files to process.
     * @returns A promise that resolves to an array of processed media items or null.
     */
    c(this, "applyProcessor", (e) => this.canProcessFiles(e) ? this.process(e) : new Promise((s) => {
      s(e);
    }));
  }
}
export {
  a as MediaItemProcessor
};
