1<?php
2
3namespace MediaWiki\Storage\Hook;
4
5use DeferrableUpdate;
6use MediaWiki\Revision\RenderedRevision;
7use Title;
8
9/**
10 * This is a hook handler interface, see docs/Hooks.md.
11 * Use the hook name "RevisionDataUpdates" to register handlers implementing this interface.
12 *
13 * @stable to implement
14 * @ingroup Hooks
15 */
16interface RevisionDataUpdatesHook {
17	/**
18	 * This hook is called when constructing a list of DeferrableUpdate to be
19	 * executed to record secondary data about a revision.
20	 *
21	 * @since 1.35
22	 *
23	 * @param Title $title Title of the page the revision belongs to
24	 * @param RenderedRevision $renderedRevision RenderedRevision object representing the new
25	 *   revision and providing access to the RevisionRecord as well as ParserOutput of that revision
26	 * @param DeferrableUpdate[] &$updates List of DeferrableUpdate that can be manipulated by
27	 *   the hook handler
28	 * @return bool|void True or no return value to continue or false to abort
29	 */
30	public function onRevisionDataUpdates( $title, $renderedRevision, &$updates );
31}
32