var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });

// src/engine/query/remove.ts
function adapterRemoveQuery(args) {
  let CustomAdapterRemoveQuery = class CustomAdapterRemoveQuery extends AdapterRemoveQuery {
    static {
      __name(this, "CustomAdapterRemoveQuery");
    }
    queryData = args.queryData;
  };
  return CustomAdapterRemoveQuery;
}
__name(adapterRemoveQuery, "adapterRemoveQuery");
var AdapterRemoveQuery = class {
  static {
    __name(this, "AdapterRemoveQuery");
  }
  /**
  * This query is used to remove a certain data from the database.
  *
  * An example of how you can implement it on sequelize
  * @example
  * ```typescript
  * queryData: async (_, args) => {
  *   async function remove() {
  *     return args.modelOfEngineInstance.destroy({
  *       where: args.search,
  *       transaction: args.transaction,
  *      });
  *   }
  *
  *   if (args.shouldReturnData) {
  *     const deleted = await args.modelOfEngineInstance.findAll({
  *       where: args.search,
  *       transaction: args.transaction,
  *     });
  *     await remove();
  *
  *     return deleted.map((data: any) => data.toJSON());
  *   }
  *
  *   await remove();
  *   return [];
  * }
  */
  // eslint-disable-next-line ts/require-await
  async queryData(_engine, _args) {
    return [
      {}
    ];
  }
};
export {
  AdapterRemoveQuery,
  adapterRemoveQuery
};
