--- /dev/null
+<?php
+
+namespace wcf\event\comment;
+
+use wcf\data\comment\Comment;
+use wcf\event\IPsr14Event;
+
+/**
+ * Indicates that a new comment has been created.
+ *
+ * @author Marcel Werk
+ * @copyright 2001-2024 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @since 6.1
+ */
+final class CommentCreated implements IPsr14Event
+{
+ public function __construct(
+ public readonly Comment $comment,
+ ) {
+ }
+}
--- /dev/null
+<?php
+
+namespace wcf\event\comment;
+
+use wcf\data\comment\Comment;
+use wcf\event\IPsr14Event;
+
+/**
+ * Indicates that a new comment has been published. This can happen directly when a comment is created
+ * or be delayed if a comment has first been checked and approved by a moderator.
+ *
+ * @author Marcel Werk
+ * @copyright 2001-2024 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @since 6.1
+ */
+final class CommentPublished implements IPsr14Event
+{
+ public function __construct(
+ public readonly Comment $comment,
+ ) {
+ }
+}
--- /dev/null
+<?php
+
+namespace wcf\event\comment;
+
+use wcf\data\comment\Comment;
+use wcf\event\IPsr14Event;
+
+/**
+ * Indicates that a comment has been updated.
+ *
+ * @author Marcel Werk
+ * @copyright 2001-2024 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @since 6.1
+ */
+final class CommentUpdated implements IPsr14Event
+{
+ public function __construct(
+ public readonly Comment $comment,
+ ) {
+ }
+}
--- /dev/null
+<?php
+
+namespace wcf\event\comment;
+
+use wcf\data\comment\Comment;
+use wcf\event\IPsr14Event;
+
+/**
+ * Indicates that multiple comments have been deleted.
+ *
+ * @author Marcel Werk
+ * @copyright 2001-2024 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @since 6.1
+ *
+ * @property-read Comment[] $comments
+ */
+final class CommentsDeleted implements IPsr14Event
+{
+ public function __construct(
+ public readonly array $comments,
+ ) {
+ }
+}
--- /dev/null
+<?php
+
+namespace wcf\event\comment\response;
+
+use wcf\data\comment\response\CommentResponse;
+use wcf\event\IPsr14Event;
+
+/**
+ * Indicates that a new comment response has been created.
+ *
+ * @author Marcel Werk
+ * @copyright 2001-2024 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @since 6.1
+ */
+final class ResponseCreated implements IPsr14Event
+{
+ public function __construct(
+ public readonly CommentResponse $comment,
+ ) {
+ }
+}
--- /dev/null
+<?php
+
+namespace wcf\event\comment\response;
+
+use wcf\data\comment\response\CommentResponse;
+use wcf\event\IPsr14Event;
+
+/**
+ * Indicates that a new comment response has been published. This can happen directly when a comment is created
+ * or be delayed if a response has first been checked and approved by a moderator.
+ *
+ * @author Marcel Werk
+ * @copyright 2001-2024 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @since 6.1
+ */
+final class ResponsePublished implements IPsr14Event
+{
+ public function __construct(
+ public readonly CommentResponse $response,
+ ) {
+ }
+}
--- /dev/null
+<?php
+
+namespace wcf\event\comment\response;
+
+use wcf\data\comment\response\CommentResponse;
+use wcf\event\IPsr14Event;
+
+/**
+ * Indicates that a response has been updated.
+ *
+ * @author Marcel Werk
+ * @copyright 2001-2024 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @since 6.1
+ */
+final class ResponseUpdated implements IPsr14Event
+{
+ public function __construct(
+ public readonly CommentResponse $comment,
+ ) {
+ }
+}
--- /dev/null
+<?php
+
+namespace wcf\event\comment\response;
+
+use wcf\data\comment\response\CommentResponse;
+use wcf\event\IPsr14Event;
+
+/**
+ * Indicates that multiple responses have been deleted.
+ *
+ * @author Marcel Werk
+ * @copyright 2001-2024 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @since 6.1
+ *
+ * @property-read CommentResponse[] $comments
+ */
+final class ResponsesDeleted implements IPsr14Event
+{
+ public function __construct(
+ public readonly array $responses,
+ ) {
+ }
+}