diff --git a/api_params/index.d.ts b/api_params/index.d.ts index d61576e..aa664fc 100644 --- a/api_params/index.d.ts +++ b/api_params/index.d.ts @@ -32,12356 +32,13560 @@ export type ApiLegacyTokenType = | "protect" | "unblock"; -export interface ApiParams { - action?: string; - format?: string; - maxlag?: number; - smaxage?: number; - maxage?: number; - assert?: "anon" | "bot" | "user"; - assertuser?: string; - requestid?: string; - servedby?: boolean; - curtimestamp?: boolean; - responselanginfo?: boolean; - origin?: string; - uselang?: string; - variant?: string; - errorformat?: "bc" | "html" | "none" | "plaintext" | "raw" | "wikitext"; - errorlang?: string; - errorsuselocal?: boolean; - centralauthtoken?: string; -} +declare global { + namespace mw.Api { + interface Params { + action?: string; + format?: string; + maxlag?: number; + smaxage?: number; + maxage?: number; + assert?: "anon" | "bot" | "user"; + assertuser?: string; + requestid?: string; + servedby?: boolean; + curtimestamp?: boolean; + responselanginfo?: boolean; + origin?: string; + uselang?: string; + variant?: string; + errorformat?: "bc" | "html" | "none" | "plaintext" | "raw" | "wikitext"; + errorlang?: string; + errorsuselocal?: boolean; + centralauthtoken?: string; + } + + namespace Params { + namespace Action { + interface AbuseFilterCheckMatch extends Params { + action?: "abusefiltercheckmatch"; + filter: string; + vars?: string; + rcid?: number; + logid?: number; + } + + interface AbuseFilterCheckSyntax extends Params { + action?: "abusefilterchecksyntax"; + filter: string; + } + + interface AbuseFilterEvalExpression extends Params { + action?: "abusefilterevalexpression"; + expression: string; + prettyprint?: boolean; + } + + interface AbuseFilterUnblockAutopromote extends Params { + action?: "abusefilterunblockautopromote"; + user: string; + token?: string; + } + + interface AbuseLogPrivateDetails extends Params { + action?: "abuselogprivatedetails"; + logid?: number; + reason?: string; + token?: string; + } + + interface AcquireTempUserName extends Params { + action?: "acquiretempusername"; + } + + interface AggregateGroups extends Params { + action?: "aggregategroups"; + do: "add" | "associate" | "dissociate" | "remove" | "update"; + aggregategroup?: string; + group?: string; + groupname?: string; + groupdescription?: string; + groupsourcelanguagecode?: string; + token?: string; + } + + interface AntiSpoof extends Params { + action?: "antispoof"; + username: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Block + */ + interface Block extends Params { + action?: "block"; + user?: string; + /** + * @deprecated + */ + userid?: number; + expiry?: string; + reason?: string; + anononly?: boolean; + nocreate?: boolean; + autoblock?: boolean; + noemail?: boolean; + hidename?: boolean; + allowusertalk?: boolean; + reblock?: boolean; + watchuser?: boolean; + watchlistexpiry?: expiry; + tags?: string | string[]; + partial?: boolean; + pagerestrictions?: string | string[]; + namespacerestrictions?: namespace | namespace[]; + actionrestrictions?: OneOrMore<"create" | "move" | "thanks" | "upload">; + token?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:BounceHandler#API + */ + interface BounceHandler extends Params { + action?: "bouncehandler"; + email: string; + } + + /** + * @private + */ + interface CategoryTree extends Params { + action?: "categorytree"; + category: string; + options?: string; + } + + interface CentralAuthToken extends Params { + action?: "centralauthtoken"; + } + + interface CentralNoticeCdnCacheUpdateBanner extends Params { + action?: "centralnoticecdncacheupdatebanner"; + banner: string; + language: string; + token?: string; + } + + interface CentralNoticeChoiceData extends Params { + action?: "centralnoticechoicedata"; + project: string; + language: string; + } + + interface CentralNoticeQueryCampaign extends Params { + action?: "centralnoticequerycampaign"; + campaign?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Manage_authentication_data + */ + interface ChangeAuthenticationData extends Params { + action?: "changeauthenticationdata"; + changeauthrequest: string; + changeauthtoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Help:ChangeContentModel + */ + interface ChangeContentModel extends Params { + action?: "changecontentmodel"; + title?: string; + pageid?: number; + summary?: string; + tags?: string | string[]; + model: string; + bot?: boolean; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Checktoken + */ + interface CheckToken extends Params { + action?: "checktoken"; + type: + | "createaccount" + | "csrf" + | "deleteglobalaccount" + | "login" + | "patrol" + | "rollback" + | "setglobalaccountstatus" + | "userrights" + | "watch"; + token?: string; + maxtokenage?: number; + } + + /** + * @private + */ + interface CirrusCheckSanity extends Params { + action?: "cirrus-check-sanity"; + cluster?: "cloudelastic" | "codfw" | "eqiad"; + from: number; + limit?: limit; + sequenceid?: number; + rerenderfrequency?: number; + } + + interface CirrusConfigDump extends Params { + action?: "cirrus-config-dump"; + prop?: OneOrMore< + "globals" | "namespacemap" | "profiles" | "replicagroup" | "usertesting" + >; + } + + interface CirrusMappingDump extends Params { + action?: "cirrus-mapping-dump"; + } + + interface CirrusProfilesDump extends Params { + action?: "cirrus-profiles-dump"; + verbose?: boolean; + } + + interface CirrusSettingsDump extends Params { + action?: "cirrus-settings-dump"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:ClearHasMsg + */ + interface ClearHasMsg extends Params { + action?: "clearhasmsg"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Login + */ + interface ClientLogin extends Params { + action?: "clientlogin"; + loginrequests?: string | string[]; + loginmessageformat?: "html" | "none" | "raw" | "wikitext"; + loginmergerequestfields?: boolean; + loginpreservestate?: boolean; + loginreturnurl?: string; + logincontinue?: boolean; + logintoken?: string; + } + + /** + * @private + */ + interface Collection extends Params { + action?: "collection"; + submodule: string; + } + + namespace Collection.Submodule { + interface AddArticle extends Collection { + submodule: "addarticle"; + namespace: number; + title: string; + oldid?: number; + } + + interface AddCategory extends Collection { + submodule: "addcategory"; + title?: string; + } + + interface AddChapter extends Collection { + submodule: "addchapter"; + chaptername?: string; + } + + interface ClearCollection extends Collection { + submodule: "clearcollection"; + } + + interface GetBookCreatorBoxContent extends Collection { + submodule: "getbookcreatorboxcontent"; + hint?: string; + oldid?: number; + pagename?: string; + } + + interface GetCollection extends Collection { + submodule: "getcollection"; + } + + interface GetPopupData extends Collection { + submodule: "getpopupdata"; + title: string; + } + + interface PostCollection extends Collection { + submodule: "postcollection"; + collection?: string; + } + + interface RemoveArticle extends Collection { + submodule: "removearticle"; + namespace: number; + title: string; + oldid?: number; + } + + interface RemoveItem extends Collection { + submodule: "removeitem"; + index?: number; + } + + interface RenameChapter extends Collection { + submodule: "renamechapter"; + index: number; + chaptername: string; + } + + interface SetSorting extends Collection { + submodule: "setsorting"; + items: number | number[]; + } + + interface SetTitles extends Collection { + submodule: "settitles"; + title: string; + subtitle?: string; + settings?: string; + } + + interface SortItems extends Collection { + submodule: "sortitems"; + } + + interface SuggestArticleAction extends Collection { + submodule: "suggestarticleaction"; + suggestaction: "add" | "ban" | "remove"; + title: string; + } + + interface SuggestUndoArticleAction extends Collection { + submodule: "suggestundoarticleaction"; + lastaction: "add" | "ban" | "remove"; + title: string; + } + } + + interface CommunityConfigurationEdit extends Params { + action?: "communityconfigurationedit"; + provider: + | "AutoModerator" + | "CommunityUpdates" + | "GrowthHomepage" + | "GrowthMentorList" + | "GrowthSuggestedEdits" + | "HelpPanel" + | "Mentorship"; + content: string; + summary?: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Compare + */ + interface Compare extends Params { + action?: "compare"; + fromtitle?: string; + fromid?: number; + fromrev?: number; + fromslots?: string | string[]; + [k: `fromtext-${string}`]: string; + [k: `fromsection-${string}`]: string; + [k: `fromcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + [k: `fromcontentmodel-${string}`]: string; + frompst?: boolean; + /** + * @deprecated + */ + fromtext?: string; + /** + * @deprecated + */ + fromcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + /** + * @deprecated + */ + fromcontentmodel?: string; + /** + * @deprecated + */ + fromsection?: string; + totitle?: string; + toid?: number; + torev?: number; + torelative?: "cur" | "next" | "prev"; + toslots?: string | string[]; + [k: `totext-${string}`]: string; + [k: `tosection-${string}`]: string; + [k: `tocontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + [k: `tocontentmodel-${string}`]: string; + topst?: boolean; + /** + * @deprecated + */ + totext?: string; + /** + * @deprecated + */ + tocontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + /** + * @deprecated + */ + tocontentmodel?: string; + /** + * @deprecated + */ + tosection?: string; + prop?: OneOrMore< + | "comment" + | "diff" + | "diffsize" + | "ids" + | "parsedcomment" + | "rel" + | "size" + | "timestamp" + | "title" + | "user" + >; + slots?: OneOrMore<"main" | "mediainfo" | "*">; + difftype?: "inline" | "table" | "unified"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Account_creation + */ + interface CreateAccount extends Params { + action?: "createaccount"; + createrequests?: string | string[]; + createmessageformat?: "html" | "none" | "raw" | "wikitext"; + createmergerequestfields?: boolean; + createpreservestate?: boolean; + createreturnurl?: string; + createcontinue?: boolean; + createtoken?: string; + } + + interface CreateLocalAccount extends Params { + action?: "createlocalaccount"; + username: string; + reason?: string; + token?: string; + } + + /** + * @private + */ + interface CSPReport extends Params { + action?: "cspreport"; + reportonly?: boolean; + source?: string; + } + + /** + * @private + */ + interface CXCheckUnreviewed extends Params { + action?: "cxcheckunreviewed"; + } + + interface CXDelete extends Params { + action?: "cxdelete"; + from: string; + to: string; + sourcetitle: string; + token?: string; + } + + /** + * @private + */ + interface CXPublish extends Params { + action?: "cxpublish"; + title: string; + html: string; + from: string; + to: string; + sourcetitle: string; + categories?: string; + publishtags?: string | string[]; + wpCaptchaId?: string; + wpCaptchaWord?: string; + cxversion: number; + token?: string; + } + + /** + * @private + */ + interface CXPublishSection extends Params { + action?: "cxpublishsection"; + title: string; + html: string; + sourcelanguage: string; + targetlanguage: string; + sourcetitle: string; + sourcerevid: string; + sourcesectiontitle: string; + targetsectiontitle: string; + sectiontranslationid: number; + issandbox?: boolean; + captchaid?: string; + captchaword?: string; + token?: string; + } + + /** + * @private + */ + interface CXSave extends Params { + action?: "cxsave"; + from: string; + to: string; + sourcetitle: string; + title: string; + content: string; + sourcerevision: number; + progress: string; + cxversion?: number; + sourcecategories?: string; + targetcategories?: string; + token?: string; + } + + /** + * @private + */ + interface CXSplit extends Params { + action?: "cxsplit"; + translationid: number; + token?: string; + } + + interface CXSuggestionList extends Params { + action?: "cxsuggestionlist"; + listname: string; + listaction: "add" | "remove" | "view"; + titles: string | string[]; + from: string; + to?: string; + token?: string; + } + + interface CXToken extends Params { + action?: "cxtoken"; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Delete + */ + interface Delete extends Params { + action?: "delete"; + title?: string; + pageid?: number; + reason?: string; + tags?: string | string[]; + deletetalk?: boolean; + /** + * @deprecated + */ + watch?: boolean; + watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; + watchlistexpiry?: expiry; + /** + * @deprecated + */ + unwatch?: boolean; + oldimage?: string; + token?: string; + } + + interface DeleteGlobalAccount extends Params { + action?: "deleteglobalaccount"; + user: string; + reason?: string; + token?: string; + } + + /** + * @private + */ + interface DiscussionToolsCompare extends Params { + action?: "discussiontoolscompare"; + fromtitle?: string; + fromrev?: number; + totitle?: string; + torev?: number; + } + + interface DiscussionToolsEdit extends Params { + action?: "discussiontoolsedit"; + paction: "addcomment" | "addtopic"; + autosubscribe?: "default" | "no" | "yes"; + page: string; + token?: string; + formtoken?: string; + commentname?: string; + commentid?: string; + wikitext?: string; + html?: string; + summary?: string; + sectiontitle?: string; + allownosectiontitle?: boolean; + useskin?: string; + watchlist?: string; + captchaid?: string; + captchaword?: string; + nocontent?: string; + tags?: string | string[]; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + mobileformat?: boolean; + } + + interface DiscussionToolsFindComment extends Params { + action?: "discussiontoolsfindcomment"; + idorname?: string; + heading?: string; + page?: string; + } + + interface DiscussionToolsGetSubscriptions extends Params { + action?: "discussiontoolsgetsubscriptions"; + commentname: string | string[]; + } + + /** + * @private + */ + interface DiscussionToolsPageInfo extends Params { + action?: "discussiontoolspageinfo"; + page?: string; + oldid?: number; + prop?: OneOrMore<"threaditemshtml" | "transcludedfrom">; + excludesignatures?: boolean; + } + + /** + * @private + */ + interface DiscussionToolsPreview extends Params { + action?: "discussiontoolspreview"; + type: "reply" | "topic"; + page: string; + wikitext: string; + sectiontitle?: string; + useskin?: string; + mobileformat?: boolean; + } + + interface DiscussionToolsSubscribe extends Params { + action?: "discussiontoolssubscribe"; + page: string; + token?: string; + commentname: string; + subscribe: boolean; + } + + interface DiscussionToolsThank extends Params { + action?: "discussiontoolsthank"; + page: string; + commentid: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Echo_(Notifications)/API + */ + interface EchoCreateEvent extends Params { + action?: "echocreateevent"; + user?: string; + header: string; + content: string; + page?: string; + section: "alert" | "notice"; + email?: boolean; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Echo_(Notifications)/API + */ + interface EchoMarkRead extends Params { + action?: "echomarkread"; + wikis?: string | string[]; + list?: string | string[]; + unreadlist?: string | string[]; + all?: boolean; + sections?: OneOrMore<"alert" | "message">; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Echo_(Notifications)/API + */ + interface EchoMarkSeen extends Params { + action?: "echomarkseen"; + type: "alert" | "all" | "message"; + timestampFormat?: "ISO_8601" | "MW"; + } + + interface EchoMute extends Params { + action?: "echomute"; + type: "page-linked-title" | "user"; + mute?: string | string[]; + unmute?: string | string[]; + token?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Echo#API + */ + interface EchoPushSubscriptions extends Params { + action?: "echopushsubscriptions"; + command: string; + token?: string; + } + + namespace EchoPushSubscriptions.Command { + /** + * @private + */ + interface Create extends EchoPushSubscriptions { + command: "create"; + provider: "apns" | "fcm"; + providertoken: string; + topic?: string; + } + + /** + * @private + */ + interface Delete extends EchoPushSubscriptions { + command: "delete"; + providertoken: string | string[]; + } + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Edit + */ + interface Edit extends Params { + action?: "edit"; + title?: string; + pageid?: number; + section?: string; + sectiontitle?: string; + text?: string; + summary?: string; + tags?: string | string[]; + minor?: boolean; + notminor?: boolean; + bot?: boolean; + baserevid?: number; + basetimestamp?: timestamp; + starttimestamp?: timestamp; + recreate?: boolean; + createonly?: boolean; + nocreate?: boolean; + /** + * @deprecated + */ + watch?: boolean; + /** + * @deprecated + */ + unwatch?: boolean; + watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; + watchlistexpiry?: expiry; + md5?: string; + prependtext?: string; + appendtext?: string; + undo?: number; + undoafter?: number; + redirect?: boolean; + contentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + contentmodel?: string; + token?: string; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + captchaword?: string; + captchaid?: string; + } + + /** + * @private + */ + interface EditCheckReferenceUrl extends Params { + action?: "editcheckreferenceurl"; + url: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:MassMessage/API + */ + interface EditMassMessageList extends Params { + action?: "editmassmessagelist"; + spamlist: string; + description?: string; + add?: string | string[]; + remove?: string | string[]; + minor?: boolean; + watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Email + */ + interface EmailUser extends Params { + action?: "emailuser"; + target: string; + subject: string; + text: string; + ccme?: boolean; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Expandtemplates + */ + interface ExpandTemplates extends Params { + action?: "expandtemplates"; + title?: string; + text: string; + revid?: number; + prop?: OneOrMore< + | "categories" + | "encodedjsconfigvars" + | "jsconfigvars" + | "modules" + | "parsetree" + | "properties" + | "ttl" + | "volatile" + | "wikitext" + >; + includecomments?: boolean; + showstrategykeys?: boolean; + /** + * @deprecated + */ + generatexml?: boolean; + templatesandboxprefix?: string | string[]; + templatesandboxtitle?: string; + templatesandboxtext?: string; + templatesandboxcontentmodel?: string; + templatesandboxcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + } + + /** + * @private + */ + interface FancyCaptchaReload extends Params { + action?: "fancycaptchareload"; + } + + interface FeaturedFeed extends Params { + action?: "featuredfeed"; + feedformat?: "atom" | "rss" | "sitemap"; + feed: string; + language?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Feedcontributions + */ + interface FeedContributions extends Params { + action?: "feedcontributions"; + feedformat?: "atom" | "rss" | "sitemap"; + user: string; + namespace?: namespace; + year?: number; + month?: number; + tagfilter?: string | string[]; + deletedonly?: boolean; + toponly?: boolean; + newonly?: boolean; + hideminor?: boolean; + showsizediff?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Feedrecentchanges + */ + interface FeedRecentChanges extends Params { + action?: "feedrecentchanges"; + feedformat?: "atom" | "rss" | "sitemap"; + namespace?: namespace; + invert?: boolean; + associated?: boolean; + days?: number; + limit?: number; + from?: timestamp; + hideminor?: boolean; + hidebots?: boolean; + hideanons?: boolean; + hideliu?: boolean; + hidepatrolled?: boolean; + hidemyself?: boolean; + hidecategorization?: boolean; + tagfilter?: string; + inverttags?: boolean; + target?: string; + showlinkedto?: boolean; + } + + interface FeedThreads extends Params { + action?: "feedthreads"; + feedformat?: "atom" | "rss" | "sitemap"; + days?: number; + type?: OneOrMore<"newthreads" | "replies">; + talkpage?: string | string[]; + thread?: string | string[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist_feed + */ + interface FeedWatchlist extends Params { + action?: "feedwatchlist"; + feedformat?: "atom" | "rss" | "sitemap"; + hours?: number; + linktosections?: boolean; + allrev?: boolean; + wlowner?: string; + wltoken?: string; + wlshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!patrolled" + | "!unread" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "patrolled" + | "unread" + >; + wltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + wlexcludeuser?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Filerevert + */ + interface FileRevert extends Params { + action?: "filerevert"; + filename: string; + comment?: string; + archivename: string; + token?: string; + } + + interface FlagConfig extends Params { + action?: "flagconfig"; + } + + interface FlickrBlacklist extends Params { + action?: "flickrblacklist"; + url?: string; + list?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API + */ + interface Flow extends Params { + action?: "flow"; + submodule: string; + page?: string; + token?: string; + } + + namespace Flow.Submodule { + /** + * @deprecated + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#lock-topic + */ + interface CloseOpenTopic extends Flow { + submodule: "close-open-topic"; + cotmoderationState: "close" | "lock" | "reopen" | "unlock"; + cotreason: string; + cottoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#edit-header + */ + interface EditHeader extends Flow { + submodule: "edit-header"; + ehprev_revision?: string; + ehcontent: string; + ehformat?: "html" | "wikitext"; + ehtoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#edit-post + */ + interface EditPost extends Flow { + submodule: "edit-post"; + eppostId: string; + epprev_revision: string; + epcontent: string; + epformat?: "html" | "wikitext"; + eptoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#edit-title + */ + interface EditTitle extends Flow { + submodule: "edit-title"; + etprev_revision: string; + etcontent: string; + ettoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#edit-topic-summary + */ + interface EditTopicSummary extends Flow { + submodule: "edit-topic-summary"; + etsprev_revision?: string; + etssummary: string; + etsformat?: "html" | "wikitext"; + etstoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#lock-topic + */ + interface LockTopic extends Flow { + submodule: "lock-topic"; + cotmoderationState: "close" | "lock" | "reopen" | "unlock"; + cotreason: string; + cottoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#moderate-post + */ + interface ModeratePost extends Flow { + submodule: "moderate-post"; + mpmoderationState: + | "" + | "delete" + | "hide" + | "restore" + | "suppress" + | "undelete" + | "unhide" + | "unsuppress"; + mpreason: string; + mppostId: string; + mptoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#moderate-topic + */ + interface ModerateTopic extends Flow { + submodule: "moderate-topic"; + mtmoderationState: + | "" + | "delete" + | "hide" + | "restore" + | "suppress" + | "undelete" + | "unhide" + | "unsuppress"; + mtreason: string; + mttoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#new-topic + */ + interface NewTopic extends Flow { + submodule: "new-topic"; + nttopic: string; + ntcontent: string; + ntformat?: "html" | "wikitext"; + nttoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#reply + */ + interface Reply extends Flow { + submodule: "reply"; + repreplyTo: string; + repcontent: string; + repformat?: "html" | "wikitext"; + reptoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#undo-edit-header + */ + interface UndoEditHeader extends Flow { + submodule: "undo-edit-header"; + uehstartId: string; + uehendId: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#undo-edit-post + */ + interface UndoEditPost extends Flow { + submodule: "undo-edit-post"; + uepstartId: string; + uependId: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#undo-edit-topic-summary + */ + interface UndoEditTopicSummary extends Flow { + submodule: "undo-edit-topic-summary"; + uetsstartId: string; + uetsendId: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#view-header + */ + interface ViewHeader extends Flow { + submodule: "view-header"; + vhformat?: "fixed-html" | "html" | "wikitext"; + vhrevId?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#view-post + */ + interface ViewPost extends Flow { + submodule: "view-post"; + vppostId: string; + vpformat?: "fixed-html" | "html" | "wikitext"; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#view-post-history + */ + interface ViewPostHistory extends Flow { + submodule: "view-post-history"; + vphpostId: string; + vphformat?: "fixed-html" | "html" | "wikitext"; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#view-topic + */ + interface ViewTopic extends Flow { + submodule: "view-topic"; + vtformat?: "fixed-html" | "html" | "wikitext"; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#view-topic-history + */ + interface ViewTopicHistory extends Flow { + submodule: "view-topic-history"; + vthformat?: "fixed-html" | "html" | "wikitext"; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#view-topic-summary + */ + interface ViewTopicSummary extends Flow { + submodule: "view-topic-summary"; + vtsformat?: "fixed-html" | "html" | "wikitext"; + vtsrevId?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Flow/API#view-topiclist + */ + interface ViewTopicList extends Flow { + "submodule": "view-topiclist"; + "vtloffset-dir"?: "fwd" | "rev"; + "vtlsortby"?: "newest" | "updated" | "user"; + "vtlsavesortby"?: boolean; + "vtloffset-id"?: string; + "vtloffset"?: string; + "vtlinclude-offset"?: boolean; + "vtllimit"?: limit; + "vtltoconly"?: boolean; + "vtlformat"?: "fixed-html" | "html" | "wikitext"; + } + } + + interface FlowParsoidUtils extends Params { + action?: "flow-parsoid-utils"; + from: "html" | "wikitext"; + to: "html" | "wikitext"; + content: string; + title?: string; + pageid?: number; + } + + interface FlowThank extends Params { + action?: "flowthank"; + postid: string; + token?: string; + } + + interface GlobalBlock extends Params { + "action"?: "globalblock"; + "id"?: number; + "target"?: string; + "expiry"?: expiry; + "unblock"?: boolean; + "reason": string; + "anononly"?: boolean; + "allow-account-creation"?: boolean; + "modify"?: boolean; + "alsolocal"?: boolean; + "localblockstalk"?: boolean; + "localblocksemail"?: boolean; + "localanononly"?: boolean; + "local-allow-account-creation"?: boolean; + "token"?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GlobalPreferences/API + */ + interface GlobalPreferenceOverrides extends Params { + action?: "globalpreferenceoverrides"; + reset?: boolean; + resetkinds?: OneOrMore< + | "all" + | "registered" + | "registered-checkmatrix" + | "registered-multiselect" + | "special" + | "unused" + | "userjs" + >; + change?: string | string[]; + optionname?: string; + optionvalue?: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Globalpreferences + */ + interface GlobalPreferences extends Params { + action?: "globalpreferences"; + reset?: boolean; + resetkinds?: OneOrMore< + | "all" + | "registered" + | "registered-checkmatrix" + | "registered-multiselect" + | "special" + | "unused" + | "userjs" + >; + change?: string | string[]; + optionname?: string; + optionvalue?: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:User_group_membership + */ + interface GlobalUserRights extends Params { + action?: "globaluserrights"; + user?: string; + /** + * @deprecated + */ + userid?: number; + add?: OneOrMore< + | "abusefilter-helper" + | "abusefilter-maintainer" + | "apihighlimits-requestor" + | "captcha-exempt" + | "founder" + | "global-bot" + | "global-deleter" + | "global-flow-create" + | "global-interface-editor" + | "global-ipblock-exempt" + | "global-rollbacker" + | "global-sysop" + | "global-temporary-account-viewer" + | "new-wikis-importer" + | "oathauth-tester" + | "ombuds" + | "recursive-export" + | "staff" + | "steward" + | "sysadmin" + | "u4c-member" + | "vrt-permissions" + | "wmf-email-block-override" + | "wmf-researcher" + >; + expiry?: string | string[]; + remove?: OneOrMore< + | "abusefilter-helper" + | "abusefilter-maintainer" + | "apihighlimits-requestor" + | "captcha-exempt" + | "founder" + | "global-bot" + | "global-deleter" + | "global-flow-create" + | "global-interface-editor" + | "global-ipblock-exempt" + | "global-rollbacker" + | "global-sysop" + | "global-temporary-account-viewer" + | "new-wikis-importer" + | "oathauth-tester" + | "ombuds" + | "recursive-export" + | "staff" + | "steward" + | "sysadmin" + | "u4c-member" + | "vrt-permissions" + | "wmf-email-block-override" + | "wmf-researcher" + >; + reason?: string; + token?: string; + tags?: string | string[]; + } + + interface GroupReview extends Params { + action?: "groupreview"; + group: string; + language?: string; + state: string; + token?: string; + } + + /** + * @private + */ + interface GrowthInvalidateImageRecommendation extends Params { + action?: "growthinvalidateimagerecommendation"; + tasktype?: "image-recommendation" | "section-image-recommendation"; + title: string; + filename: string; + sectiontitle?: string; + sectionnumber?: number; + token?: string; + } + + /** + * @private + */ + interface GrowthInvalidatePersonalizedPraiseSuggestion extends Params { + action?: "growthinvalidatepersonalizedpraisesuggestion"; + mentee: string; + reason?: "praised" | "skipped"; + skipreason?: "already-praised" | "not-now" | "not-praiseworthy" | "other"; + token?: string; + } + + interface GrowthManageMentorList extends Params { + action?: "growthmanagementorlist"; + geaction: "add" | "change" | "remove"; + message?: string; + weight?: "0" | "1" | "2" | "4"; + isaway?: boolean; + awaytimestamp?: timestamp; + summary?: string; + username?: string; + token?: string; + } + + interface GrowthMentorDashboardUpdateData extends Params { + action?: "growthmentordashboardupdatedata"; + token?: string; + } + + interface GrowthSetMenteeStatus extends Params { + action?: "growthsetmenteestatus"; + state: "disabled" | "enabled" | "optout"; + token?: string; + } + + interface GrowthSetMentor extends Params { + action?: "growthsetmentor"; + mentee: string; + mentor: string; + reason?: string; + token?: string; + } + + interface GrowthStarMentee extends Params { + action?: "growthstarmentee"; + gesaction: "star" | "unstar"; + gesmentee: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:FAQ + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Quick_start_guide + */ + interface Help extends Params { + action?: "help"; + modules?: string | string[]; + submodules?: boolean; + recursivesubmodules?: boolean; + wrap?: boolean; + toc?: boolean; + } + + /** + * @private + */ + interface HelpPanelQuestionPoster extends Params { + action?: "helppanelquestionposter"; + body: string; + source?: + | "helpdesk" + | "helppanel" + | "homepage-mentorship" + | "mentor-helppanel" + | "mentor-homepage"; + relevanttitle?: string; + token?: string; + } + + interface HomePageQuestionStore extends Params { + action?: "homepagequestionstore"; + storage: + | "growthexperiments-helppanel-questions" + | "growthexperiments-mentor-questions"; + } + + interface ImageRotate extends Params { + action?: "imagerotate"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Import + */ + interface Import extends Params { + action?: "import"; + summary?: string; + xml?: upload; + interwikiprefix?: string; + interwikisource?: string; + interwikipage?: string; + fullhistory?: boolean; + templates?: boolean; + namespace?: namespace; + assignknownusers?: boolean; + rootpage?: string; + tags?: string | string[]; + token?: string; + } + + interface JsonConfig extends Params { + action?: "jsonconfig"; + command?: "reload" | "reset" | "status"; + namespace?: number; + title?: string; + content?: string; + } + + /** + * @private + */ + interface JsonData extends Params { + action?: "jsondata"; + title: string; + } + + interface JsonSchema extends Params { + action?: "jsonschema"; + revid?: number; + title?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Languagesearch + */ + interface LanguageSearch extends Params { + action?: "languagesearch"; + search: string; + typos?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkaccount + */ + interface LinkAccount extends Params { + action?: "linkaccount"; + linkrequests?: string | string[]; + linkmessageformat?: "html" | "none" | "raw" | "wikitext"; + linkmergerequestfields?: boolean; + linkreturnurl?: string; + linkcontinue?: boolean; + linktoken?: string; + } + + /** + * @deprecated + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Login + */ + interface Login extends Params { + action?: "login"; + lgname?: string; + lgpassword?: password; + lgdomain?: string; + lgtoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Logout + */ + interface Logout extends Params { + action?: "logout"; + token?: string; + } + + /** + * @private + */ + interface ManageGroupSynchronizationCache extends Params { + action?: "managegroupsynchronizationcache"; + operation: "resolveGroup" | "resolveMessage"; + title?: string; + group: string; + token?: string; + } + + /** + * @private + */ + interface ManageMessageGroups extends Params { + action?: "managemessagegroups"; + groupId: string; + renameMessageKey?: string; + messageKey: string; + operation: "new" | "rename"; + changesetName?: string; + changesetModified: number; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Tag_management + */ + interface ManageTags extends Params { + action?: "managetags"; + operation: "activate" | "create" | "deactivate" | "delete"; + tag: string; + reason?: string; + ignorewarnings?: boolean; + tags?: string | string[]; + token?: string; + } + + interface MarkForTranslation extends Params { + action?: "markfortranslation"; + title?: string; + pageid?: number; + revid?: number; + translatetitle?: "no" | "yes"; + prioritylanguages?: string | string[]; + forcepriority?: boolean; + priorityreason?: string; + nofuzzyunits?: string | string[]; + fuzzyunits?: string | string[]; + forcelatestsyntaxversion?: boolean; + transclusion?: "no" | "yes"; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:MassMessage/API + */ + interface MassMessage extends Params { + "action"?: "massmessage"; + "spamlist": string; + "subject": string; + "message"?: string; + "page-message"?: string; + "token"?: string; + } + + interface MediaDetection extends Params { + action?: "mediadetection"; + filename?: string; + filekey?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Mergehistory + */ + interface MergeHistory extends Params { + action?: "mergehistory"; + from?: string; + fromid?: number; + to?: string; + toid?: number; + timestamp?: timestamp; + reason?: string; + token?: string; + } + + /** + * @private + */ + interface MessageGroupSubscription extends Params { + action?: "messagegroupsubscription"; + groupId: string; + operation: "subscribe" | "unsubscribe"; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Move + */ + interface Move extends Params { + action?: "move"; + from?: string; + fromid?: number; + to: string; + reason?: string; + movetalk?: boolean; + movesubpages?: boolean; + noredirect?: boolean; + watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; + watchlistexpiry?: expiry; + ignorewarnings?: boolean; + tags?: string | string[]; + token?: string; + } + + interface NewsletterSubscribe extends Params { + action?: "newslettersubscribe"; + id: number; + do: "subscribe" | "unsubscribe"; + token?: string; + } + + /** + * @private + */ + interface OATHValidate extends Params { + action?: "oathvalidate"; + user?: string; + data: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Opensearch + */ + interface OpenSearch extends Params { + action?: "opensearch"; + search: string; + namespace?: namespace | namespace[]; + limit?: limit; + profile?: + | "classic" + | "engine_autoselect" + | "fast-fuzzy" + | "fuzzy" + | "fuzzy-subphrases" + | "normal" + | "normal-subphrases" + | "strict"; + /** + * @deprecated + */ + suggest?: boolean; + redirects?: "resolve" | "return"; + format?: "json" | "jsonfm" | "xml" | "xmlfm"; + warningsaserror?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Options + */ + interface Options extends Params { + action?: "options"; + reset?: boolean; + resetkinds?: OneOrMore< + | "all" + | "registered" + | "registered-checkmatrix" + | "registered-multiselect" + | "special" + | "unused" + | "userjs" + >; + change?: string | string[]; + optionname?: string; + optionvalue?: string; + global?: "ignore" | "override" | "update"; + token?: string; + } + + interface PageTriageAction extends Params { + action?: "pagetriageaction"; + pageid: number; + reviewed?: "0" | "1"; + enqueue?: boolean; + token?: string; + note?: string; + skipnotif?: boolean; + tags?: string | string[]; + } + + interface PageTriageList extends Params { + action?: "pagetriagelist"; + show_predicted_class_stub?: boolean; + show_predicted_class_start?: boolean; + show_predicted_class_c?: boolean; + show_predicted_class_b?: boolean; + show_predicted_class_good?: boolean; + show_predicted_class_featured?: boolean; + show_predicted_issues_vandalism?: boolean; + show_predicted_issues_spam?: boolean; + show_predicted_issues_attack?: boolean; + show_predicted_issues_none?: boolean; + show_predicted_issues_copyvio?: boolean; + showbots?: boolean; + showautopatrolled?: boolean; + showredirs?: boolean; + showothers?: boolean; + showreviewed?: boolean; + showunreviewed?: boolean; + showdeleted?: boolean; + namespace?: number; + afc_state?: number; + no_category?: boolean; + unreferenced?: boolean; + no_inbound_links?: boolean; + recreated?: boolean; + non_autoconfirmed_users?: boolean; + learners?: boolean; + blocked_users?: boolean; + username?: string; + date_range_from?: timestamp; + date_range_to?: timestamp; + page_id?: number; + limit?: number; + offset?: number; + pageoffset?: number; + dir?: "newestfirst" | "newestreview" | "oldestfirst" | "oldestreview"; + } + + interface PageTriageStats extends Params { + action?: "pagetriagestats"; + show_predicted_class_stub?: boolean; + show_predicted_class_start?: boolean; + show_predicted_class_c?: boolean; + show_predicted_class_b?: boolean; + show_predicted_class_good?: boolean; + show_predicted_class_featured?: boolean; + show_predicted_issues_vandalism?: boolean; + show_predicted_issues_spam?: boolean; + show_predicted_issues_attack?: boolean; + show_predicted_issues_none?: boolean; + show_predicted_issues_copyvio?: boolean; + showbots?: boolean; + showautopatrolled?: boolean; + showredirs?: boolean; + showothers?: boolean; + showreviewed?: boolean; + showunreviewed?: boolean; + showdeleted?: boolean; + namespace?: number; + afc_state?: number; + no_category?: boolean; + unreferenced?: boolean; + no_inbound_links?: boolean; + recreated?: boolean; + non_autoconfirmed_users?: boolean; + learners?: boolean; + blocked_users?: boolean; + username?: string; + date_range_from?: timestamp; + date_range_to?: timestamp; + } + + interface PageTriageTagCopyvio extends Params { + action?: "pagetriagetagcopyvio"; + revid: number; + untag?: boolean; + token?: string; + } + + interface PageTriageTagging extends Params { + action?: "pagetriagetagging"; + pageid: number; + token?: string; + wikitext: string; + deletion?: boolean; + note?: string; + taglist: string | string[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Parameter_information + */ + interface ParamInfo extends Params { + action?: "paraminfo"; + modules?: string | string[]; + helpformat?: "html" | "none" | "raw" | "wikitext"; + /** + * @deprecated + */ + querymodules?: string | string[]; + /** + * @deprecated + */ + mainmodule?: string; + /** + * @deprecated + */ + pagesetmodule?: string; + /** + * @deprecated + */ + formatmodules?: OneOrMore< + "json" | "jsonfm" | "none" | "php" | "phpfm" | "rawfm" | "xml" | "xmlfm" + >; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Parsing_wikitext + */ + interface Parse extends Params { + action?: "parse"; + title?: string; + text?: string; + revid?: number; + summary?: string; + page?: string; + pageid?: number; + redirects?: boolean; + oldid?: number; + prop?: OneOrMore< + | "categories" + | "categorieshtml" + | "displaytitle" + | "encodedjsconfigvars" + | "externallinks" + | "headhtml" + | "images" + | "indicators" + | "iwlinks" + | "jsconfigvars" + | "langlinks" + | "limitreportdata" + | "limitreporthtml" + | "links" + | "modules" + | "parsetree" + | "parsewarnings" + | "parsewarningshtml" + | "properties" + | "revid" + | "sections" + | "subtitle" + | "templates" + | "text" + | "wikitext" + | "headitems" + >; + wrapoutputclass?: string; + usearticle?: boolean; + parsoid?: boolean; + pst?: boolean; + onlypst?: boolean; + /** + * @deprecated + */ + effectivelanglinks?: boolean; + section?: string; + sectiontitle?: string; + /** + * @deprecated + */ + disablepp?: boolean; + disablelimitreport?: boolean; + disableeditsection?: boolean; + disablestylededuplication?: boolean; + showstrategykeys?: boolean; + /** + * @deprecated + */ + generatexml?: boolean; + preview?: boolean; + sectionpreview?: boolean; + disabletoc?: boolean; + useskin?: string; + contentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + contentmodel?: string; + mobileformat?: boolean; + templatesandboxprefix?: string | string[]; + templatesandboxtitle?: string; + templatesandboxtext?: string; + templatesandboxcontentmodel?: string; + templatesandboxcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + } + + /** + * @private + */ + interface ParserMigration extends Params { + action?: "parser-migration"; + title: string; + config?: OneOrMore<"new" | "old">; + redirect?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Patrol + */ + interface Patrol extends Params { + action?: "patrol"; + rcid?: number; + revid?: number; + tags?: string | string[]; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protect + */ + interface Protect extends Params { + action?: "protect"; + title?: string; + pageid?: number; + protections: string | string[]; + expiry?: string | string[]; + reason?: string; + tags?: string | string[]; + cascade?: boolean; + /** + * @deprecated + */ + watch?: boolean; + watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; + watchlistexpiry?: expiry; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Purge + */ + interface Purge extends Params { + action?: "purge"; + forcelinkupdate?: boolean; + forcerecursivelinkupdate?: boolean; + continue?: string; + titles?: string | string[]; + pageids?: number | number[]; + revids?: number | number[]; + generator?: string; + redirects?: boolean; + converttitles?: boolean; + } + + namespace Purge.Generator { + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories + */ + interface AllCategories extends Purge { + generator?: "allcategories"; + gacfrom?: string; + gaccontinue?: string; + gacto?: string; + gacprefix?: string; + gacdir?: "ascending" | "descending"; + gacmin?: number; + gacmax?: number; + gaclimit?: limit; + gacprop?: OneOrMore<"hidden" | "size">; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions + */ + interface AllDeletedRevisions extends Purge { + generator?: "alldeletedrevisions"; + gadrprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + gadrslots?: string | string[]; + [k: `gadrcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gadrlimit?: limit; + /** + * @deprecated + */ + gadrexpandtemplates?: boolean; + /** + * @deprecated + */ + gadrgeneratexml?: boolean; + /** + * @deprecated + */ + gadrparse?: boolean; + gadrsection?: string; + /** + * @deprecated + */ + gadrdiffto?: string; + /** + * @deprecated + */ + gadrdifftotext?: string; + /** + * @deprecated + */ + gadrdifftotextpst?: boolean; + /** + * @deprecated + */ + gadrcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gadruser?: string; + gadrnamespace?: namespace | namespace[]; + gadrstart?: timestamp; + gadrend?: timestamp; + gadrdir?: "newer" | "older"; + gadrfrom?: string; + gadrto?: string; + gadrprefix?: string; + gadrexcludeuser?: string; + gadrtag?: string; + gadrcontinue?: string; + gadrgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages + */ + interface AllFileUsages extends Purge { + generator?: "allfileusages"; + gafcontinue?: string; + gaffrom?: string; + gafto?: string; + gafprefix?: string; + gafunique?: boolean; + gafprop?: OneOrMore<"ids" | "title">; + gaflimit?: limit; + gafdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages + */ + interface AllImages extends Purge { + generator?: "allimages"; + gaisort?: "name" | "timestamp"; + gaidir?: "ascending" | "descending" | "newer" | "older"; + gaifrom?: string; + gaito?: string; + gaicontinue?: string; + gaistart?: timestamp; + gaiend?: timestamp; + gaiprop?: OneOrMore< + | "badfile" + | "bitdepth" + | "canonicaltitle" + | "comment" + | "commonmetadata" + | "dimensions" + | "extmetadata" + | "mediatype" + | "metadata" + | "mime" + | "parsedcomment" + | "sha1" + | "size" + | "timestamp" + | "url" + | "user" + | "userid" + >; + gaiprefix?: string; + gaiminsize?: number; + gaimaxsize?: number; + gaisha1?: string; + gaisha1base36?: string; + gaiuser?: string; + gaifilterbots?: "all" | "bots" | "nobots"; + gaimime?: string | string[]; + gailimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks + */ + interface AllLinks extends Purge { + generator?: "alllinks"; + galcontinue?: string; + galfrom?: string; + galto?: string; + galprefix?: string; + galunique?: boolean; + galprop?: OneOrMore<"ids" | "title">; + galnamespace?: namespace; + gallimit?: limit; + galdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages + */ + interface AllPages extends Purge { + generator?: "allpages"; + gapfrom?: string; + gapcontinue?: string; + gapto?: string; + gapprefix?: string; + gapnamespace?: namespace; + gapfilterredir?: "all" | "nonredirects" | "redirects"; + gapfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; + gapminsize?: number; + gapmaxsize?: number; + gapprtype?: OneOrMore<"edit" | "move" | "upload">; + gapprlevel?: string | string[]; + gapprfiltercascade?: "all" | "cascading" | "noncascading"; + gapprexpiry?: "all" | "definite" | "indefinite"; + gaplimit?: limit; + gapdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects + */ + interface AllRedirects extends Purge { + generator?: "allredirects"; + garcontinue?: string; + garfrom?: string; + garto?: string; + garprefix?: string; + garunique?: boolean; + garprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; + garnamespace?: namespace; + garlimit?: limit; + gardir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions + */ + interface AllRevisions extends Purge { + generator?: "allrevisions"; + garvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "oresscores" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + garvslots?: string | string[]; + [k: `garvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + garvlimit?: limit; + /** + * @deprecated + */ + garvexpandtemplates?: boolean; + /** + * @deprecated + */ + garvgeneratexml?: boolean; + /** + * @deprecated + */ + garvparse?: boolean; + garvsection?: string; + /** + * @deprecated + */ + garvdiffto?: string; + /** + * @deprecated + */ + garvdifftotext?: string; + /** + * @deprecated + */ + garvdifftotextpst?: boolean; + /** + * @deprecated + */ + garvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + garvuser?: string; + garvnamespace?: namespace | namespace[]; + garvstart?: timestamp; + garvend?: timestamp; + garvdir?: "newer" | "older"; + garvexcludeuser?: string; + garvcontinue?: string; + garvgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions + */ + interface AllTransclusions extends Purge { + generator?: "alltransclusions"; + gatcontinue?: string; + gatfrom?: string; + gatto?: string; + gatprefix?: string; + gatunique?: boolean; + gatprop?: OneOrMore<"ids" | "title">; + gatnamespace?: namespace; + gatlimit?: limit; + gatdir?: "ascending" | "descending"; + } + + interface AutomaticTranslationDenseLanguages extends Purge { + "generator"?: "automatictranslationdenselanguages"; + "gqid": string; + "gsection-titles"?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks + */ + interface Backlinks extends Purge { + generator?: "backlinks"; + gbltitle?: string; + gblpageid?: number; + gblcontinue?: string; + gblnamespace?: namespace | namespace[]; + gbldir?: "ascending" | "descending"; + gblfilterredir?: "all" | "nonredirects" | "redirects"; + gbllimit?: limit; + gblredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories + */ + interface Categories extends Purge { + generator?: "categories"; + gclprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; + gclshow?: OneOrMore<"!hidden" | "hidden">; + gcllimit?: limit; + gclcontinue?: string; + gclcategories?: string | string[]; + gcldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers + */ + interface CategoryMembers extends Purge { + generator?: "categorymembers"; + gcmtitle?: string; + gcmpageid?: number; + gcmprop?: OneOrMore< + "ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type" + >; + gcmnamespace?: namespace | namespace[]; + gcmtype?: OneOrMore<"file" | "page" | "subcat">; + gcmcontinue?: string; + gcmlimit?: limit; + gcmsort?: "sortkey" | "timestamp"; + gcmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; + gcmstart?: timestamp; + gcmend?: timestamp; + gcmstarthexsortkey?: string; + gcmendhexsortkey?: string; + gcmstartsortkeyprefix?: string; + gcmendsortkeyprefix?: string; + /** + * @deprecated + */ + gcmstartsortkey?: string; + /** + * @deprecated + */ + gcmendsortkey?: string; + } + + interface Configuredpages extends Purge { + generator?: "configuredpages"; + gcpstart?: number; + gcpend?: number; + gcpdir?: "newer" | "older"; + gcpnamespace?: namespace | namespace[]; + gcpdefault?: "latest" | "stable"; + gcpautoreview?: "none" | "sysop"; + gcplimit?: limit; + } + + interface ContentTranslation extends Purge { + generator?: "contenttranslation"; + gtranslationid?: string; + gfrom?: string; + gto?: string; + gsourcetitle?: string; + gsourcesectiontitle?: string; + glimit?: limit; + goffset?: string; + gtype?: "draft" | "published"; + gusecase?: + | "desktop-editor-draft" + | "translation-corpora-units" + | "unified-dashboard"; + } + + interface ContentTranslationSuggestions extends Purge { + generator?: "contenttranslationsuggestions"; + gfrom?: string; + gto?: string; + glistid?: string; + glimit?: limit; + goffset?: string; + gseed?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions + */ + interface DeletedRevisions extends Purge { + generator?: "deletedrevisions"; + gdrvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + gdrvslots?: string | string[]; + [k: `gdrvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gdrvlimit?: limit; + /** + * @deprecated + */ + gdrvexpandtemplates?: boolean; + /** + * @deprecated + */ + gdrvgeneratexml?: boolean; + /** + * @deprecated + */ + gdrvparse?: boolean; + gdrvsection?: string; + /** + * @deprecated + */ + gdrvdiffto?: string; + /** + * @deprecated + */ + gdrvdifftotext?: string; + /** + * @deprecated + */ + gdrvdifftotextpst?: boolean; + /** + * @deprecated + */ + gdrvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gdrvstart?: timestamp; + gdrvend?: timestamp; + gdrvdir?: "newer" | "older"; + gdrvtag?: string; + gdrvuser?: string; + gdrvexcludeuser?: string; + gdrvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles + */ + interface DuplicateFiles extends Purge { + generator?: "duplicatefiles"; + gdflimit?: limit; + gdfcontinue?: string; + gdfdir?: "ascending" | "descending"; + gdflocalonly?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin + */ + interface Embeddedin extends Purge { + generator?: "embeddedin"; + geititle?: string; + geipageid?: number; + geicontinue?: string; + geinamespace?: namespace | namespace[]; + geidir?: "ascending" | "descending"; + geifilterredir?: "all" | "nonredirects" | "redirects"; + geilimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage + */ + interface ExtUrlUsage extends Purge { + generator?: "exturlusage"; + geuprop?: OneOrMore<"ids" | "title" | "url">; + geucontinue?: string; + geuprotocol?: + | "" + | "bitcoin" + | "ftp" + | "ftps" + | "geo" + | "git" + | "gopher" + | "http" + | "https" + | "irc" + | "ircs" + | "magnet" + | "mailto" + | "matrix" + | "mms" + | "news" + | "nntp" + | "redis" + | "sftp" + | "sip" + | "sips" + | "sms" + | "ssh" + | "svn" + | "tel" + | "telnet" + | "urn" + | "worldwind" + | "xmpp"; + geuquery?: string; + geunamespace?: namespace | namespace[]; + geulimit?: limit; + /** + * @deprecated + */ + geuexpandurl?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage + */ + interface FileUsage extends Purge { + generator?: "fileusage"; + gfuprop?: OneOrMore<"pageid" | "redirect" | "title">; + gfunamespace?: namespace | namespace[]; + gfushow?: OneOrMore<"!redirect" | "redirect">; + gfulimit?: limit; + gfucontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch + */ + interface GeoSearch extends Purge { + generator?: "geosearch"; + ggscoord?: string; + ggspage?: string; + ggsbbox?: string; + ggsradius?: number; + ggsmaxdim?: number; + ggssort?: "distance" | "relevance"; + ggslimit?: limit; + ggsglobe?: "earth"; + ggsnamespace?: namespace | namespace[]; + ggsprop?: OneOrMore< + "country" | "dim" | "globe" | "name" | "region" | "type" + >; + ggsprimary?: "all" | "primary" | "secondary"; + ggsdebug?: boolean; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API + */ + interface GrowthTasks extends Purge { + generator?: "growthtasks"; + ggttasktypes?: OneOrMore< + | "copyedit" + | "expand" + | "image-recommendation" + | "link-recommendation" + | "links" + | "references" + | "section-image-recommendation" + | "update" + >; + ggttopics?: OneOrMore< + | "africa" + | "architecture" + | "art" + | "asia" + | "biography" + | "biology" + | "business-and-economics" + | "central-america" + | "chemistry" + | "comics-and-anime" + | "computers-and-internet" + | "earth-and-environment" + | "education" + | "engineering" + | "entertainment" + | "europe" + | "fashion" + | "food-and-drink" + | "general-science" + | "history" + | "literature" + | "mathematics" + | "medicine-and-health" + | "military-and-warfare" + | "music" + | "north-america" + | "oceania" + | "performing-arts" + | "philosophy-and-religion" + | "physics" + | "politics-and-government" + | "society" + | "south-america" + | "sports" + | "technology" + | "transportation" + | "tv-and-film" + | "video-games" + | "women" + >; + ggttopicsmode?: "AND" | "OR"; + ggtlimit?: limit; + ggtoffset?: number; + ggtdebug?: boolean; + ggtexcludepageids?: number | number[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images + */ + interface Images extends Purge { + generator?: "images"; + gimlimit?: limit; + gimcontinue?: string; + gimimages?: string | string[]; + gimdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage + */ + interface ImageUsage extends Purge { + generator?: "imageusage"; + giutitle?: string; + giupageid?: number; + giucontinue?: string; + giunamespace?: namespace | namespace[]; + giudir?: "ascending" | "descending"; + giufilterredir?: "all" | "nonredirects" | "redirects"; + giulimit?: limit; + giuredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks + */ + // tslint:disable-next-line:interface-name + interface IWBacklinks extends Purge { + generator?: "iwbacklinks"; + giwblprefix?: string; + giwbltitle?: string; + giwblcontinue?: string; + giwbllimit?: limit; + giwblprop?: OneOrMore<"iwprefix" | "iwtitle">; + giwbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks + */ + interface LangBacklinks extends Purge { + generator?: "langbacklinks"; + glbllang?: string; + glbltitle?: string; + glblcontinue?: string; + glbllimit?: limit; + glblprop?: OneOrMore<"lllang" | "lltitle">; + glbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links + */ + interface Links extends Purge { + generator?: "links"; + gplnamespace?: namespace | namespace[]; + gpllimit?: limit; + gplcontinue?: string; + gpltitles?: string | string[]; + gpldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere + */ + interface LinksHere extends Purge { + generator?: "linkshere"; + glhprop?: OneOrMore<"pageid" | "redirect" | "title">; + glhnamespace?: namespace | namespace[]; + glhshow?: OneOrMore<"!redirect" | "redirect">; + glhlimit?: limit; + glhcontinue?: string; + } + + interface MessageCollection extends Purge { + generator?: "messagecollection"; + gmcgroup: string; + gmclanguage?: string; + gmclimit?: limit; + gmcoffset?: string; + gmcfilter?: string | string[]; + gmcprop?: OneOrMore< + "definition" | "properties" | "tags" | "translation" | "revision" + >; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo + */ + interface MostViewed extends Purge { + generator?: "mostviewed"; + gpvimmetric?: "pageviews"; + gpvimlimit?: limit; + gpvimoffset?: number; + } + + interface Oldreviewedpages extends Purge { + generator?: "oldreviewedpages"; + gorstart?: timestamp; + gorend?: timestamp; + gordir?: "newer" | "older"; + gormaxsize?: number; + gorfilterwatched?: "all" | "watched"; + gornamespace?: namespace | namespace[]; + gorcategory?: string; + gorfilterredir?: "all" | "nonredirects" | "redirects"; + gorlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop + */ + interface PagesWithProp extends Purge { + generator?: "pageswithprop"; + gpwppropname: string; + gpwpprop?: OneOrMore<"ids" | "title" | "value">; + gpwpcontinue?: string; + gpwplimit?: limit; + gpwpdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch + */ + interface PrefixSearch extends Purge { + generator?: "prefixsearch"; + gpssearch: string; + gpsnamespace?: namespace | namespace[]; + gpslimit?: limit; + gpsoffset?: number; + gpsprofile?: + | "classic" + | "engine_autoselect" + | "fast-fuzzy" + | "fuzzy" + | "fuzzy-subphrases" + | "normal" + | "normal-subphrases" + | "strict"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments + */ + interface ProjectPages extends Purge { + generator?: "projectpages"; + gwppassessments?: boolean; + gwppprojects: string | string[]; + gwpplimit?: limit; + gwppcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API + */ + interface ProofreadPagesInIndex extends Purge { + generator?: "proofreadpagesinindex"; + gprppiiprop?: OneOrMore< + "formattedpagenumber" | "ids" | "title" | "formattedPageNumber" + >; + gprppiititle?: string; + gprppiipageid?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles + */ + interface ProtectedTitles extends Purge { + generator?: "protectedtitles"; + gptnamespace?: namespace | namespace[]; + gptlevel?: string | string[]; + gptlimit?: limit; + gptdir?: "newer" | "older"; + gptstart?: timestamp; + gptend?: timestamp; + gptprop?: OneOrMore< + | "comment" + | "expiry" + | "level" + | "parsedcomment" + | "timestamp" + | "user" + | "userid" + >; + gptcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage + */ + interface QueryPage extends Purge { + generator?: "querypage"; + gqppage: string; + gqpoffset?: number; + gqplimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random + */ + interface Random extends Purge { + generator?: "random"; + grnnamespace?: namespace | namespace[]; + grnfilterredir?: "all" | "nonredirects" | "redirects"; + /** + * @deprecated + */ + grnredirect?: boolean; + grnlimit?: limit; + grncontinue?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface ReadingListEntries extends Purge { + generator?: "readinglistentries"; + grlelists?: number | number[]; + grlechangedsince?: timestamp; + grlesort?: "name" | "updated"; + grledir?: "ascending" | "descending"; + grlelimit?: limit; + grlecontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges + */ + interface RecentChanges extends Purge { + generator?: "recentchanges"; + grcstart?: timestamp; + grcend?: timestamp; + grcdir?: "newer" | "older"; + grcnamespace?: namespace | namespace[]; + grcuser?: string; + grcexcludeuser?: string; + grctag?: string; + grcprop?: OneOrMore< + | "comment" + | "flags" + | "ids" + | "loginfo" + | "oresscores" + | "parsedcomment" + | "patrolled" + | "redirect" + | "sha1" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + grcshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!redirect" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "redirect" + | "unpatrolled" + >; + grclimit?: limit; + grctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + grctoponly?: boolean; + grctitle?: string; + grccontinue?: string; + grcgeneraterevisions?: boolean; + grcslot?: "main" | "mediainfo"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects + */ + interface Redirects extends Purge { + generator?: "redirects"; + grdprop?: OneOrMore<"fragment" | "pageid" | "title">; + grdnamespace?: namespace | namespace[]; + grdshow?: OneOrMore<"!fragment" | "fragment">; + grdlimit?: limit; + grdcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions + */ + interface Revisions extends Purge { + generator?: "revisions"; + grvprop?: string | string[]; + grvslots?: string | string[]; + [k: `grvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + grvlimit?: limit; + /** + * @deprecated + */ + grvexpandtemplates?: boolean; + /** + * @deprecated + */ + grvgeneratexml?: boolean; + /** + * @deprecated + */ + grvparse?: boolean; + grvsection?: string; + /** + * @deprecated + */ + grvdiffto?: string; + /** + * @deprecated + */ + grvdifftotext?: string; + /** + * @deprecated + */ + grvdifftotextpst?: boolean; + /** + * @deprecated + */ + grvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + grvstartid?: number; + grvendid?: number; + grvstart?: timestamp; + grvend?: timestamp; + grvdir?: "newer" | "older"; + grvuser?: string; + grvexcludeuser?: string; + grvtag?: string; + grvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search + */ + interface Search extends Purge { + generator?: "search"; + gsrsearch: string; + gsrnamespace?: namespace | namespace[]; + gsrlimit?: limit; + gsroffset?: number; + gsrqiprofile?: string; + gsrwhat?: "nearmatch" | "text" | "title"; + gsrinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; + gsrprop?: OneOrMore< + | "categorysnippet" + | "extensiondata" + | "isfilematch" + | "redirectsnippet" + | "redirecttitle" + | "sectionsnippet" + | "sectiontitle" + | "size" + | "snippet" + | "timestamp" + | "titlesnippet" + | "wordcount" + | "hasrelated" + | "score" + >; + gsrinterwiki?: boolean; + gsrenablerewrites?: boolean; + gsrsort?: + | "create_timestamp_asc" + | "create_timestamp_desc" + | "incoming_links_asc" + | "incoming_links_desc" + | "just_match" + | "last_edit_asc" + | "last_edit_desc" + | "none" + | "random" + | "relevance" + | "user_random"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates + */ + interface Templates extends Purge { + generator?: "templates"; + gtlnamespace?: namespace | namespace[]; + gtllimit?: limit; + gtlcontinue?: string; + gtltemplates?: string | string[]; + gtldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin + */ + interface Transcludedin extends Purge { + generator?: "transcludedin"; + gtiprop?: OneOrMore<"pageid" | "redirect" | "title">; + gtinamespace?: namespace | namespace[]; + gtishow?: OneOrMore<"!redirect" | "redirect">; + gtilimit?: limit; + gticontinue?: string; + } + + interface Unreviewedpages extends Purge { + generator?: "unreviewedpages"; + gurstart?: string; + gurend?: string; + gurdir?: "ascending" | "descending"; + gurnamespace?: namespace | namespace[]; + gurfilterredir?: "all" | "nonredirects" | "redirects"; + gurfilterlevel?: number; + gurlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist + */ + interface Watchlist extends Purge { + generator?: "watchlist"; + gwlallrev?: boolean; + gwlstart?: timestamp; + gwlend?: timestamp; + gwlnamespace?: namespace | namespace[]; + gwluser?: string; + gwlexcludeuser?: string; + gwldir?: "newer" | "older"; + gwllimit?: limit; + gwlprop?: OneOrMore< + | "comment" + | "expiry" + | "flags" + | "ids" + | "loginfo" + | "notificationtimestamp" + | "oresscores" + | "parsedcomment" + | "patrol" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + gwlshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!unread" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "unread" + >; + gwltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + gwlowner?: string; + gwltoken?: string; + gwlcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw + */ + interface WatchlistRaw extends Purge { + generator?: "watchlistraw"; + gwrcontinue?: string; + gwrnamespace?: namespace | namespace[]; + gwrlimit?: limit; + gwrprop?: OneOrMore<"changed">; + gwrshow?: OneOrMore<"!changed" | "changed">; + gwrowner?: string; + gwrtoken?: string; + gwrdir?: "ascending" | "descending"; + gwrfromtitle?: string; + gwrtotitle?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API + */ + interface WBListEntityUsage extends Purge { + generator?: "wblistentityusage"; + gwbleuprop?: OneOrMore<"url">; + gwbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; + gwbleuentities: string | string[]; + gwbleulimit?: limit; + gwbleucontinue?: string; + } + + /** + * @private + */ + interface WBSearch extends Purge { + generator?: "wbsearch"; + gwbssearch: string; + gwbslanguage?: string; + gwbsstrictlanguage?: boolean; + gwbstype?: string; + gwbslimit?: limit; + gwbsprofile?: "default" | "language"; + } + + interface WikiLambdaFnSearch extends Purge { + generator?: "wikilambdafn_search"; + gwikilambdafn_zfunction_id?: string; + gwikilambdafn_type?: string; + gwikilambdafn_limit?: limit; + gwikilambdafn_continue?: string; + } + + interface WikiLambdaLoadZObjects extends Purge { + generator?: "wikilambdaload_zobjects"; + gwikilambdaload_zids: string | string[]; + gwikilambdaload_revisions?: string | string[]; + gwikilambdaload_language?: string; + gwikilambdaload_get_dependencies?: boolean; + } + + interface WikiLambdaSearchLabels extends Purge { + generator?: "wikilambdasearch_labels"; + gwikilambdasearch_search?: string; + gwikilambdasearch_language: string; + gwikilambdasearch_nofallback?: boolean; + gwikilambdasearch_exact?: boolean; + gwikilambdasearch_type?: string; + gwikilambdasearch_return_type?: string; + gwikilambdasearch_strict_return_type?: boolean; + gwikilambdasearch_limit?: limit; + gwikilambdasearch_continue?: string; + } + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Query + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Meta + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Properties + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Lists + */ + interface Query extends Params { + action?: "query"; + prop?: string | string[]; + list?: string | string[]; + meta?: string | string[]; + indexpageids?: boolean; + export?: boolean; + exportnowrap?: boolean; + exportschema?: "0.10" | "0.11"; + iwurl?: boolean; + continue?: string; + rawcontinue?: boolean; + titles?: string | string[]; + pageids?: number | number[]; + revids?: number | number[]; + generator?: string; + redirects?: boolean; + converttitles?: boolean; + } + + namespace Query { + namespace Prop { + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories + */ + interface Categories extends Query { + clprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; + clshow?: OneOrMore<"!hidden" | "hidden">; + cllimit?: limit; + clcontinue?: string; + clcategories?: string | string[]; + cldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categoryinfo + */ + interface CategoryInfo extends Query { + cicontinue?: string; + } + + interface CirrusBuildDoc extends Query { + cbbuilders?: OneOrMore<"content" | "links">; + cblimiterprofile?: string; + } + + interface CirrusCompSuggestBuildDoc extends Query { + csbmethod?: string; + } + + interface CirrusDoc extends Query { + cdincludes?: string | string[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Contributors + */ + interface Contributors extends Query { + pcgroup?: string | string[]; + pcexcludegroup?: string | string[]; + pcrights?: string | string[]; + pcexcluderights?: string | string[]; + pclimit?: limit; + pccontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#prop.3Dcoordinates + */ + interface Coordinates extends Query { + colimit?: limit; + cocontinue?: string; + coprop?: OneOrMore< + "country" | "dim" | "globe" | "name" | "region" | "type" + >; + coprimary?: "all" | "primary" | "secondary"; + codistancefrompoint?: string; + codistancefrompage?: string; + } + + /** + * @private + */ + // tslint:disable-next-line:no-empty-interface + interface DefaultContentForPage extends Query {} + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions + */ + interface DeletedRevisions extends Query { + drvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + drvslots?: string | string[]; + [k: `drvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + drvlimit?: limit; + /** + * @deprecated + */ + drvexpandtemplates?: boolean; + /** + * @deprecated + */ + drvgeneratexml?: boolean; + /** + * @deprecated + */ + drvparse?: boolean; + drvsection?: string; + /** + * @deprecated + */ + drvdiffto?: string; + /** + * @deprecated + */ + drvdifftotext?: string; + /** + * @deprecated + */ + drvdifftotextpst?: boolean; + /** + * @deprecated + */ + drvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + drvstart?: timestamp; + drvend?: timestamp; + drvdir?: "newer" | "older"; + drvtag?: string; + drvuser?: string; + drvexcludeuser?: string; + drvcontinue?: string; + } + + /** + * @private + */ + interface Description extends Query { + desccontinue?: number; + descprefersource?: "central" | "local"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles + */ + interface DuplicateFiles extends Query { + dflimit?: limit; + dfcontinue?: string; + dfdir?: "ascending" | "descending"; + dflocalonly?: boolean; + } + + interface EntityTerms extends Query { + wbetcontinue?: number; + wbetlanguage?: string; + wbetterms?: OneOrMore<"alias" | "description" | "label">; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Extlinks + */ + interface ExtLinks extends Query { + ellimit?: limit; + elcontinue?: string; + elprotocol?: + | "" + | "bitcoin" + | "ftp" + | "ftps" + | "geo" + | "git" + | "gopher" + | "http" + | "https" + | "irc" + | "ircs" + | "magnet" + | "mailto" + | "matrix" + | "mms" + | "news" + | "nntp" + | "redis" + | "sftp" + | "sip" + | "sips" + | "sms" + | "ssh" + | "svn" + | "tel" + | "telnet" + | "urn" + | "worldwind" + | "xmpp"; + elquery?: string; + /** + * @deprecated + */ + elexpandurl?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:TextExtracts#API + */ + interface Extracts extends Query { + exchars?: number; + exsentences?: number; + exlimit?: limit; + exintro?: boolean; + explaintext?: boolean; + exsectionformat?: "plain" | "raw" | "wiki"; + excontinue?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage + */ + interface FileUsage extends Query { + fuprop?: OneOrMore<"pageid" | "redirect" | "title">; + funamespace?: namespace | namespace[]; + fushow?: OneOrMore<"!redirect" | "redirect">; + fulimit?: limit; + fucontinue?: string; + } + + // tslint:disable-next-line:no-empty-interface + interface Flagged extends Query {} + + /** + * @deprecated + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Flow/API#action.3Dquery.26prop.3Dflowinfo + */ + // tslint:disable-next-line:no-empty-interface + interface FlowInfo extends Query {} + + interface GlobalUsage extends Query { + guprop?: OneOrMore<"namespace" | "pageid" | "url">; + gulimit?: limit; + gunamespace?: namespace | namespace[]; + gusite?: string | string[]; + gucontinue?: string; + gufilterlocal?: boolean; + } + + interface GrowthImageSuggestionData extends Query { + gisdtasktype?: "image-recommendation" | "section-image-recommendation"; + gisdcontinue?: string; + } + + interface ImageForPage extends Query { + prppifpprop?: OneOrMore< + "filename" | "fullsize" | "responsiveimages" | "size" + >; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageinfo + */ + interface ImageInfo extends Query { + iiprop?: OneOrMore< + | "archivename" + | "badfile" + | "bitdepth" + | "canonicaltitle" + | "comment" + | "commonmetadata" + | "dimensions" + | "extmetadata" + | "mediatype" + | "metadata" + | "mime" + | "parsedcomment" + | "sha1" + | "size" + | "thumbmime" + | "timestamp" + | "uploadwarning" + | "url" + | "user" + | "userid" + >; + iilimit?: limit; + iistart?: timestamp; + iiend?: timestamp; + iiurlwidth?: number; + iiurlheight?: number; + iimetadataversion?: string; + iiextmetadatalanguage?: string; + iiextmetadatamultilang?: boolean; + iiextmetadatafilter?: string | string[]; + iiurlparam?: string; + iibadfilecontexttitle?: string; + iicontinue?: string; + iilocalonly?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images + */ + interface Images extends Query { + imlimit?: limit; + imcontinue?: string; + imimages?: string | string[]; + imdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Info + */ + interface Info extends Query { + inprop?: OneOrMore< + | "associatedpage" + | "displaytitle" + | "editintro" + | "linkclasses" + | "notificationtimestamp" + | "preloadcontent" + | "protection" + | "subjectid" + | "talkid" + | "url" + | "varianttitles" + | "visitingwatchers" + | "watched" + | "watchers" + | "preload" + | "readable" + >; + inlinkcontext?: string; + intestactions?: string | string[]; + intestactionsdetail?: "boolean" | "full" | "quick"; + intestactionsautocreate?: boolean; + inpreloadcustom?: string; + inpreloadparams?: string | string[]; + inpreloadnewsection?: boolean; + ineditintrostyle?: "lessframes" | "moreframes"; + ineditintroskip?: string | string[]; + ineditintrocustom?: string; + incontinue?: string; + } + + // tslint:disable-next-line:no-empty-interface + interface IsReviewed extends Query {} + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwlinks + */ + // tslint:disable-next-line:interface-name + interface IWLinks extends Query { + iwprop?: OneOrMore<"url">; + iwprefix?: string; + iwtitle?: string; + iwdir?: "ascending" | "descending"; + iwlimit?: limit; + iwcontinue?: string; + /** + * @deprecated + */ + iwurl?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langlinks + */ + interface LangLinks extends Query { + llprop?: OneOrMore<"autonym" | "langname" | "url">; + lllang?: string; + lltitle?: string; + lldir?: "ascending" | "descending"; + llinlanguagecode?: string; + lllimit?: limit; + llcontinue?: string; + /** + * @deprecated + */ + llurl?: boolean; + } + + // tslint:disable-next-line:no-empty-interface + interface LangLinksCount extends Query {} + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links + */ + interface Links extends Query { + plnamespace?: namespace | namespace[]; + pllimit?: limit; + plcontinue?: string; + pltitles?: string | string[]; + pldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere + */ + interface LinksHere extends Query { + lhprop?: OneOrMore<"pageid" | "redirect" | "title">; + lhnamespace?: namespace | namespace[]; + lhshow?: OneOrMore<"!redirect" | "redirect">; + lhlimit?: limit; + lhcontinue?: string; + } + + /** + * @private + */ + interface MapData extends Query { + mpdgroups?: string; + mpdlimit?: limit; + mpdcontinue?: number; + } + + // tslint:disable-next-line:no-empty-interface + interface MMContent extends Query {} + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments + */ + interface PageAssessments extends Query { + pacontinue?: string; + palimit?: limit; + pasubprojects?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageImages#API + */ + interface PageImages extends Query { + piprop?: OneOrMore<"name" | "original" | "thumbnail">; + pithumbsize?: number; + pilimit?: limit; + pilicense?: "any" | "free"; + picontinue?: number; + pilangcode?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageprops + */ + interface PageProps extends Query { + ppcontinue?: string; + ppprop?: string | string[]; + } + + interface PageTerms extends Query { + wbptcontinue?: number; + wbptlanguage?: string; + wbptterms?: OneOrMore<"alias" | "description" | "label">; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo + */ + interface PageViews extends Query { + pvipmetric?: "pageviews"; + pvipdays?: number; + pvipcontinue?: string; + } + + // tslint:disable-next-line:no-empty-interface + interface Proofread extends Query {} + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects + */ + interface Redirects extends Query { + rdprop?: OneOrMore<"fragment" | "pageid" | "title">; + rdnamespace?: namespace | namespace[]; + rdshow?: OneOrMore<"!fragment" | "fragment">; + rdlimit?: limit; + rdcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions + */ + interface Revisions extends Query { + rvprop?: string | string[]; + rvslots?: string | string[]; + [k: `rvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + rvlimit?: limit; + /** + * @deprecated + */ + rvexpandtemplates?: boolean; + /** + * @deprecated + */ + rvgeneratexml?: boolean; + /** + * @deprecated + */ + rvparse?: boolean; + rvsection?: string; + /** + * @deprecated + */ + rvdiffto?: string; + /** + * @deprecated + */ + rvdifftotext?: string; + /** + * @deprecated + */ + rvdifftotextpst?: boolean; + /** + * @deprecated + */ + rvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + rvstartid?: number; + rvendid?: number; + rvstart?: timestamp; + rvend?: timestamp; + rvdir?: "newer" | "older"; + rvuser?: string; + rvexcludeuser?: string; + rvtag?: string; + rvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Stashimageinfo + */ + interface StashImageInfo extends Query { + siifilekey?: string | string[]; + /** + * @deprecated + */ + siisessionkey?: string | string[]; + siiprop?: OneOrMore< + | "badfile" + | "bitdepth" + | "canonicaltitle" + | "commonmetadata" + | "dimensions" + | "extmetadata" + | "metadata" + | "mime" + | "sha1" + | "size" + | "thumbmime" + | "timestamp" + | "url" + >; + siiurlwidth?: number; + siiurlheight?: number; + siiurlparam?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates + */ + interface Templates extends Query { + tlnamespace?: namespace | namespace[]; + tllimit?: limit; + tlcontinue?: string; + tltemplates?: string | string[]; + tldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin + */ + interface Transcludedin extends Query { + tiprop?: OneOrMore<"pageid" | "redirect" | "title">; + tinamespace?: namespace | namespace[]; + tishow?: OneOrMore<"!redirect" | "redirect">; + tilimit?: limit; + ticontinue?: string; + } + + // tslint:disable-next-line:no-empty-interface + interface TranscodeStatus extends Query {} + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Videoinfo + */ + interface VideoInfo extends Query { + viprop?: OneOrMore< + | "archivename" + | "badfile" + | "bitdepth" + | "canonicaltitle" + | "comment" + | "commonmetadata" + | "derivatives" + | "dimensions" + | "extmetadata" + | "mediatype" + | "metadata" + | "mime" + | "parsedcomment" + | "sha1" + | "size" + | "thumbmime" + | "timedtext" + | "timestamp" + | "uploadwarning" + | "url" + | "user" + | "userid" + >; + vilimit?: limit; + vistart?: timestamp; + viend?: timestamp; + viurlwidth?: number; + viurlheight?: number; + vimetadataversion?: string; + viextmetadatalanguage?: string; + viextmetadatamultilang?: boolean; + viextmetadatafilter?: string | string[]; + viurlparam?: string; + vibadfilecontexttitle?: string; + vicontinue?: string; + vilocalonly?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API#wbentityusage + */ + interface WBEntityUsage extends Query { + wbeuprop?: OneOrMore<"url">; + wbeuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; + wbeuentities?: string | string[]; + wbeulimit?: limit; + wbeucontinue?: string; + } + } + + namespace List { + interface AbuseFilters extends Query { + abfstartid?: number; + abfendid?: number; + abfdir?: "newer" | "older"; + abfshow?: OneOrMore< + | "!deleted" + | "!enabled" + | "!private" + | "!protected" + | "deleted" + | "enabled" + | "private" + | "protected" + >; + abflimit?: limit; + abfprop?: OneOrMore< + | "actions" + | "comments" + | "description" + | "hits" + | "id" + | "lasteditor" + | "lastedittime" + | "pattern" + | "private" + | "protected" + | "status" + >; + } + + interface AbuseLog extends Query { + afllogid?: number; + aflstart?: timestamp; + aflend?: timestamp; + afldir?: "newer" | "older"; + afluser?: string; + afltitle?: string; + aflfilter?: string | string[]; + afllimit?: limit; + aflprop?: OneOrMore< + | "action" + | "details" + | "filter" + | "hidden" + | "ids" + | "result" + | "revid" + | "timestamp" + | "title" + | "user" + | "wiki" + >; + aflwiki?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:UploadWizard + */ + interface AllCampaigns extends Query { + uwcenabledonly?: boolean; + uwclimit?: limit; + uwccontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories + */ + interface AllCategories extends Query { + acfrom?: string; + accontinue?: string; + acto?: string; + acprefix?: string; + acdir?: "ascending" | "descending"; + acmin?: number; + acmax?: number; + aclimit?: limit; + acprop?: OneOrMore<"hidden" | "size">; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions + */ + interface AllDeletedRevisions extends Query { + adrprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + adrslots?: string | string[]; + [k: `adrcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + adrlimit?: limit; + /** + * @deprecated + */ + adrexpandtemplates?: boolean; + /** + * @deprecated + */ + adrgeneratexml?: boolean; + /** + * @deprecated + */ + adrparse?: boolean; + adrsection?: string; + /** + * @deprecated + */ + adrdiffto?: string; + /** + * @deprecated + */ + adrdifftotext?: string; + /** + * @deprecated + */ + adrdifftotextpst?: boolean; + /** + * @deprecated + */ + adrcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + adruser?: string; + adrnamespace?: namespace | namespace[]; + adrstart?: timestamp; + adrend?: timestamp; + adrdir?: "newer" | "older"; + adrfrom?: string; + adrto?: string; + adrprefix?: string; + adrexcludeuser?: string; + adrtag?: string; + adrcontinue?: string; + adrgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages + */ + interface AllFileUsages extends Query { + afcontinue?: string; + affrom?: string; + afto?: string; + afprefix?: string; + afunique?: boolean; + afprop?: OneOrMore<"ids" | "title">; + aflimit?: limit; + afdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages + */ + interface AllImages extends Query { + aisort?: "name" | "timestamp"; + aidir?: "ascending" | "descending" | "newer" | "older"; + aifrom?: string; + aito?: string; + aicontinue?: string; + aistart?: timestamp; + aiend?: timestamp; + aiprop?: OneOrMore< + | "badfile" + | "bitdepth" + | "canonicaltitle" + | "comment" + | "commonmetadata" + | "dimensions" + | "extmetadata" + | "mediatype" + | "metadata" + | "mime" + | "parsedcomment" + | "sha1" + | "size" + | "timestamp" + | "url" + | "user" + | "userid" + >; + aiprefix?: string; + aiminsize?: number; + aimaxsize?: number; + aisha1?: string; + aisha1base36?: string; + aiuser?: string; + aifilterbots?: "all" | "bots" | "nobots"; + aimime?: string | string[]; + ailimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks + */ + interface AllLinks extends Query { + alcontinue?: string; + alfrom?: string; + alto?: string; + alprefix?: string; + alunique?: boolean; + alprop?: OneOrMore<"ids" | "title">; + alnamespace?: namespace; + allimit?: limit; + aldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages + */ + interface AllPages extends Query { + apfrom?: string; + apcontinue?: string; + apto?: string; + apprefix?: string; + apnamespace?: namespace; + apfilterredir?: "all" | "nonredirects" | "redirects"; + apfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; + apminsize?: number; + apmaxsize?: number; + apprtype?: OneOrMore<"edit" | "move" | "upload">; + apprlevel?: string | string[]; + apprfiltercascade?: "all" | "cascading" | "noncascading"; + apprexpiry?: "all" | "definite" | "indefinite"; + aplimit?: limit; + apdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects + */ + interface AllRedirects extends Query { + arcontinue?: string; + arfrom?: string; + arto?: string; + arprefix?: string; + arunique?: boolean; + arprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; + arnamespace?: namespace; + arlimit?: limit; + ardir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions + */ + interface AllRevisions extends Query { + arvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "oresscores" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + arvslots?: string | string[]; + [k: `arvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + arvlimit?: limit; + /** + * @deprecated + */ + arvexpandtemplates?: boolean; + /** + * @deprecated + */ + arvgeneratexml?: boolean; + /** + * @deprecated + */ + arvparse?: boolean; + arvsection?: string; + /** + * @deprecated + */ + arvdiffto?: string; + /** + * @deprecated + */ + arvdifftotext?: string; + /** + * @deprecated + */ + arvdifftotextpst?: boolean; + /** + * @deprecated + */ + arvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + arvuser?: string; + arvnamespace?: namespace | namespace[]; + arvstart?: timestamp; + arvend?: timestamp; + arvdir?: "newer" | "older"; + arvexcludeuser?: string; + arvcontinue?: string; + arvgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions + */ + interface AllTransclusions extends Query { + atcontinue?: string; + atfrom?: string; + atto?: string; + atprefix?: string; + atunique?: boolean; + atprop?: OneOrMore<"ids" | "title">; + atnamespace?: namespace; + atlimit?: limit; + atdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allusers + */ + interface AllUsers extends Query { + aufrom?: string; + auto?: string; + auprefix?: string; + audir?: "ascending" | "descending"; + augroup?: string | string[]; + auexcludegroup?: string | string[]; + aurights?: string | string[]; + auprop?: OneOrMore< + | "blockinfo" + | "centralids" + | "editcount" + | "groups" + | "implicitgroups" + | "registration" + | "rights" + >; + aulimit?: limit; + auwitheditsonly?: boolean; + auactiveusers?: boolean; + auattachedwiki?: string; + auexcludenamed?: boolean; + auexcludetemp?: boolean; + } + + interface AutomaticTranslationDenseLanguages extends Query { + "qid": string; + "section-titles"?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks + */ + interface Backlinks extends Query { + bltitle?: string; + blpageid?: number; + blcontinue?: string; + blnamespace?: namespace | namespace[]; + bldir?: "ascending" | "descending"; + blfilterredir?: "all" | "nonredirects" | "redirects"; + bllimit?: limit; + blredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:BetaFeatures + */ + interface BetaFeatures extends Query { + bfcounts?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Blocks + */ + interface Blocks extends Query { + bkstart?: timestamp; + bkend?: timestamp; + bkdir?: "newer" | "older"; + bkids?: number | number[]; + bkusers?: string | string[]; + bkip?: string; + bklimit?: limit; + bkprop?: OneOrMore< + | "by" + | "byid" + | "expiry" + | "flags" + | "id" + | "range" + | "reason" + | "restrictions" + | "timestamp" + | "user" + | "userid" + >; + bkshow?: OneOrMore< + | "!account" + | "!ip" + | "!range" + | "!temp" + | "account" + | "ip" + | "range" + | "temp" + >; + bkcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers + */ + interface CategoryMembers extends Query { + cmtitle?: string; + cmpageid?: number; + cmprop?: OneOrMore< + "ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type" + >; + cmnamespace?: namespace | namespace[]; + cmtype?: OneOrMore<"file" | "page" | "subcat">; + cmcontinue?: string; + cmlimit?: limit; + cmsort?: "sortkey" | "timestamp"; + cmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; + cmstart?: timestamp; + cmend?: timestamp; + cmstarthexsortkey?: string; + cmendhexsortkey?: string; + cmstartsortkeyprefix?: string; + cmendsortkeyprefix?: string; + /** + * @deprecated + */ + cmstartsortkey?: string; + /** + * @deprecated + */ + cmendsortkey?: string; + } + + interface CentralNoticeActiveCampaigns extends Query { + cnacincludefuture?: boolean; + } + + interface CentralNoticeLogs extends Query { + campaign?: string; + user?: string; + limit?: limit; + offset?: number; + start?: timestamp; + end?: timestamp; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:CheckUser#API + */ + interface CheckUser extends Query { + curequest: "actions" | "ipusers" | "userips" | "edits"; + cutarget: string; + cureason: string; + culimit?: limit; + cutimecond?: string; + cuxff?: string; + cutoken?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:CheckUser#API + */ + interface CheckUserLog extends Query { + culuser?: string; + cultarget?: string; + culreason?: string; + cullimit?: limit; + culdir?: "newer" | "older"; + culfrom?: timestamp; + culto?: timestamp; + culcontinue?: string; + } + + interface Configuredpages extends Query { + cpstart?: number; + cpend?: number; + cpdir?: "newer" | "older"; + cpnamespace?: namespace | namespace[]; + cpdefault?: "latest" | "stable"; + cpautoreview?: "none" | "sysop"; + cplimit?: limit; + } + + interface ContentTranslation extends Query { + translationid?: string; + from?: string; + to?: string; + sourcetitle?: string; + sourcesectiontitle?: string; + limit?: limit; + offset?: string; + type?: "draft" | "published"; + usecase?: + | "desktop-editor-draft" + | "translation-corpora-units" + | "unified-dashboard"; + } + + interface ContentTranslationCorpora extends Query { + translationid: number; + striphtml?: boolean; + types?: OneOrMore<"mt" | "source" | "user">; + } + + interface ContentTranslationLangTrend extends Query { + source?: string; + target?: string; + interval?: "month" | "week"; + } + + // tslint:disable-next-line:no-empty-interface + interface ContentTranslationStats extends Query {} + + interface ContentTranslationSuggestions extends Query { + from?: string; + to?: string; + listid?: string; + limit?: limit; + offset?: string; + seed?: number; + } + + interface CXPublishedTranslations extends Query { + from?: string; + to?: string; + limit?: limit; + offset?: string; + } + + interface CXTranslatorStats extends Query { + translator?: string; + } + + /** + * @deprecated + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevs + */ + interface Deletedrevs extends Query { + drstart?: timestamp; + drend?: timestamp; + drdir?: "newer" | "older"; + drfrom?: string; + drto?: string; + drprefix?: string; + drunique?: boolean; + drnamespace?: namespace; + drtag?: string; + druser?: string; + drexcludeuser?: string; + drprop?: OneOrMore< + | "comment" + | "content" + | "len" + | "minor" + | "parentid" + | "parsedcomment" + | "revid" + | "sha1" + | "tags" + | "user" + | "userid" + | "token" + >; + drlimit?: limit; + drcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin + */ + interface Embeddedin extends Query { + eititle?: string; + eipageid?: number; + eicontinue?: string; + einamespace?: namespace | namespace[]; + eidir?: "ascending" | "descending"; + eifilterredir?: "all" | "nonredirects" | "redirects"; + eilimit?: limit; + } + + /** + * @private + */ + interface ExtDistBranches extends Query { + edbexts?: string | string[]; + edbskins?: OneOrMore< + | "2018" + | "Aether" + | "Amethyst" + | "Anisa" + | "BlueSky" + | "BlueSpiceCalumma" + | "BlueSpiceDiscovery" + | "Bouquet" + | "Cavendish" + | "CologneBlue" + | "Cosmos" + | "DeskMessMirrored" + | "Dusk" + | "DuskToDawn" + | "Empty" + | "Example" + | "Foreground" + | "Freo" + | "Gamepress" + | "GreyStuff" + | "GuMaxDD" + | "HasSomeColours" + | "Mask" + | "Material" + | "MediaWikiWordpressThemes" + | "Metrolook" + | "MinervaNeue" + | "Mirage" + | "Modern" + | "MonoBook" + | "Nimbus" + | "Nostalgia" + | "Pivot" + | "Poncho" + | "Reflection" + | "Refreshed" + | "Schulenburg" + | "Splash" + | "Tempo" + | "Timeless" + | "Truglass" + | "TuleapSkin" + | "Vector" + | "WMAU" + | "WPtouch" + | "WikimediaApiPortal" + | "WoOgLeShades" + | "apex" + | "erudite" + | "mediawiki-strapping" + | "p2wiki" + | "shared" + | "webplatform" + >; + } + + // tslint:disable-next-line:no-empty-interface + interface ExtDistRepos extends Query {} + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage + */ + interface ExtUrlUsage extends Query { + euprop?: OneOrMore<"ids" | "title" | "url">; + eucontinue?: string; + euprotocol?: + | "" + | "bitcoin" + | "ftp" + | "ftps" + | "geo" + | "git" + | "gopher" + | "http" + | "https" + | "irc" + | "ircs" + | "magnet" + | "mailto" + | "matrix" + | "mms" + | "news" + | "nntp" + | "redis" + | "sftp" + | "sip" + | "sips" + | "sms" + | "ssh" + | "svn" + | "tel" + | "telnet" + | "urn" + | "worldwind" + | "xmpp"; + euquery?: string; + eunamespace?: namespace | namespace[]; + eulimit?: limit; + /** + * @deprecated + */ + euexpandurl?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Filearchive + */ + interface Filearchive extends Query { + fafrom?: string; + fato?: string; + faprefix?: string; + fadir?: "ascending" | "descending"; + fasha1?: string; + fasha1base36?: string; + faprop?: OneOrMore< + | "archivename" + | "bitdepth" + | "description" + | "dimensions" + | "mediatype" + | "metadata" + | "mime" + | "parseddescription" + | "sha1" + | "size" + | "timestamp" + | "user" + >; + falimit?: limit; + facontinue?: string; + } + + interface GadgetCategories extends Query { + gcprop?: OneOrMore<"members" | "name" | "title">; + gcnames?: string | string[]; + } + + interface Gadgets extends Query { + gaprop?: OneOrMore<"desc" | "id" | "metadata">; + gacategories?: string | string[]; + gaids?: string | string[]; + gaallowedonly?: boolean; + gaenabledonly?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch + */ + interface GeoSearch extends Query { + gscoord?: string; + gspage?: string; + gsbbox?: string; + gsradius?: number; + gsmaxdim?: number; + gssort?: "distance" | "relevance"; + gslimit?: limit; + gsglobe?: "earth"; + gsnamespace?: namespace | namespace[]; + gsprop?: OneOrMore< + "country" | "dim" | "globe" | "name" | "region" | "type" + >; + gsprimary?: "all" | "primary" | "secondary"; + gsdebug?: boolean; + } + + interface GlobalAllUsers extends Query { + agufrom?: string; + aguto?: string; + aguprefix?: string; + agudir?: "ascending" | "descending"; + agugroup?: OneOrMore< + | "abusefilter-helper" + | "abusefilter-maintainer" + | "apihighlimits-requestor" + | "captcha-exempt" + | "founder" + | "global-bot" + | "global-deleter" + | "global-flow-create" + | "global-interface-editor" + | "global-ipblock-exempt" + | "global-rollbacker" + | "global-sysop" + | "global-temporary-account-viewer" + | "new-wikis-importer" + | "oathauth-tester" + | "ombuds" + | "recursive-export" + | "staff" + | "steward" + | "sysadmin" + | "u4c-member" + | "vrt-permissions" + | "wmf-email-block-override" + | "wmf-researcher" + >; + aguexcludegroup?: OneOrMore< + | "abusefilter-helper" + | "abusefilter-maintainer" + | "apihighlimits-requestor" + | "captcha-exempt" + | "founder" + | "global-bot" + | "global-deleter" + | "global-flow-create" + | "global-interface-editor" + | "global-ipblock-exempt" + | "global-rollbacker" + | "global-sysop" + | "global-temporary-account-viewer" + | "new-wikis-importer" + | "oathauth-tester" + | "ombuds" + | "recursive-export" + | "staff" + | "steward" + | "sysadmin" + | "u4c-member" + | "vrt-permissions" + | "wmf-email-block-override" + | "wmf-researcher" + >; + aguprop?: OneOrMore<"existslocally" | "groups" | "lockinfo">; + agulimit?: limit; + aguexcludenamed?: boolean; + aguexcludetemp?: boolean; + } + + interface GlobalBlocks extends Query { + bgstart?: timestamp; + bgend?: timestamp; + bgdir?: "newer" | "older"; + bgids?: number | number[]; + /** + * @deprecated + */ + bgaddresses?: string | string[]; + bgtargets?: string | string[]; + bgip?: string; + bglimit?: limit; + bgprop?: OneOrMore< + | "by" + | "expiry" + | "id" + | "range" + | "reason" + | "target" + | "timestamp" + | "address" + >; + } + + interface GlobalGroups extends Query { + ggpprop?: OneOrMore<"rights">; + } + + // tslint:disable-next-line:no-empty-interface + interface GrowthMentorList extends Query {} + + interface GrowthMentorMentee extends Query { + gemmmentor: string; + } + + // tslint:disable-next-line:no-empty-interface + interface GrowthStarredMentees extends Query {} + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API + */ + interface GrowthTasks extends Query { + gttasktypes?: OneOrMore< + | "copyedit" + | "expand" + | "image-recommendation" + | "link-recommendation" + | "links" + | "references" + | "section-image-recommendation" + | "update" + >; + gttopics?: OneOrMore< + | "africa" + | "architecture" + | "art" + | "asia" + | "biography" + | "biology" + | "business-and-economics" + | "central-america" + | "chemistry" + | "comics-and-anime" + | "computers-and-internet" + | "earth-and-environment" + | "education" + | "engineering" + | "entertainment" + | "europe" + | "fashion" + | "food-and-drink" + | "general-science" + | "history" + | "literature" + | "mathematics" + | "medicine-and-health" + | "military-and-warfare" + | "music" + | "north-america" + | "oceania" + | "performing-arts" + | "philosophy-and-religion" + | "physics" + | "politics-and-government" + | "society" + | "south-america" + | "sports" + | "technology" + | "transportation" + | "tv-and-film" + | "video-games" + | "women" + >; + gttopicsmode?: "AND" | "OR"; + gtlimit?: limit; + gtoffset?: number; + gtdebug?: boolean; + gtexcludepageids?: number | number[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage + */ + interface ImageUsage extends Query { + iutitle?: string; + iupageid?: number; + iucontinue?: string; + iunamespace?: namespace | namespace[]; + iudir?: "ascending" | "descending"; + iufilterredir?: "all" | "nonredirects" | "redirects"; + iulimit?: limit; + iuredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks + */ + // tslint:disable-next-line:interface-name + interface IWBacklinks extends Query { + iwblprefix?: string; + iwbltitle?: string; + iwblcontinue?: string; + iwbllimit?: limit; + iwblprop?: OneOrMore<"iwprefix" | "iwtitle">; + iwbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks + */ + interface LangBacklinks extends Query { + lbllang?: string; + lbltitle?: string; + lblcontinue?: string; + lbllimit?: limit; + lblprop?: OneOrMore<"lllang" | "lltitle">; + lbldir?: "ascending" | "descending"; + } + + interface LintErrors extends Query { + lntcategories?: OneOrMore< + | "bogus-image-options" + | "deletable-table-tag" + | "duplicate-ids" + | "fostered" + | "fostered-transparent" + | "html5-misnesting" + | "large-tables" + | "misc-tidy-replacement-issues" + | "misnested-tag" + | "missing-end-tag" + | "missing-end-tag-in-heading" + | "multi-colon-escape" + | "multiline-html-table-in-list" + | "multiple-unclosed-formatting-tags" + | "night-mode-unaware-background-color" + | "obsolete-tag" + | "pwrap-bug-workaround" + | "self-closed-tag" + | "stripped-tag" + | "tidy-font-bug" + | "tidy-whitespace-bug" + | "unclosed-quotes-in-heading" + | "wikilink-in-extlink" + >; + lntlimit?: limit; + lntnamespace?: namespace | namespace[]; + lntpageid?: number | number[]; + lnttitle?: string; + lntfrom?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Logevents + */ + interface LogEvents extends Query { + leprop?: OneOrMore< + | "comment" + | "details" + | "ids" + | "parsedcomment" + | "tags" + | "timestamp" + | "title" + | "type" + | "user" + | "userid" + >; + letype?: string; + leaction?: string; + lestart?: timestamp; + leend?: timestamp; + ledir?: "newer" | "older"; + leuser?: string; + letitle?: string; + lenamespace?: namespace; + leprefix?: string; + letag?: string; + lelimit?: limit; + lecontinue?: string; + } + + interface MessageCollection extends Query { + mcgroup: string; + mclanguage?: string; + mclimit?: limit; + mcoffset?: string; + mcfilter?: string | string[]; + mcprop?: OneOrMore< + "definition" | "properties" | "tags" | "translation" | "revision" + >; + } + + /** + * @private + */ + // tslint:disable-next-line:no-empty-interface + interface MessageGroupSubscription extends Query {} + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo + */ + interface MostViewed extends Query { + pvimmetric?: "pageviews"; + pvimlimit?: limit; + pvimoffset?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:mystashedfiles + */ + interface MyStashedFiles extends Query { + msfprop?: OneOrMore<"size" | "type">; + msflimit?: limit; + msfcontinue?: string; + } + + interface Oldreviewedpages extends Query { + orstart?: timestamp; + orend?: timestamp; + ordir?: "newer" | "older"; + ormaxsize?: number; + orfilterwatched?: "all" | "watched"; + ornamespace?: namespace | namespace[]; + orcategory?: string; + orfilterredir?: "all" | "nonredirects" | "redirects"; + orlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pagepropnames + */ + interface PagePropNames extends Query { + ppncontinue?: string; + ppnlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop + */ + interface PagesWithProp extends Query { + pwppropname: string; + pwpprop?: OneOrMore<"ids" | "title" | "value">; + pwpcontinue?: string; + pwplimit?: limit; + pwpdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch + */ + interface PrefixSearch extends Query { + pssearch: string; + psnamespace?: namespace | namespace[]; + pslimit?: limit; + psoffset?: number; + psprofile?: + | "classic" + | "engine_autoselect" + | "fast-fuzzy" + | "fuzzy" + | "fuzzy-subphrases" + | "normal" + | "normal-subphrases" + | "strict"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments + */ + interface ProjectPages extends Query { + wppassessments?: boolean; + wppprojects: string | string[]; + wpplimit?: limit; + wppcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments + */ + interface Projects extends Query { + pjsubprojects?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API + */ + interface ProofreadPagesInIndex extends Query { + prppiiprop?: OneOrMore< + "formattedpagenumber" | "ids" | "title" | "formattedPageNumber" + >; + prppiititle?: string; + prppiipageid?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles + */ + interface ProtectedTitles extends Query { + ptnamespace?: namespace | namespace[]; + ptlevel?: string | string[]; + ptlimit?: limit; + ptdir?: "newer" | "older"; + ptstart?: timestamp; + ptend?: timestamp; + ptprop?: OneOrMore< + | "comment" + | "expiry" + | "level" + | "parsedcomment" + | "timestamp" + | "user" + | "userid" + >; + ptcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage + */ + interface QueryPage extends Query { + qppage: string; + qpoffset?: number; + qplimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random + */ + interface Random extends Query { + rnnamespace?: namespace | namespace[]; + rnfilterredir?: "all" | "nonredirects" | "redirects"; + /** + * @deprecated + */ + rnredirect?: boolean; + rnlimit?: limit; + rncontinue?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface ReadingListEntries extends Query { + rlelists?: number | number[]; + rlechangedsince?: timestamp; + rlesort?: "name" | "updated"; + rledir?: "ascending" | "descending"; + rlelimit?: limit; + rlecontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges + */ + interface RecentChanges extends Query { + rcstart?: timestamp; + rcend?: timestamp; + rcdir?: "newer" | "older"; + rcnamespace?: namespace | namespace[]; + rcuser?: string; + rcexcludeuser?: string; + rctag?: string; + rcprop?: OneOrMore< + | "comment" + | "flags" + | "ids" + | "loginfo" + | "oresscores" + | "parsedcomment" + | "patrolled" + | "redirect" + | "sha1" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + rcshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!redirect" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "redirect" + | "unpatrolled" + >; + rclimit?: limit; + rctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + rctoponly?: boolean; + rctitle?: string; + rccontinue?: string; + rcgeneraterevisions?: boolean; + rcslot?: "main" | "mediainfo"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search + */ + interface Search extends Query { + srsearch: string; + srnamespace?: namespace | namespace[]; + srlimit?: limit; + sroffset?: number; + srqiprofile?: string; + srwhat?: "nearmatch" | "text" | "title"; + srinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; + srprop?: OneOrMore< + | "categorysnippet" + | "extensiondata" + | "isfilematch" + | "redirectsnippet" + | "redirecttitle" + | "sectionsnippet" + | "sectiontitle" + | "size" + | "snippet" + | "timestamp" + | "titlesnippet" + | "wordcount" + | "hasrelated" + | "score" + >; + srinterwiki?: boolean; + srenablerewrites?: boolean; + srsort?: + | "create_timestamp_asc" + | "create_timestamp_desc" + | "incoming_links_asc" + | "incoming_links_desc" + | "just_match" + | "last_edit_asc" + | "last_edit_desc" + | "none" + | "random" + | "relevance" + | "user_random"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Tags + */ + interface Tags extends Query { + tgcontinue?: string; + tglimit?: limit; + tgprop?: OneOrMore< + | "active" + | "defined" + | "description" + | "displayname" + | "hitcount" + | "source" + >; + } + + interface Threads extends Query { + thstartid?: number; + thendid?: number; + thdir?: "newer" | "older"; + thshowdeleted?: boolean; + thlimit?: limit; + thprop?: OneOrMore< + | "ancestor" + | "author" + | "created" + | "id" + | "modified" + | "page" + | "parent" + | "reactions" + | "replies" + | "rootid" + | "signature" + | "subject" + | "summaryid" + | "type" + >; + thpage?: string | string[]; + thauthor?: string | string[]; + throot?: string | string[]; + thsummary?: string | string[]; + thid?: string | string[]; + thrender?: boolean; + threnderlevel?: number; + threnderthreadpos?: number; + threnderthreadcount?: number; + threndermaxthreadcount?: string; + threndermaxdepth?: string; + threnderstartrepliesat?: string; + } + + interface Unreviewedpages extends Query { + urstart?: string; + urend?: string; + urdir?: "ascending" | "descending"; + urnamespace?: namespace | namespace[]; + urfilterredir?: "all" | "nonredirects" | "redirects"; + urfilterlevel?: number; + urlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Usercontribs + */ + interface UserContribs extends Query { + uclimit?: limit; + ucstart?: timestamp; + ucend?: timestamp; + uccontinue?: string; + ucuser?: string | string[]; + ucuserids?: number | number[]; + ucuserprefix?: string; + uciprange?: string; + ucdir?: "newer" | "older"; + ucnamespace?: namespace | namespace[]; + ucprop?: OneOrMore< + | "comment" + | "flags" + | "ids" + | "oresscores" + | "parsedcomment" + | "patrolled" + | "size" + | "sizediff" + | "tags" + | "timestamp" + | "title" + >; + ucshow?: OneOrMore< + | "!autopatrolled" + | "!minor" + | "!new" + | "!oresreview" + | "!patrolled" + | "!top" + | "autopatrolled" + | "minor" + | "new" + | "oresreview" + | "patrolled" + | "top" + >; + uctag?: string; + /** + * @deprecated + */ + uctoponly?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Users + */ + interface Users extends Query { + usprop?: OneOrMore< + | "blockinfo" + | "cancreate" + | "centralids" + | "editcount" + | "emailable" + | "gender" + | "groupmemberships" + | "groups" + | "implicitgroups" + | "registration" + | "rights" + >; + usattachedwiki?: string; + ususers?: string | string[]; + ususerids?: number | number[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist + */ + interface Watchlist extends Query { + wlallrev?: boolean; + wlstart?: timestamp; + wlend?: timestamp; + wlnamespace?: namespace | namespace[]; + wluser?: string; + wlexcludeuser?: string; + wldir?: "newer" | "older"; + wllimit?: limit; + wlprop?: OneOrMore< + | "comment" + | "expiry" + | "flags" + | "ids" + | "loginfo" + | "notificationtimestamp" + | "oresscores" + | "parsedcomment" + | "patrol" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + wlshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!unread" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "unread" + >; + wltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + wlowner?: string; + wltoken?: string; + wlcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw + */ + interface WatchlistRaw extends Query { + wrcontinue?: string; + wrnamespace?: namespace | namespace[]; + wrlimit?: limit; + wrprop?: OneOrMore<"changed">; + wrshow?: OneOrMore<"!changed" | "changed">; + wrowner?: string; + wrtoken?: string; + wrdir?: "ascending" | "descending"; + wrfromtitle?: string; + wrtotitle?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API + */ + interface WBListEntityUsage extends Query { + wbleuprop?: OneOrMore<"url">; + wbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; + wbleuentities: string | string[]; + wbleulimit?: limit; + wbleucontinue?: string; + } + + /** + * @private + */ + interface WBSearch extends Query { + wbssearch: string; + wbslanguage?: string; + wbsstrictlanguage?: boolean; + wbstype?: string; + wbslimit?: limit; + wbsprofile?: "default" | "language"; + } + + interface WBSubscribers extends Query { + wblsentities: string | string[]; + wblsprop?: OneOrMore<"url">; + wblslimit?: limit; + wblscontinue?: string; + } + + interface WikiLambdaFnSearch extends Query { + wikilambdafn_zfunction_id?: string; + wikilambdafn_type?: string; + wikilambdafn_limit?: limit; + wikilambdafn_continue?: string; + } + + interface WikiLambdaLoadZObjects extends Query { + wikilambdaload_zids: string | string[]; + wikilambdaload_revisions?: string | string[]; + wikilambdaload_language?: string; + wikilambdaload_get_dependencies?: boolean; + } + + interface WikiLambdaSearchLabels extends Query { + wikilambdasearch_search?: string; + wikilambdasearch_language: string; + wikilambdasearch_nofallback?: boolean; + wikilambdasearch_exact?: boolean; + wikilambdasearch_type?: string; + wikilambdasearch_return_type?: string; + wikilambdasearch_strict_return_type?: boolean; + wikilambdasearch_limit?: limit; + wikilambdasearch_continue?: string; + } + + interface WikiSets extends Query { + wsfrom?: string; + wsprop?: OneOrMore<"type" | "wikisincluded" | "wikisnotincluded">; + wslimit?: limit; + wsorderbyname?: boolean; + } + } + + namespace Meta { + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allmessages + */ + interface AllMessages extends Query { + ammessages?: string | string[]; + amprop?: OneOrMore<"default">; + amenableparser?: boolean; + amnocontent?: boolean; + amincludelocal?: boolean; + amargs?: string | string[]; + amfilter?: string; + amcustomised?: "all" | "modified" | "unmodified"; + amlang?: string; + amfrom?: string; + amto?: string; + amtitle?: string; + amprefix?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Authmanagerinfo + */ + interface AuthManagerInfo extends Query { + amisecuritysensitiveoperation?: string; + amirequestsfor?: + | "change" + | "create" + | "create-continue" + | "link" + | "link-continue" + | "login" + | "login-continue" + | "remove" + | "unlink"; + amimergerequestfields?: boolean; + amimessageformat?: "html" | "none" | "raw" | "wikitext"; + } + + interface Babel extends Query { + babuser: string; + } + + interface CommunityConfiguration extends Query { + ccrprovider: + | "AutoModerator" + | "CommunityUpdates" + | "GrowthHomepage" + | "GrowthMentorList" + | "GrowthSuggestedEdits" + | "HelpPanel" + | "Mentorship"; + ccrassertversion?: string; + } + + /** + * @private + */ + interface CXDeletedTranslations extends Query { + dtafter?: timestamp; + dtnamespace?: namespace; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ApiFeatureUsage + */ + interface FeatureUsage extends Query { + afustart?: timestamp; + afuend?: timestamp; + afuagent?: string; + afufeatures?: string | string[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Filerepoinfo + */ + interface FileRepoInfo extends Query { + friprop?: string | string[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GlobalPreferences/API + */ + interface GlobalPreferences extends Query { + gprprop?: OneOrMore<"localoverrides" | "preferences">; + } + + interface GlobalRenameStatus extends Query { + grsuser?: string; + } + + interface GlobalUserInfo extends Query { + guiuser?: string; + guiid?: number; + guiprop?: OneOrMore< + "editcount" | "groups" | "merged" | "rights" | "unattached" + >; + } + + // tslint:disable-next-line:no-empty-interface + interface GrowthMenteeStatus extends Query {} + + // tslint:disable-next-line:no-empty-interface + interface GrowthMentorStatus extends Query {} + + /** + * @private + */ + interface GrowthNextSuggestedTaskType extends Query { + gnsttactivetasktype: + | "copyedit" + | "expand" + | "image-recommendation" + | "link-recommendation" + | "links" + | "references" + | "section-image-recommendation" + | "update"; + } + + interface Languageinfo extends Query { + liprop?: OneOrMore< + | "autonym" + | "bcp47" + | "code" + | "dir" + | "fallbacks" + | "name" + | "variantnames" + | "variants" + >; + licode?: string | string[]; + licontinue?: string; + } + + interface LanguageStats extends Query { + lsoffset?: string; + lslanguage: string; + lsgroup?: string; + } + + // tslint:disable-next-line:no-empty-interface + interface LinterStats extends Query {} + + interface ManageMessageGroups extends Query { + mmggroupId: string; + mmgmessageKey: string; + mmgchangesetName?: string; + } + + interface MessageGroups extends Query { + mgdepth?: number; + mgfilter?: string | string[]; + mgformat?: "flat" | "tree"; + mgiconsize?: number; + mgprop?: OneOrMore< + | "class" + | "description" + | "exists" + | "icon" + | "id" + | "label" + | "namespace" + | "priority" + | "priorityforce" + | "prioritylangs" + | "sourcelanguage" + | "subscription" + | "workflowstates" + >; + mgroot?: string; + mglanguageFilter?: string; + } + + interface MessageGroupStats extends Query { + mgsoffset?: string; + mgsgroup: string; + mgssuppresscomplete?: boolean; + mgssuppressempty?: boolean; + } + + interface MessageTranslations extends Query { + mttitle: string; + mtoffset?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Echo_(Notifications)/API + */ + interface Notifications extends Query { + notwikis?: string | string[]; + notfilter?: OneOrMore<"!read" | "read">; + notprop?: OneOrMore<"count" | "list" | "seenTime">; + notsections?: OneOrMore<"alert" | "message">; + notgroupbysection?: boolean; + notformat?: "flyout" | "html" | "model" | "special"; + notlimit?: limit; + notcontinue?: string; + notunreadfirst?: boolean; + nottitles?: string | string[]; + notbundle?: boolean; + notnotifiertypes?: OneOrMore<"email" | "push" | "web">; + notalertcontinue?: string; + notalertunreadfirst?: boolean; + notmessagecontinue?: string; + notmessageunreadfirst?: boolean; + notcrosswikisummary?: boolean; + } + + /** + * @private + */ + interface OATH extends Query { + oathuser?: string; + oathreason?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ORES + */ + // tslint:disable-next-line:no-empty-interface + interface ORES extends Query {} + + interface ProofreadInfo extends Query { + prpiprop?: OneOrMore<"namespaces" | "qualitylevels">; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface ReadingLists extends Query { + rllist?: number; + rlproject?: string; + rltitle?: string; + rlchangedsince?: timestamp; + rlsort?: "name" | "updated"; + rldir?: "ascending" | "descending"; + rllimit?: limit; + rlcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Siteinfo + */ + interface Siteinfo extends Query { + siprop?: OneOrMore< + | "autocreatetempuser" + | "autopromote" + | "autopromoteonce" + | "clientlibraries" + | "dbrepllag" + | "defaultoptions" + | "extensions" + | "extensiontags" + | "fileextensions" + | "functionhooks" + | "general" + | "interwikimap" + | "languages" + | "languagevariants" + | "libraries" + | "magicwords" + | "namespacealiases" + | "namespaces" + | "protocols" + | "restrictions" + | "rightsinfo" + | "showhooks" + | "skins" + | "specialpagealiases" + | "statistics" + | "uploaddialog" + | "usergroups" + | "variables" + >; + sifilteriw?: "!local" | "local"; + sishowalldb?: boolean; + sinumberingroup?: boolean; + siinlanguagecode?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo + */ + interface SiteViews extends Query { + pvismetric?: "pageviews" | "uniques"; + pvisdays?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Tokens + */ + interface Tokens extends Query { + type?: OneOrMore< + | "createaccount" + | "csrf" + | "deleteglobalaccount" + | "login" + | "patrol" + | "rollback" + | "setglobalaccountstatus" + | "userrights" + | "watch" + | "*" + >; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Echo_(Notifications)/API + */ + interface UnreadNotificationPages extends Query { + unpwikis?: string | string[]; + unpgrouppages?: boolean; + unplimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Userinfo + */ + interface UserInfo extends Query { + uiprop?: OneOrMore< + | "acceptlang" + | "blockinfo" + | "cancreateaccount" + | "centralids" + | "changeablegroups" + | "editcount" + | "email" + | "groupmemberships" + | "groups" + | "hasmsg" + | "implicitgroups" + | "latestcontrib" + | "options" + | "ratelimits" + | "realname" + | "registrationdate" + | "rights" + | "theoreticalratelimits" + | "unreadcount" + | "*" + >; + uiattachedwiki?: string; + } + + interface WBContentLanguages extends Query { + wbclcontext?: "monolingualtext" | "term" | "term-lexicographical"; + wbclprop?: OneOrMore<"autonym" | "code" | "name">; + } + + /** + * @private + */ + // tslint:disable-next-line:no-empty-interface + interface WBDataBridgeConfig extends Query {} + + interface Wikibase extends Query { + wbprop?: OneOrMore<"siteid" | "url">; + } + + /** + * @private + */ + // tslint:disable-next-line:no-empty-interface + interface WikimediaEditorTasksCounts extends Query {} + } + + namespace Generator { + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories + */ + interface AllCategories extends Query { + generator?: "allcategories"; + gacfrom?: string; + gaccontinue?: string; + gacto?: string; + gacprefix?: string; + gacdir?: "ascending" | "descending"; + gacmin?: number; + gacmax?: number; + gaclimit?: limit; + gacprop?: OneOrMore<"hidden" | "size">; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions + */ + interface AllDeletedRevisions extends Query { + generator?: "alldeletedrevisions"; + gadrprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + gadrslots?: string | string[]; + [k: `gadrcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gadrlimit?: limit; + /** + * @deprecated + */ + gadrexpandtemplates?: boolean; + /** + * @deprecated + */ + gadrgeneratexml?: boolean; + /** + * @deprecated + */ + gadrparse?: boolean; + gadrsection?: string; + /** + * @deprecated + */ + gadrdiffto?: string; + /** + * @deprecated + */ + gadrdifftotext?: string; + /** + * @deprecated + */ + gadrdifftotextpst?: boolean; + /** + * @deprecated + */ + gadrcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gadruser?: string; + gadrnamespace?: namespace | namespace[]; + gadrstart?: timestamp; + gadrend?: timestamp; + gadrdir?: "newer" | "older"; + gadrfrom?: string; + gadrto?: string; + gadrprefix?: string; + gadrexcludeuser?: string; + gadrtag?: string; + gadrcontinue?: string; + gadrgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages + */ + interface AllFileUsages extends Query { + generator?: "allfileusages"; + gafcontinue?: string; + gaffrom?: string; + gafto?: string; + gafprefix?: string; + gafunique?: boolean; + gafprop?: OneOrMore<"ids" | "title">; + gaflimit?: limit; + gafdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages + */ + interface AllImages extends Query { + generator?: "allimages"; + gaisort?: "name" | "timestamp"; + gaidir?: "ascending" | "descending" | "newer" | "older"; + gaifrom?: string; + gaito?: string; + gaicontinue?: string; + gaistart?: timestamp; + gaiend?: timestamp; + gaiprop?: OneOrMore< + | "badfile" + | "bitdepth" + | "canonicaltitle" + | "comment" + | "commonmetadata" + | "dimensions" + | "extmetadata" + | "mediatype" + | "metadata" + | "mime" + | "parsedcomment" + | "sha1" + | "size" + | "timestamp" + | "url" + | "user" + | "userid" + >; + gaiprefix?: string; + gaiminsize?: number; + gaimaxsize?: number; + gaisha1?: string; + gaisha1base36?: string; + gaiuser?: string; + gaifilterbots?: "all" | "bots" | "nobots"; + gaimime?: string | string[]; + gailimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks + */ + interface AllLinks extends Query { + generator?: "alllinks"; + galcontinue?: string; + galfrom?: string; + galto?: string; + galprefix?: string; + galunique?: boolean; + galprop?: OneOrMore<"ids" | "title">; + galnamespace?: namespace; + gallimit?: limit; + galdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages + */ + interface AllPages extends Query { + generator?: "allpages"; + gapfrom?: string; + gapcontinue?: string; + gapto?: string; + gapprefix?: string; + gapnamespace?: namespace; + gapfilterredir?: "all" | "nonredirects" | "redirects"; + gapfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; + gapminsize?: number; + gapmaxsize?: number; + gapprtype?: OneOrMore<"edit" | "move" | "upload">; + gapprlevel?: string | string[]; + gapprfiltercascade?: "all" | "cascading" | "noncascading"; + gapprexpiry?: "all" | "definite" | "indefinite"; + gaplimit?: limit; + gapdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects + */ + interface AllRedirects extends Query { + generator?: "allredirects"; + garcontinue?: string; + garfrom?: string; + garto?: string; + garprefix?: string; + garunique?: boolean; + garprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; + garnamespace?: namespace; + garlimit?: limit; + gardir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions + */ + interface AllRevisions extends Query { + generator?: "allrevisions"; + garvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "oresscores" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + garvslots?: string | string[]; + [k: `garvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + garvlimit?: limit; + /** + * @deprecated + */ + garvexpandtemplates?: boolean; + /** + * @deprecated + */ + garvgeneratexml?: boolean; + /** + * @deprecated + */ + garvparse?: boolean; + garvsection?: string; + /** + * @deprecated + */ + garvdiffto?: string; + /** + * @deprecated + */ + garvdifftotext?: string; + /** + * @deprecated + */ + garvdifftotextpst?: boolean; + /** + * @deprecated + */ + garvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + garvuser?: string; + garvnamespace?: namespace | namespace[]; + garvstart?: timestamp; + garvend?: timestamp; + garvdir?: "newer" | "older"; + garvexcludeuser?: string; + garvcontinue?: string; + garvgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions + */ + interface AllTransclusions extends Query { + generator?: "alltransclusions"; + gatcontinue?: string; + gatfrom?: string; + gatto?: string; + gatprefix?: string; + gatunique?: boolean; + gatprop?: OneOrMore<"ids" | "title">; + gatnamespace?: namespace; + gatlimit?: limit; + gatdir?: "ascending" | "descending"; + } + + interface AutomaticTranslationDenseLanguages extends Query { + "generator"?: "automatictranslationdenselanguages"; + "gqid": string; + "gsection-titles"?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks + */ + interface Backlinks extends Query { + generator?: "backlinks"; + gbltitle?: string; + gblpageid?: number; + gblcontinue?: string; + gblnamespace?: namespace | namespace[]; + gbldir?: "ascending" | "descending"; + gblfilterredir?: "all" | "nonredirects" | "redirects"; + gbllimit?: limit; + gblredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories + */ + interface Categories extends Query { + generator?: "categories"; + gclprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; + gclshow?: OneOrMore<"!hidden" | "hidden">; + gcllimit?: limit; + gclcontinue?: string; + gclcategories?: string | string[]; + gcldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers + */ + interface CategoryMembers extends Query { + generator?: "categorymembers"; + gcmtitle?: string; + gcmpageid?: number; + gcmprop?: OneOrMore< + "ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type" + >; + gcmnamespace?: namespace | namespace[]; + gcmtype?: OneOrMore<"file" | "page" | "subcat">; + gcmcontinue?: string; + gcmlimit?: limit; + gcmsort?: "sortkey" | "timestamp"; + gcmdir?: + | "asc" + | "ascending" + | "desc" + | "descending" + | "newer" + | "older"; + gcmstart?: timestamp; + gcmend?: timestamp; + gcmstarthexsortkey?: string; + gcmendhexsortkey?: string; + gcmstartsortkeyprefix?: string; + gcmendsortkeyprefix?: string; + /** + * @deprecated + */ + gcmstartsortkey?: string; + /** + * @deprecated + */ + gcmendsortkey?: string; + } + + interface Configuredpages extends Query { + generator?: "configuredpages"; + gcpstart?: number; + gcpend?: number; + gcpdir?: "newer" | "older"; + gcpnamespace?: namespace | namespace[]; + gcpdefault?: "latest" | "stable"; + gcpautoreview?: "none" | "sysop"; + gcplimit?: limit; + } + + interface ContentTranslation extends Query { + generator?: "contenttranslation"; + gtranslationid?: string; + gfrom?: string; + gto?: string; + gsourcetitle?: string; + gsourcesectiontitle?: string; + glimit?: limit; + goffset?: string; + gtype?: "draft" | "published"; + gusecase?: + | "desktop-editor-draft" + | "translation-corpora-units" + | "unified-dashboard"; + } + + interface ContentTranslationSuggestions extends Query { + generator?: "contenttranslationsuggestions"; + gfrom?: string; + gto?: string; + glistid?: string; + glimit?: limit; + goffset?: string; + gseed?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions + */ + interface DeletedRevisions extends Query { + generator?: "deletedrevisions"; + gdrvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + gdrvslots?: string | string[]; + [k: `gdrvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gdrvlimit?: limit; + /** + * @deprecated + */ + gdrvexpandtemplates?: boolean; + /** + * @deprecated + */ + gdrvgeneratexml?: boolean; + /** + * @deprecated + */ + gdrvparse?: boolean; + gdrvsection?: string; + /** + * @deprecated + */ + gdrvdiffto?: string; + /** + * @deprecated + */ + gdrvdifftotext?: string; + /** + * @deprecated + */ + gdrvdifftotextpst?: boolean; + /** + * @deprecated + */ + gdrvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gdrvstart?: timestamp; + gdrvend?: timestamp; + gdrvdir?: "newer" | "older"; + gdrvtag?: string; + gdrvuser?: string; + gdrvexcludeuser?: string; + gdrvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles + */ + interface DuplicateFiles extends Query { + generator?: "duplicatefiles"; + gdflimit?: limit; + gdfcontinue?: string; + gdfdir?: "ascending" | "descending"; + gdflocalonly?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin + */ + interface Embeddedin extends Query { + generator?: "embeddedin"; + geititle?: string; + geipageid?: number; + geicontinue?: string; + geinamespace?: namespace | namespace[]; + geidir?: "ascending" | "descending"; + geifilterredir?: "all" | "nonredirects" | "redirects"; + geilimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage + */ + interface ExtUrlUsage extends Query { + generator?: "exturlusage"; + geuprop?: OneOrMore<"ids" | "title" | "url">; + geucontinue?: string; + geuprotocol?: + | "" + | "bitcoin" + | "ftp" + | "ftps" + | "geo" + | "git" + | "gopher" + | "http" + | "https" + | "irc" + | "ircs" + | "magnet" + | "mailto" + | "matrix" + | "mms" + | "news" + | "nntp" + | "redis" + | "sftp" + | "sip" + | "sips" + | "sms" + | "ssh" + | "svn" + | "tel" + | "telnet" + | "urn" + | "worldwind" + | "xmpp"; + geuquery?: string; + geunamespace?: namespace | namespace[]; + geulimit?: limit; + /** + * @deprecated + */ + geuexpandurl?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage + */ + interface FileUsage extends Query { + generator?: "fileusage"; + gfuprop?: OneOrMore<"pageid" | "redirect" | "title">; + gfunamespace?: namespace | namespace[]; + gfushow?: OneOrMore<"!redirect" | "redirect">; + gfulimit?: limit; + gfucontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch + */ + interface GeoSearch extends Query { + generator?: "geosearch"; + ggscoord?: string; + ggspage?: string; + ggsbbox?: string; + ggsradius?: number; + ggsmaxdim?: number; + ggssort?: "distance" | "relevance"; + ggslimit?: limit; + ggsglobe?: "earth"; + ggsnamespace?: namespace | namespace[]; + ggsprop?: OneOrMore< + "country" | "dim" | "globe" | "name" | "region" | "type" + >; + ggsprimary?: "all" | "primary" | "secondary"; + ggsdebug?: boolean; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API + */ + interface GrowthTasks extends Query { + generator?: "growthtasks"; + ggttasktypes?: OneOrMore< + | "copyedit" + | "expand" + | "image-recommendation" + | "link-recommendation" + | "links" + | "references" + | "section-image-recommendation" + | "update" + >; + ggttopics?: OneOrMore< + | "africa" + | "architecture" + | "art" + | "asia" + | "biography" + | "biology" + | "business-and-economics" + | "central-america" + | "chemistry" + | "comics-and-anime" + | "computers-and-internet" + | "earth-and-environment" + | "education" + | "engineering" + | "entertainment" + | "europe" + | "fashion" + | "food-and-drink" + | "general-science" + | "history" + | "literature" + | "mathematics" + | "medicine-and-health" + | "military-and-warfare" + | "music" + | "north-america" + | "oceania" + | "performing-arts" + | "philosophy-and-religion" + | "physics" + | "politics-and-government" + | "society" + | "south-america" + | "sports" + | "technology" + | "transportation" + | "tv-and-film" + | "video-games" + | "women" + >; + ggttopicsmode?: "AND" | "OR"; + ggtlimit?: limit; + ggtoffset?: number; + ggtdebug?: boolean; + ggtexcludepageids?: number | number[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images + */ + interface Images extends Query { + generator?: "images"; + gimlimit?: limit; + gimcontinue?: string; + gimimages?: string | string[]; + gimdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage + */ + interface ImageUsage extends Query { + generator?: "imageusage"; + giutitle?: string; + giupageid?: number; + giucontinue?: string; + giunamespace?: namespace | namespace[]; + giudir?: "ascending" | "descending"; + giufilterredir?: "all" | "nonredirects" | "redirects"; + giulimit?: limit; + giuredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks + */ + // tslint:disable-next-line:interface-name + interface IWBacklinks extends Query { + generator?: "iwbacklinks"; + giwblprefix?: string; + giwbltitle?: string; + giwblcontinue?: string; + giwbllimit?: limit; + giwblprop?: OneOrMore<"iwprefix" | "iwtitle">; + giwbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks + */ + interface LangBacklinks extends Query { + generator?: "langbacklinks"; + glbllang?: string; + glbltitle?: string; + glblcontinue?: string; + glbllimit?: limit; + glblprop?: OneOrMore<"lllang" | "lltitle">; + glbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links + */ + interface Links extends Query { + generator?: "links"; + gplnamespace?: namespace | namespace[]; + gpllimit?: limit; + gplcontinue?: string; + gpltitles?: string | string[]; + gpldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere + */ + interface LinksHere extends Query { + generator?: "linkshere"; + glhprop?: OneOrMore<"pageid" | "redirect" | "title">; + glhnamespace?: namespace | namespace[]; + glhshow?: OneOrMore<"!redirect" | "redirect">; + glhlimit?: limit; + glhcontinue?: string; + } + + interface MessageCollection extends Query { + generator?: "messagecollection"; + gmcgroup: string; + gmclanguage?: string; + gmclimit?: limit; + gmcoffset?: string; + gmcfilter?: string | string[]; + gmcprop?: OneOrMore< + "definition" | "properties" | "tags" | "translation" | "revision" + >; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo + */ + interface MostViewed extends Query { + generator?: "mostviewed"; + gpvimmetric?: "pageviews"; + gpvimlimit?: limit; + gpvimoffset?: number; + } + + interface Oldreviewedpages extends Query { + generator?: "oldreviewedpages"; + gorstart?: timestamp; + gorend?: timestamp; + gordir?: "newer" | "older"; + gormaxsize?: number; + gorfilterwatched?: "all" | "watched"; + gornamespace?: namespace | namespace[]; + gorcategory?: string; + gorfilterredir?: "all" | "nonredirects" | "redirects"; + gorlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop + */ + interface PagesWithProp extends Query { + generator?: "pageswithprop"; + gpwppropname: string; + gpwpprop?: OneOrMore<"ids" | "title" | "value">; + gpwpcontinue?: string; + gpwplimit?: limit; + gpwpdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch + */ + interface PrefixSearch extends Query { + generator?: "prefixsearch"; + gpssearch: string; + gpsnamespace?: namespace | namespace[]; + gpslimit?: limit; + gpsoffset?: number; + gpsprofile?: + | "classic" + | "engine_autoselect" + | "fast-fuzzy" + | "fuzzy" + | "fuzzy-subphrases" + | "normal" + | "normal-subphrases" + | "strict"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments + */ + interface ProjectPages extends Query { + generator?: "projectpages"; + gwppassessments?: boolean; + gwppprojects: string | string[]; + gwpplimit?: limit; + gwppcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API + */ + interface ProofreadPagesInIndex extends Query { + generator?: "proofreadpagesinindex"; + gprppiiprop?: OneOrMore< + "formattedpagenumber" | "ids" | "title" | "formattedPageNumber" + >; + gprppiititle?: string; + gprppiipageid?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles + */ + interface ProtectedTitles extends Query { + generator?: "protectedtitles"; + gptnamespace?: namespace | namespace[]; + gptlevel?: string | string[]; + gptlimit?: limit; + gptdir?: "newer" | "older"; + gptstart?: timestamp; + gptend?: timestamp; + gptprop?: OneOrMore< + | "comment" + | "expiry" + | "level" + | "parsedcomment" + | "timestamp" + | "user" + | "userid" + >; + gptcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage + */ + interface QueryPage extends Query { + generator?: "querypage"; + gqppage: string; + gqpoffset?: number; + gqplimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random + */ + interface Random extends Query { + generator?: "random"; + grnnamespace?: namespace | namespace[]; + grnfilterredir?: "all" | "nonredirects" | "redirects"; + /** + * @deprecated + */ + grnredirect?: boolean; + grnlimit?: limit; + grncontinue?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface ReadingListEntries extends Query { + generator?: "readinglistentries"; + grlelists?: number | number[]; + grlechangedsince?: timestamp; + grlesort?: "name" | "updated"; + grledir?: "ascending" | "descending"; + grlelimit?: limit; + grlecontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges + */ + interface RecentChanges extends Query { + generator?: "recentchanges"; + grcstart?: timestamp; + grcend?: timestamp; + grcdir?: "newer" | "older"; + grcnamespace?: namespace | namespace[]; + grcuser?: string; + grcexcludeuser?: string; + grctag?: string; + grcprop?: OneOrMore< + | "comment" + | "flags" + | "ids" + | "loginfo" + | "oresscores" + | "parsedcomment" + | "patrolled" + | "redirect" + | "sha1" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + grcshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!redirect" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "redirect" + | "unpatrolled" + >; + grclimit?: limit; + grctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + grctoponly?: boolean; + grctitle?: string; + grccontinue?: string; + grcgeneraterevisions?: boolean; + grcslot?: "main" | "mediainfo"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects + */ + interface Redirects extends Query { + generator?: "redirects"; + grdprop?: OneOrMore<"fragment" | "pageid" | "title">; + grdnamespace?: namespace | namespace[]; + grdshow?: OneOrMore<"!fragment" | "fragment">; + grdlimit?: limit; + grdcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions + */ + interface Revisions extends Query { + generator?: "revisions"; + grvprop?: string | string[]; + grvslots?: string | string[]; + [k: `grvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + grvlimit?: limit; + /** + * @deprecated + */ + grvexpandtemplates?: boolean; + /** + * @deprecated + */ + grvgeneratexml?: boolean; + /** + * @deprecated + */ + grvparse?: boolean; + grvsection?: string; + /** + * @deprecated + */ + grvdiffto?: string; + /** + * @deprecated + */ + grvdifftotext?: string; + /** + * @deprecated + */ + grvdifftotextpst?: boolean; + /** + * @deprecated + */ + grvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + grvstartid?: number; + grvendid?: number; + grvstart?: timestamp; + grvend?: timestamp; + grvdir?: "newer" | "older"; + grvuser?: string; + grvexcludeuser?: string; + grvtag?: string; + grvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search + */ + interface Search extends Query { + generator?: "search"; + gsrsearch: string; + gsrnamespace?: namespace | namespace[]; + gsrlimit?: limit; + gsroffset?: number; + gsrqiprofile?: string; + gsrwhat?: "nearmatch" | "text" | "title"; + gsrinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; + gsrprop?: OneOrMore< + | "categorysnippet" + | "extensiondata" + | "isfilematch" + | "redirectsnippet" + | "redirecttitle" + | "sectionsnippet" + | "sectiontitle" + | "size" + | "snippet" + | "timestamp" + | "titlesnippet" + | "wordcount" + | "hasrelated" + | "score" + >; + gsrinterwiki?: boolean; + gsrenablerewrites?: boolean; + gsrsort?: + | "create_timestamp_asc" + | "create_timestamp_desc" + | "incoming_links_asc" + | "incoming_links_desc" + | "just_match" + | "last_edit_asc" + | "last_edit_desc" + | "none" + | "random" + | "relevance" + | "user_random"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates + */ + interface Templates extends Query { + generator?: "templates"; + gtlnamespace?: namespace | namespace[]; + gtllimit?: limit; + gtlcontinue?: string; + gtltemplates?: string | string[]; + gtldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin + */ + interface Transcludedin extends Query { + generator?: "transcludedin"; + gtiprop?: OneOrMore<"pageid" | "redirect" | "title">; + gtinamespace?: namespace | namespace[]; + gtishow?: OneOrMore<"!redirect" | "redirect">; + gtilimit?: limit; + gticontinue?: string; + } + + interface Unreviewedpages extends Query { + generator?: "unreviewedpages"; + gurstart?: string; + gurend?: string; + gurdir?: "ascending" | "descending"; + gurnamespace?: namespace | namespace[]; + gurfilterredir?: "all" | "nonredirects" | "redirects"; + gurfilterlevel?: number; + gurlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist + */ + interface Watchlist extends Query { + generator?: "watchlist"; + gwlallrev?: boolean; + gwlstart?: timestamp; + gwlend?: timestamp; + gwlnamespace?: namespace | namespace[]; + gwluser?: string; + gwlexcludeuser?: string; + gwldir?: "newer" | "older"; + gwllimit?: limit; + gwlprop?: OneOrMore< + | "comment" + | "expiry" + | "flags" + | "ids" + | "loginfo" + | "notificationtimestamp" + | "oresscores" + | "parsedcomment" + | "patrol" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + gwlshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!unread" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "unread" + >; + gwltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + gwlowner?: string; + gwltoken?: string; + gwlcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw + */ + interface WatchlistRaw extends Query { + generator?: "watchlistraw"; + gwrcontinue?: string; + gwrnamespace?: namespace | namespace[]; + gwrlimit?: limit; + gwrprop?: OneOrMore<"changed">; + gwrshow?: OneOrMore<"!changed" | "changed">; + gwrowner?: string; + gwrtoken?: string; + gwrdir?: "ascending" | "descending"; + gwrfromtitle?: string; + gwrtotitle?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API + */ + interface WBListEntityUsage extends Query { + generator?: "wblistentityusage"; + gwbleuprop?: OneOrMore<"url">; + gwbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; + gwbleuentities: string | string[]; + gwbleulimit?: limit; + gwbleucontinue?: string; + } + + /** + * @private + */ + interface WBSearch extends Query { + generator?: "wbsearch"; + gwbssearch: string; + gwbslanguage?: string; + gwbsstrictlanguage?: boolean; + gwbstype?: string; + gwbslimit?: limit; + gwbsprofile?: "default" | "language"; + } + + interface WikiLambdaFnSearch extends Query { + generator?: "wikilambdafn_search"; + gwikilambdafn_zfunction_id?: string; + gwikilambdafn_type?: string; + gwikilambdafn_limit?: limit; + gwikilambdafn_continue?: string; + } + + interface WikiLambdaLoadZObjects extends Query { + generator?: "wikilambdaload_zobjects"; + gwikilambdaload_zids: string | string[]; + gwikilambdaload_revisions?: string | string[]; + gwikilambdaload_language?: string; + gwikilambdaload_get_dependencies?: boolean; + } + + interface WikiLambdaSearchLabels extends Query { + generator?: "wikilambdasearch_labels"; + gwikilambdasearch_search?: string; + gwikilambdasearch_language: string; + gwikilambdasearch_nofallback?: boolean; + gwikilambdasearch_exact?: boolean; + gwikilambdasearch_type?: string; + gwikilambdasearch_return_type?: string; + gwikilambdasearch_strict_return_type?: boolean; + gwikilambdasearch_limit?: limit; + gwikilambdasearch_continue?: string; + } + } + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface ReadingLists extends Params { + action?: "readinglists"; + command: string; + token?: string; + } + + namespace ReadingLists.Command { + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface Create extends ReadingLists { + command: "create"; + name?: string; + description?: string; + batch?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface CreateEntry extends ReadingLists { + command: "createentry"; + list: number; + project?: string; + title?: string; + batch?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface Delete extends ReadingLists { + command: "delete"; + list?: number; + batch?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface DeleteEntry extends ReadingLists { + command: "deleteentry"; + entry?: number; + batch?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface Setup extends ReadingLists { + command: "setup"; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface Teardown extends ReadingLists { + command: "teardown"; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface Update extends ReadingLists { + command: "update"; + list?: number; + name?: string; + description?: string; + batch?: string; + } + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Manage_authentication_data + */ + interface RemoveAuthenticationData extends Params { + action?: "removeauthenticationdata"; + request: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Manage_authentication_data + */ + interface ResetPassword extends Params { + action?: "resetpassword"; + user?: string; + email?: string; + token?: string; + } + + interface Review extends Params { + action?: "review"; + revid?: string; + comment?: string; + unapprove?: boolean; + flag_value?: "0" | "1" | "2" | "3"; + flag_accuracy?: "0" | "1" | "2"; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisiondelete + */ + interface RevisionDelete extends Params { + action?: "revisiondelete"; + type: "archive" | "filearchive" | "logging" | "oldimage" | "revision"; + target?: string; + ids: string | string[]; + hide?: OneOrMore<"comment" | "content" | "user">; + show?: OneOrMore<"comment" | "content" | "user">; + suppress?: "no" | "nochange" | "yes"; + reason?: string; + tags?: string | string[]; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Rollback + */ + interface Rollback extends Params { + action?: "rollback"; + title?: string; + pageid?: number; + tags?: string | string[]; + user: string; + summary?: string; + markbot?: boolean; + watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; + watchlistexpiry?: expiry; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Rsd + */ + interface Rsd extends Params { + action?: "rsd"; + } + + /** + * @private + */ + interface SanitizeMapData extends Params { + action?: "sanitize-mapdata"; + title?: string; + text: string; + } + + /** + * @private + */ + interface ScribuntoConsole extends Params { + action?: "scribunto-console"; + title?: string; + content?: string; + session?: number; + question: string; + clear?: boolean; + token?: string; + } + + interface SearchTranslations extends Params { + action?: "searchtranslations"; + service?: "codfw" | "default" | "eqiad"; + query: string; + sourcelanguage?: string; + language?: string; + group?: string; + filter?: "" | "fuzzy" | "translated" | "untranslated"; + match?: string; + case?: string; + offset?: number; + limit?: limit; + } + + /** + * @private + */ + interface SecurePollAuth extends Params { + action?: "securepollauth"; + token: string; + id: number; + } + + interface SetGlobalAccountStatus extends Params { + action?: "setglobalaccountstatus"; + user: string; + locked?: "" | "lock" | "unlock"; + hidden?: "" | "lists" | "suppressed"; + reason?: string; + statecheck?: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:SetNotificationTimestamp + */ + interface SetNotificationTimestamp extends Params { + action?: "setnotificationtimestamp"; + entirewatchlist?: boolean; + timestamp?: timestamp; + torevid?: number; + newerthanrevid?: number; + continue?: string; + titles?: string | string[]; + pageids?: number | number[]; + revids?: number | number[]; + generator?: string; + redirects?: boolean; + converttitles?: boolean; + token?: string; + } + + namespace SetNotificationTimestamp.Generator { + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories + */ + interface AllCategories extends SetNotificationTimestamp { + generator?: "allcategories"; + gacfrom?: string; + gaccontinue?: string; + gacto?: string; + gacprefix?: string; + gacdir?: "ascending" | "descending"; + gacmin?: number; + gacmax?: number; + gaclimit?: limit; + gacprop?: OneOrMore<"hidden" | "size">; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions + */ + interface AllDeletedRevisions extends SetNotificationTimestamp { + generator?: "alldeletedrevisions"; + gadrprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + gadrslots?: string | string[]; + [k: `gadrcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gadrlimit?: limit; + /** + * @deprecated + */ + gadrexpandtemplates?: boolean; + /** + * @deprecated + */ + gadrgeneratexml?: boolean; + /** + * @deprecated + */ + gadrparse?: boolean; + gadrsection?: string; + /** + * @deprecated + */ + gadrdiffto?: string; + /** + * @deprecated + */ + gadrdifftotext?: string; + /** + * @deprecated + */ + gadrdifftotextpst?: boolean; + /** + * @deprecated + */ + gadrcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gadruser?: string; + gadrnamespace?: namespace | namespace[]; + gadrstart?: timestamp; + gadrend?: timestamp; + gadrdir?: "newer" | "older"; + gadrfrom?: string; + gadrto?: string; + gadrprefix?: string; + gadrexcludeuser?: string; + gadrtag?: string; + gadrcontinue?: string; + gadrgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages + */ + interface AllFileUsages extends SetNotificationTimestamp { + generator?: "allfileusages"; + gafcontinue?: string; + gaffrom?: string; + gafto?: string; + gafprefix?: string; + gafunique?: boolean; + gafprop?: OneOrMore<"ids" | "title">; + gaflimit?: limit; + gafdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages + */ + interface AllImages extends SetNotificationTimestamp { + generator?: "allimages"; + gaisort?: "name" | "timestamp"; + gaidir?: "ascending" | "descending" | "newer" | "older"; + gaifrom?: string; + gaito?: string; + gaicontinue?: string; + gaistart?: timestamp; + gaiend?: timestamp; + gaiprop?: OneOrMore< + | "badfile" + | "bitdepth" + | "canonicaltitle" + | "comment" + | "commonmetadata" + | "dimensions" + | "extmetadata" + | "mediatype" + | "metadata" + | "mime" + | "parsedcomment" + | "sha1" + | "size" + | "timestamp" + | "url" + | "user" + | "userid" + >; + gaiprefix?: string; + gaiminsize?: number; + gaimaxsize?: number; + gaisha1?: string; + gaisha1base36?: string; + gaiuser?: string; + gaifilterbots?: "all" | "bots" | "nobots"; + gaimime?: string | string[]; + gailimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks + */ + interface AllLinks extends SetNotificationTimestamp { + generator?: "alllinks"; + galcontinue?: string; + galfrom?: string; + galto?: string; + galprefix?: string; + galunique?: boolean; + galprop?: OneOrMore<"ids" | "title">; + galnamespace?: namespace; + gallimit?: limit; + galdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages + */ + interface AllPages extends SetNotificationTimestamp { + generator?: "allpages"; + gapfrom?: string; + gapcontinue?: string; + gapto?: string; + gapprefix?: string; + gapnamespace?: namespace; + gapfilterredir?: "all" | "nonredirects" | "redirects"; + gapfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; + gapminsize?: number; + gapmaxsize?: number; + gapprtype?: OneOrMore<"edit" | "move" | "upload">; + gapprlevel?: string | string[]; + gapprfiltercascade?: "all" | "cascading" | "noncascading"; + gapprexpiry?: "all" | "definite" | "indefinite"; + gaplimit?: limit; + gapdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects + */ + interface AllRedirects extends SetNotificationTimestamp { + generator?: "allredirects"; + garcontinue?: string; + garfrom?: string; + garto?: string; + garprefix?: string; + garunique?: boolean; + garprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; + garnamespace?: namespace; + garlimit?: limit; + gardir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions + */ + interface AllRevisions extends SetNotificationTimestamp { + generator?: "allrevisions"; + garvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "oresscores" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + garvslots?: string | string[]; + [k: `garvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + garvlimit?: limit; + /** + * @deprecated + */ + garvexpandtemplates?: boolean; + /** + * @deprecated + */ + garvgeneratexml?: boolean; + /** + * @deprecated + */ + garvparse?: boolean; + garvsection?: string; + /** + * @deprecated + */ + garvdiffto?: string; + /** + * @deprecated + */ + garvdifftotext?: string; + /** + * @deprecated + */ + garvdifftotextpst?: boolean; + /** + * @deprecated + */ + garvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + garvuser?: string; + garvnamespace?: namespace | namespace[]; + garvstart?: timestamp; + garvend?: timestamp; + garvdir?: "newer" | "older"; + garvexcludeuser?: string; + garvcontinue?: string; + garvgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions + */ + interface AllTransclusions extends SetNotificationTimestamp { + generator?: "alltransclusions"; + gatcontinue?: string; + gatfrom?: string; + gatto?: string; + gatprefix?: string; + gatunique?: boolean; + gatprop?: OneOrMore<"ids" | "title">; + gatnamespace?: namespace; + gatlimit?: limit; + gatdir?: "ascending" | "descending"; + } + + interface AutomaticTranslationDenseLanguages extends SetNotificationTimestamp { + "generator"?: "automatictranslationdenselanguages"; + "gqid": string; + "gsection-titles"?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks + */ + interface Backlinks extends SetNotificationTimestamp { + generator?: "backlinks"; + gbltitle?: string; + gblpageid?: number; + gblcontinue?: string; + gblnamespace?: namespace | namespace[]; + gbldir?: "ascending" | "descending"; + gblfilterredir?: "all" | "nonredirects" | "redirects"; + gbllimit?: limit; + gblredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories + */ + interface Categories extends SetNotificationTimestamp { + generator?: "categories"; + gclprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; + gclshow?: OneOrMore<"!hidden" | "hidden">; + gcllimit?: limit; + gclcontinue?: string; + gclcategories?: string | string[]; + gcldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers + */ + interface CategoryMembers extends SetNotificationTimestamp { + generator?: "categorymembers"; + gcmtitle?: string; + gcmpageid?: number; + gcmprop?: OneOrMore< + "ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type" + >; + gcmnamespace?: namespace | namespace[]; + gcmtype?: OneOrMore<"file" | "page" | "subcat">; + gcmcontinue?: string; + gcmlimit?: limit; + gcmsort?: "sortkey" | "timestamp"; + gcmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; + gcmstart?: timestamp; + gcmend?: timestamp; + gcmstarthexsortkey?: string; + gcmendhexsortkey?: string; + gcmstartsortkeyprefix?: string; + gcmendsortkeyprefix?: string; + /** + * @deprecated + */ + gcmstartsortkey?: string; + /** + * @deprecated + */ + gcmendsortkey?: string; + } + + interface Configuredpages extends SetNotificationTimestamp { + generator?: "configuredpages"; + gcpstart?: number; + gcpend?: number; + gcpdir?: "newer" | "older"; + gcpnamespace?: namespace | namespace[]; + gcpdefault?: "latest" | "stable"; + gcpautoreview?: "none" | "sysop"; + gcplimit?: limit; + } + + interface ContentTranslation extends SetNotificationTimestamp { + generator?: "contenttranslation"; + gtranslationid?: string; + gfrom?: string; + gto?: string; + gsourcetitle?: string; + gsourcesectiontitle?: string; + glimit?: limit; + goffset?: string; + gtype?: "draft" | "published"; + gusecase?: + | "desktop-editor-draft" + | "translation-corpora-units" + | "unified-dashboard"; + } + + interface ContentTranslationSuggestions extends SetNotificationTimestamp { + generator?: "contenttranslationsuggestions"; + gfrom?: string; + gto?: string; + glistid?: string; + glimit?: limit; + goffset?: string; + gseed?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions + */ + interface DeletedRevisions extends SetNotificationTimestamp { + generator?: "deletedrevisions"; + gdrvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + gdrvslots?: string | string[]; + [k: `gdrvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gdrvlimit?: limit; + /** + * @deprecated + */ + gdrvexpandtemplates?: boolean; + /** + * @deprecated + */ + gdrvgeneratexml?: boolean; + /** + * @deprecated + */ + gdrvparse?: boolean; + gdrvsection?: string; + /** + * @deprecated + */ + gdrvdiffto?: string; + /** + * @deprecated + */ + gdrvdifftotext?: string; + /** + * @deprecated + */ + gdrvdifftotextpst?: boolean; + /** + * @deprecated + */ + gdrvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gdrvstart?: timestamp; + gdrvend?: timestamp; + gdrvdir?: "newer" | "older"; + gdrvtag?: string; + gdrvuser?: string; + gdrvexcludeuser?: string; + gdrvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles + */ + interface DuplicateFiles extends SetNotificationTimestamp { + generator?: "duplicatefiles"; + gdflimit?: limit; + gdfcontinue?: string; + gdfdir?: "ascending" | "descending"; + gdflocalonly?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin + */ + interface Embeddedin extends SetNotificationTimestamp { + generator?: "embeddedin"; + geititle?: string; + geipageid?: number; + geicontinue?: string; + geinamespace?: namespace | namespace[]; + geidir?: "ascending" | "descending"; + geifilterredir?: "all" | "nonredirects" | "redirects"; + geilimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage + */ + interface ExtUrlUsage extends SetNotificationTimestamp { + generator?: "exturlusage"; + geuprop?: OneOrMore<"ids" | "title" | "url">; + geucontinue?: string; + geuprotocol?: + | "" + | "bitcoin" + | "ftp" + | "ftps" + | "geo" + | "git" + | "gopher" + | "http" + | "https" + | "irc" + | "ircs" + | "magnet" + | "mailto" + | "matrix" + | "mms" + | "news" + | "nntp" + | "redis" + | "sftp" + | "sip" + | "sips" + | "sms" + | "ssh" + | "svn" + | "tel" + | "telnet" + | "urn" + | "worldwind" + | "xmpp"; + geuquery?: string; + geunamespace?: namespace | namespace[]; + geulimit?: limit; + /** + * @deprecated + */ + geuexpandurl?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage + */ + interface FileUsage extends SetNotificationTimestamp { + generator?: "fileusage"; + gfuprop?: OneOrMore<"pageid" | "redirect" | "title">; + gfunamespace?: namespace | namespace[]; + gfushow?: OneOrMore<"!redirect" | "redirect">; + gfulimit?: limit; + gfucontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch + */ + interface GeoSearch extends SetNotificationTimestamp { + generator?: "geosearch"; + ggscoord?: string; + ggspage?: string; + ggsbbox?: string; + ggsradius?: number; + ggsmaxdim?: number; + ggssort?: "distance" | "relevance"; + ggslimit?: limit; + ggsglobe?: "earth"; + ggsnamespace?: namespace | namespace[]; + ggsprop?: OneOrMore< + "country" | "dim" | "globe" | "name" | "region" | "type" + >; + ggsprimary?: "all" | "primary" | "secondary"; + ggsdebug?: boolean; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API + */ + interface GrowthTasks extends SetNotificationTimestamp { + generator?: "growthtasks"; + ggttasktypes?: OneOrMore< + | "copyedit" + | "expand" + | "image-recommendation" + | "link-recommendation" + | "links" + | "references" + | "section-image-recommendation" + | "update" + >; + ggttopics?: OneOrMore< + | "africa" + | "architecture" + | "art" + | "asia" + | "biography" + | "biology" + | "business-and-economics" + | "central-america" + | "chemistry" + | "comics-and-anime" + | "computers-and-internet" + | "earth-and-environment" + | "education" + | "engineering" + | "entertainment" + | "europe" + | "fashion" + | "food-and-drink" + | "general-science" + | "history" + | "literature" + | "mathematics" + | "medicine-and-health" + | "military-and-warfare" + | "music" + | "north-america" + | "oceania" + | "performing-arts" + | "philosophy-and-religion" + | "physics" + | "politics-and-government" + | "society" + | "south-america" + | "sports" + | "technology" + | "transportation" + | "tv-and-film" + | "video-games" + | "women" + >; + ggttopicsmode?: "AND" | "OR"; + ggtlimit?: limit; + ggtoffset?: number; + ggtdebug?: boolean; + ggtexcludepageids?: number | number[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images + */ + interface Images extends SetNotificationTimestamp { + generator?: "images"; + gimlimit?: limit; + gimcontinue?: string; + gimimages?: string | string[]; + gimdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage + */ + interface ImageUsage extends SetNotificationTimestamp { + generator?: "imageusage"; + giutitle?: string; + giupageid?: number; + giucontinue?: string; + giunamespace?: namespace | namespace[]; + giudir?: "ascending" | "descending"; + giufilterredir?: "all" | "nonredirects" | "redirects"; + giulimit?: limit; + giuredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks + */ + // tslint:disable-next-line:interface-name + interface IWBacklinks extends SetNotificationTimestamp { + generator?: "iwbacklinks"; + giwblprefix?: string; + giwbltitle?: string; + giwblcontinue?: string; + giwbllimit?: limit; + giwblprop?: OneOrMore<"iwprefix" | "iwtitle">; + giwbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks + */ + interface LangBacklinks extends SetNotificationTimestamp { + generator?: "langbacklinks"; + glbllang?: string; + glbltitle?: string; + glblcontinue?: string; + glbllimit?: limit; + glblprop?: OneOrMore<"lllang" | "lltitle">; + glbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links + */ + interface Links extends SetNotificationTimestamp { + generator?: "links"; + gplnamespace?: namespace | namespace[]; + gpllimit?: limit; + gplcontinue?: string; + gpltitles?: string | string[]; + gpldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere + */ + interface LinksHere extends SetNotificationTimestamp { + generator?: "linkshere"; + glhprop?: OneOrMore<"pageid" | "redirect" | "title">; + glhnamespace?: namespace | namespace[]; + glhshow?: OneOrMore<"!redirect" | "redirect">; + glhlimit?: limit; + glhcontinue?: string; + } + + interface MessageCollection extends SetNotificationTimestamp { + generator?: "messagecollection"; + gmcgroup: string; + gmclanguage?: string; + gmclimit?: limit; + gmcoffset?: string; + gmcfilter?: string | string[]; + gmcprop?: OneOrMore< + "definition" | "properties" | "tags" | "translation" | "revision" + >; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo + */ + interface MostViewed extends SetNotificationTimestamp { + generator?: "mostviewed"; + gpvimmetric?: "pageviews"; + gpvimlimit?: limit; + gpvimoffset?: number; + } + + interface Oldreviewedpages extends SetNotificationTimestamp { + generator?: "oldreviewedpages"; + gorstart?: timestamp; + gorend?: timestamp; + gordir?: "newer" | "older"; + gormaxsize?: number; + gorfilterwatched?: "all" | "watched"; + gornamespace?: namespace | namespace[]; + gorcategory?: string; + gorfilterredir?: "all" | "nonredirects" | "redirects"; + gorlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop + */ + interface PagesWithProp extends SetNotificationTimestamp { + generator?: "pageswithprop"; + gpwppropname: string; + gpwpprop?: OneOrMore<"ids" | "title" | "value">; + gpwpcontinue?: string; + gpwplimit?: limit; + gpwpdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch + */ + interface PrefixSearch extends SetNotificationTimestamp { + generator?: "prefixsearch"; + gpssearch: string; + gpsnamespace?: namespace | namespace[]; + gpslimit?: limit; + gpsoffset?: number; + gpsprofile?: + | "classic" + | "engine_autoselect" + | "fast-fuzzy" + | "fuzzy" + | "fuzzy-subphrases" + | "normal" + | "normal-subphrases" + | "strict"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments + */ + interface ProjectPages extends SetNotificationTimestamp { + generator?: "projectpages"; + gwppassessments?: boolean; + gwppprojects: string | string[]; + gwpplimit?: limit; + gwppcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API + */ + interface ProofreadPagesInIndex extends SetNotificationTimestamp { + generator?: "proofreadpagesinindex"; + gprppiiprop?: OneOrMore< + "formattedpagenumber" | "ids" | "title" | "formattedPageNumber" + >; + gprppiititle?: string; + gprppiipageid?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles + */ + interface ProtectedTitles extends SetNotificationTimestamp { + generator?: "protectedtitles"; + gptnamespace?: namespace | namespace[]; + gptlevel?: string | string[]; + gptlimit?: limit; + gptdir?: "newer" | "older"; + gptstart?: timestamp; + gptend?: timestamp; + gptprop?: OneOrMore< + | "comment" + | "expiry" + | "level" + | "parsedcomment" + | "timestamp" + | "user" + | "userid" + >; + gptcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage + */ + interface QueryPage extends SetNotificationTimestamp { + generator?: "querypage"; + gqppage: string; + gqpoffset?: number; + gqplimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random + */ + interface Random extends SetNotificationTimestamp { + generator?: "random"; + grnnamespace?: namespace | namespace[]; + grnfilterredir?: "all" | "nonredirects" | "redirects"; + /** + * @deprecated + */ + grnredirect?: boolean; + grnlimit?: limit; + grncontinue?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface ReadingListEntries extends SetNotificationTimestamp { + generator?: "readinglistentries"; + grlelists?: number | number[]; + grlechangedsince?: timestamp; + grlesort?: "name" | "updated"; + grledir?: "ascending" | "descending"; + grlelimit?: limit; + grlecontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges + */ + interface RecentChanges extends SetNotificationTimestamp { + generator?: "recentchanges"; + grcstart?: timestamp; + grcend?: timestamp; + grcdir?: "newer" | "older"; + grcnamespace?: namespace | namespace[]; + grcuser?: string; + grcexcludeuser?: string; + grctag?: string; + grcprop?: OneOrMore< + | "comment" + | "flags" + | "ids" + | "loginfo" + | "oresscores" + | "parsedcomment" + | "patrolled" + | "redirect" + | "sha1" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + grcshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!redirect" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "redirect" + | "unpatrolled" + >; + grclimit?: limit; + grctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + grctoponly?: boolean; + grctitle?: string; + grccontinue?: string; + grcgeneraterevisions?: boolean; + grcslot?: "main" | "mediainfo"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects + */ + interface Redirects extends SetNotificationTimestamp { + generator?: "redirects"; + grdprop?: OneOrMore<"fragment" | "pageid" | "title">; + grdnamespace?: namespace | namespace[]; + grdshow?: OneOrMore<"!fragment" | "fragment">; + grdlimit?: limit; + grdcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions + */ + interface Revisions extends SetNotificationTimestamp { + generator?: "revisions"; + grvprop?: string | string[]; + grvslots?: string | string[]; + [k: `grvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + grvlimit?: limit; + /** + * @deprecated + */ + grvexpandtemplates?: boolean; + /** + * @deprecated + */ + grvgeneratexml?: boolean; + /** + * @deprecated + */ + grvparse?: boolean; + grvsection?: string; + /** + * @deprecated + */ + grvdiffto?: string; + /** + * @deprecated + */ + grvdifftotext?: string; + /** + * @deprecated + */ + grvdifftotextpst?: boolean; + /** + * @deprecated + */ + grvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + grvstartid?: number; + grvendid?: number; + grvstart?: timestamp; + grvend?: timestamp; + grvdir?: "newer" | "older"; + grvuser?: string; + grvexcludeuser?: string; + grvtag?: string; + grvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search + */ + interface Search extends SetNotificationTimestamp { + generator?: "search"; + gsrsearch: string; + gsrnamespace?: namespace | namespace[]; + gsrlimit?: limit; + gsroffset?: number; + gsrqiprofile?: string; + gsrwhat?: "nearmatch" | "text" | "title"; + gsrinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; + gsrprop?: OneOrMore< + | "categorysnippet" + | "extensiondata" + | "isfilematch" + | "redirectsnippet" + | "redirecttitle" + | "sectionsnippet" + | "sectiontitle" + | "size" + | "snippet" + | "timestamp" + | "titlesnippet" + | "wordcount" + | "hasrelated" + | "score" + >; + gsrinterwiki?: boolean; + gsrenablerewrites?: boolean; + gsrsort?: + | "create_timestamp_asc" + | "create_timestamp_desc" + | "incoming_links_asc" + | "incoming_links_desc" + | "just_match" + | "last_edit_asc" + | "last_edit_desc" + | "none" + | "random" + | "relevance" + | "user_random"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates + */ + interface Templates extends SetNotificationTimestamp { + generator?: "templates"; + gtlnamespace?: namespace | namespace[]; + gtllimit?: limit; + gtlcontinue?: string; + gtltemplates?: string | string[]; + gtldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin + */ + interface Transcludedin extends SetNotificationTimestamp { + generator?: "transcludedin"; + gtiprop?: OneOrMore<"pageid" | "redirect" | "title">; + gtinamespace?: namespace | namespace[]; + gtishow?: OneOrMore<"!redirect" | "redirect">; + gtilimit?: limit; + gticontinue?: string; + } + + interface Unreviewedpages extends SetNotificationTimestamp { + generator?: "unreviewedpages"; + gurstart?: string; + gurend?: string; + gurdir?: "ascending" | "descending"; + gurnamespace?: namespace | namespace[]; + gurfilterredir?: "all" | "nonredirects" | "redirects"; + gurfilterlevel?: number; + gurlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist + */ + interface Watchlist extends SetNotificationTimestamp { + generator?: "watchlist"; + gwlallrev?: boolean; + gwlstart?: timestamp; + gwlend?: timestamp; + gwlnamespace?: namespace | namespace[]; + gwluser?: string; + gwlexcludeuser?: string; + gwldir?: "newer" | "older"; + gwllimit?: limit; + gwlprop?: OneOrMore< + | "comment" + | "expiry" + | "flags" + | "ids" + | "loginfo" + | "notificationtimestamp" + | "oresscores" + | "parsedcomment" + | "patrol" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + gwlshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!unread" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "unread" + >; + gwltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + gwlowner?: string; + gwltoken?: string; + gwlcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw + */ + interface WatchlistRaw extends SetNotificationTimestamp { + generator?: "watchlistraw"; + gwrcontinue?: string; + gwrnamespace?: namespace | namespace[]; + gwrlimit?: limit; + gwrprop?: OneOrMore<"changed">; + gwrshow?: OneOrMore<"!changed" | "changed">; + gwrowner?: string; + gwrtoken?: string; + gwrdir?: "ascending" | "descending"; + gwrfromtitle?: string; + gwrtotitle?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API + */ + interface WBListEntityUsage extends SetNotificationTimestamp { + generator?: "wblistentityusage"; + gwbleuprop?: OneOrMore<"url">; + gwbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; + gwbleuentities: string | string[]; + gwbleulimit?: limit; + gwbleucontinue?: string; + } + + /** + * @private + */ + interface WBSearch extends SetNotificationTimestamp { + generator?: "wbsearch"; + gwbssearch: string; + gwbslanguage?: string; + gwbsstrictlanguage?: boolean; + gwbstype?: string; + gwbslimit?: limit; + gwbsprofile?: "default" | "language"; + } + + interface WikiLambdaFnSearch extends SetNotificationTimestamp { + generator?: "wikilambdafn_search"; + gwikilambdafn_zfunction_id?: string; + gwikilambdafn_type?: string; + gwikilambdafn_limit?: limit; + gwikilambdafn_continue?: string; + } + + interface WikiLambdaLoadZObjects extends SetNotificationTimestamp { + generator?: "wikilambdaload_zobjects"; + gwikilambdaload_zids: string | string[]; + gwikilambdaload_revisions?: string | string[]; + gwikilambdaload_language?: string; + gwikilambdaload_get_dependencies?: boolean; + } + + interface WikiLambdaSearchLabels extends SetNotificationTimestamp { + generator?: "wikilambdasearch_labels"; + gwikilambdasearch_search?: string; + gwikilambdasearch_language: string; + gwikilambdasearch_nofallback?: boolean; + gwikilambdasearch_exact?: boolean; + gwikilambdasearch_type?: string; + gwikilambdasearch_return_type?: string; + gwikilambdasearch_strict_return_type?: boolean; + gwikilambdasearch_limit?: limit; + gwikilambdasearch_continue?: string; + } + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:SetPageLanguage + */ + interface SetPageLanguage extends Params { + action?: "setpagelanguage"; + title?: string; + pageid?: number; + lang: string; + reason?: string; + tags?: string | string[]; + token?: string; + } + + interface ShortenUrl extends Params { + action?: "shortenurl"; + url: string; + qrcode?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Sitematrix + */ + interface SiteMatrix extends Params { + action?: "sitematrix"; + smtype?: OneOrMore<"language" | "special">; + smstate?: OneOrMore<"all" | "closed" | "fishbowl" | "nonglobal" | "private">; + smlangprop?: OneOrMore<"code" | "dir" | "localname" | "name" | "site">; + smsiteprop?: OneOrMore<"code" | "dbname" | "lang" | "sitename" | "url">; + smlimit?: limit; + smcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:SpamBlacklist/API + */ + interface SpamBlacklist extends Params { + action?: "spamblacklist"; + url: string | string[]; + } + + interface Stabilize extends Params { + action?: "stabilize"; + default: "latest" | "stable"; + autoreview?: "none" | "sysop"; + protectlevel?: "autoconfirmed" | "none"; + expiry?: string; + reason?: string; + review?: boolean; + title: string; + token?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Stashedit + */ + interface StashEdit extends Params { + action?: "stashedit"; + title: string; + section?: string; + sectiontitle?: string; + text?: string; + stashedtexthash?: string; + summary?: string; + contentmodel: string; + contentformat: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + baserevid: number; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:EventStreamConfig + */ + interface StreamConfigS extends Params { + action?: "streamconfigs"; + streams?: string | string[]; + constraints?: string | string[]; + /** + * @deprecated + */ + all_settings?: boolean; + } + + interface StrikeVote extends Params { + action?: "strikevote"; + option: "strike" | "unstrike"; + reason: string; + voteid: number; + token?: string; + } + + interface SXDelete extends Params { + action?: "sxdelete"; + sectiontranslationid: number; + translationid: number; + sectionid: string; + token?: string; + } + + /** + * @private + */ + interface SXSave extends Params { + action?: "sxsave"; + sourcelanguage: string; + targetlanguage: string; + sourcetitle: string; + targettitle: string; + content: string; + sourcerevision: number; + sourcesectiontitle: string; + targetsectiontitle: string; + sectionid: string; + issandbox?: boolean; + progress: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Tag + */ + interface Tag extends Params { + action?: "tag"; + rcid?: number | number[]; + revid?: number | number[]; + logid?: number | number[]; + add?: string | string[]; + remove?: string | string[]; + reason?: string; + tags?: string | string[]; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:TemplateData + */ + interface TemplateData extends Params { + action?: "templatedata"; + includeMissingTitles?: boolean; + /** + * @deprecated + */ + doNotIgnoreMissingTitles?: boolean; + lang?: string; + titles?: string | string[]; + pageids?: number | number[]; + revids?: number | number[]; + generator?: string; + redirects?: boolean; + converttitles?: boolean; + } + + namespace TemplateData.Generator { + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories + */ + interface AllCategories extends TemplateData { + generator?: "allcategories"; + gacfrom?: string; + gaccontinue?: string; + gacto?: string; + gacprefix?: string; + gacdir?: "ascending" | "descending"; + gacmin?: number; + gacmax?: number; + gaclimit?: limit; + gacprop?: OneOrMore<"hidden" | "size">; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions + */ + interface AllDeletedRevisions extends TemplateData { + generator?: "alldeletedrevisions"; + gadrprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + gadrslots?: string | string[]; + [k: `gadrcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gadrlimit?: limit; + /** + * @deprecated + */ + gadrexpandtemplates?: boolean; + /** + * @deprecated + */ + gadrgeneratexml?: boolean; + /** + * @deprecated + */ + gadrparse?: boolean; + gadrsection?: string; + /** + * @deprecated + */ + gadrdiffto?: string; + /** + * @deprecated + */ + gadrdifftotext?: string; + /** + * @deprecated + */ + gadrdifftotextpst?: boolean; + /** + * @deprecated + */ + gadrcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gadruser?: string; + gadrnamespace?: namespace | namespace[]; + gadrstart?: timestamp; + gadrend?: timestamp; + gadrdir?: "newer" | "older"; + gadrfrom?: string; + gadrto?: string; + gadrprefix?: string; + gadrexcludeuser?: string; + gadrtag?: string; + gadrcontinue?: string; + gadrgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages + */ + interface AllFileUsages extends TemplateData { + generator?: "allfileusages"; + gafcontinue?: string; + gaffrom?: string; + gafto?: string; + gafprefix?: string; + gafunique?: boolean; + gafprop?: OneOrMore<"ids" | "title">; + gaflimit?: limit; + gafdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages + */ + interface AllImages extends TemplateData { + generator?: "allimages"; + gaisort?: "name" | "timestamp"; + gaidir?: "ascending" | "descending" | "newer" | "older"; + gaifrom?: string; + gaito?: string; + gaicontinue?: string; + gaistart?: timestamp; + gaiend?: timestamp; + gaiprop?: OneOrMore< + | "badfile" + | "bitdepth" + | "canonicaltitle" + | "comment" + | "commonmetadata" + | "dimensions" + | "extmetadata" + | "mediatype" + | "metadata" + | "mime" + | "parsedcomment" + | "sha1" + | "size" + | "timestamp" + | "url" + | "user" + | "userid" + >; + gaiprefix?: string; + gaiminsize?: number; + gaimaxsize?: number; + gaisha1?: string; + gaisha1base36?: string; + gaiuser?: string; + gaifilterbots?: "all" | "bots" | "nobots"; + gaimime?: string | string[]; + gailimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks + */ + interface AllLinks extends TemplateData { + generator?: "alllinks"; + galcontinue?: string; + galfrom?: string; + galto?: string; + galprefix?: string; + galunique?: boolean; + galprop?: OneOrMore<"ids" | "title">; + galnamespace?: namespace; + gallimit?: limit; + galdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages + */ + interface AllPages extends TemplateData { + generator?: "allpages"; + gapfrom?: string; + gapcontinue?: string; + gapto?: string; + gapprefix?: string; + gapnamespace?: namespace; + gapfilterredir?: "all" | "nonredirects" | "redirects"; + gapfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; + gapminsize?: number; + gapmaxsize?: number; + gapprtype?: OneOrMore<"edit" | "move" | "upload">; + gapprlevel?: string | string[]; + gapprfiltercascade?: "all" | "cascading" | "noncascading"; + gapprexpiry?: "all" | "definite" | "indefinite"; + gaplimit?: limit; + gapdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects + */ + interface AllRedirects extends TemplateData { + generator?: "allredirects"; + garcontinue?: string; + garfrom?: string; + garto?: string; + garprefix?: string; + garunique?: boolean; + garprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; + garnamespace?: namespace; + garlimit?: limit; + gardir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions + */ + interface AllRevisions extends TemplateData { + generator?: "allrevisions"; + garvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "oresscores" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + garvslots?: string | string[]; + [k: `garvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + garvlimit?: limit; + /** + * @deprecated + */ + garvexpandtemplates?: boolean; + /** + * @deprecated + */ + garvgeneratexml?: boolean; + /** + * @deprecated + */ + garvparse?: boolean; + garvsection?: string; + /** + * @deprecated + */ + garvdiffto?: string; + /** + * @deprecated + */ + garvdifftotext?: string; + /** + * @deprecated + */ + garvdifftotextpst?: boolean; + /** + * @deprecated + */ + garvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + garvuser?: string; + garvnamespace?: namespace | namespace[]; + garvstart?: timestamp; + garvend?: timestamp; + garvdir?: "newer" | "older"; + garvexcludeuser?: string; + garvcontinue?: string; + garvgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions + */ + interface AllTransclusions extends TemplateData { + generator?: "alltransclusions"; + gatcontinue?: string; + gatfrom?: string; + gatto?: string; + gatprefix?: string; + gatunique?: boolean; + gatprop?: OneOrMore<"ids" | "title">; + gatnamespace?: namespace; + gatlimit?: limit; + gatdir?: "ascending" | "descending"; + } + + interface AutomaticTranslationDenseLanguages extends TemplateData { + "generator"?: "automatictranslationdenselanguages"; + "gqid": string; + "gsection-titles"?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks + */ + interface Backlinks extends TemplateData { + generator?: "backlinks"; + gbltitle?: string; + gblpageid?: number; + gblcontinue?: string; + gblnamespace?: namespace | namespace[]; + gbldir?: "ascending" | "descending"; + gblfilterredir?: "all" | "nonredirects" | "redirects"; + gbllimit?: limit; + gblredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories + */ + interface Categories extends TemplateData { + generator?: "categories"; + gclprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; + gclshow?: OneOrMore<"!hidden" | "hidden">; + gcllimit?: limit; + gclcontinue?: string; + gclcategories?: string | string[]; + gcldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers + */ + interface CategoryMembers extends TemplateData { + generator?: "categorymembers"; + gcmtitle?: string; + gcmpageid?: number; + gcmprop?: OneOrMore< + "ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type" + >; + gcmnamespace?: namespace | namespace[]; + gcmtype?: OneOrMore<"file" | "page" | "subcat">; + gcmcontinue?: string; + gcmlimit?: limit; + gcmsort?: "sortkey" | "timestamp"; + gcmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; + gcmstart?: timestamp; + gcmend?: timestamp; + gcmstarthexsortkey?: string; + gcmendhexsortkey?: string; + gcmstartsortkeyprefix?: string; + gcmendsortkeyprefix?: string; + /** + * @deprecated + */ + gcmstartsortkey?: string; + /** + * @deprecated + */ + gcmendsortkey?: string; + } + + interface Configuredpages extends TemplateData { + generator?: "configuredpages"; + gcpstart?: number; + gcpend?: number; + gcpdir?: "newer" | "older"; + gcpnamespace?: namespace | namespace[]; + gcpdefault?: "latest" | "stable"; + gcpautoreview?: "none" | "sysop"; + gcplimit?: limit; + } + + interface ContentTranslation extends TemplateData { + generator?: "contenttranslation"; + gtranslationid?: string; + gfrom?: string; + gto?: string; + gsourcetitle?: string; + gsourcesectiontitle?: string; + glimit?: limit; + goffset?: string; + gtype?: "draft" | "published"; + gusecase?: + | "desktop-editor-draft" + | "translation-corpora-units" + | "unified-dashboard"; + } + + interface ContentTranslationSuggestions extends TemplateData { + generator?: "contenttranslationsuggestions"; + gfrom?: string; + gto?: string; + glistid?: string; + glimit?: limit; + goffset?: string; + gseed?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions + */ + interface DeletedRevisions extends TemplateData { + generator?: "deletedrevisions"; + gdrvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + gdrvslots?: string | string[]; + [k: `gdrvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gdrvlimit?: limit; + /** + * @deprecated + */ + gdrvexpandtemplates?: boolean; + /** + * @deprecated + */ + gdrvgeneratexml?: boolean; + /** + * @deprecated + */ + gdrvparse?: boolean; + gdrvsection?: string; + /** + * @deprecated + */ + gdrvdiffto?: string; + /** + * @deprecated + */ + gdrvdifftotext?: string; + /** + * @deprecated + */ + gdrvdifftotextpst?: boolean; + /** + * @deprecated + */ + gdrvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gdrvstart?: timestamp; + gdrvend?: timestamp; + gdrvdir?: "newer" | "older"; + gdrvtag?: string; + gdrvuser?: string; + gdrvexcludeuser?: string; + gdrvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles + */ + interface DuplicateFiles extends TemplateData { + generator?: "duplicatefiles"; + gdflimit?: limit; + gdfcontinue?: string; + gdfdir?: "ascending" | "descending"; + gdflocalonly?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin + */ + interface Embeddedin extends TemplateData { + generator?: "embeddedin"; + geititle?: string; + geipageid?: number; + geicontinue?: string; + geinamespace?: namespace | namespace[]; + geidir?: "ascending" | "descending"; + geifilterredir?: "all" | "nonredirects" | "redirects"; + geilimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage + */ + interface ExtUrlUsage extends TemplateData { + generator?: "exturlusage"; + geuprop?: OneOrMore<"ids" | "title" | "url">; + geucontinue?: string; + geuprotocol?: + | "" + | "bitcoin" + | "ftp" + | "ftps" + | "geo" + | "git" + | "gopher" + | "http" + | "https" + | "irc" + | "ircs" + | "magnet" + | "mailto" + | "matrix" + | "mms" + | "news" + | "nntp" + | "redis" + | "sftp" + | "sip" + | "sips" + | "sms" + | "ssh" + | "svn" + | "tel" + | "telnet" + | "urn" + | "worldwind" + | "xmpp"; + geuquery?: string; + geunamespace?: namespace | namespace[]; + geulimit?: limit; + /** + * @deprecated + */ + geuexpandurl?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage + */ + interface FileUsage extends TemplateData { + generator?: "fileusage"; + gfuprop?: OneOrMore<"pageid" | "redirect" | "title">; + gfunamespace?: namespace | namespace[]; + gfushow?: OneOrMore<"!redirect" | "redirect">; + gfulimit?: limit; + gfucontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch + */ + interface GeoSearch extends TemplateData { + generator?: "geosearch"; + ggscoord?: string; + ggspage?: string; + ggsbbox?: string; + ggsradius?: number; + ggsmaxdim?: number; + ggssort?: "distance" | "relevance"; + ggslimit?: limit; + ggsglobe?: "earth"; + ggsnamespace?: namespace | namespace[]; + ggsprop?: OneOrMore< + "country" | "dim" | "globe" | "name" | "region" | "type" + >; + ggsprimary?: "all" | "primary" | "secondary"; + ggsdebug?: boolean; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API + */ + interface GrowthTasks extends TemplateData { + generator?: "growthtasks"; + ggttasktypes?: OneOrMore< + | "copyedit" + | "expand" + | "image-recommendation" + | "link-recommendation" + | "links" + | "references" + | "section-image-recommendation" + | "update" + >; + ggttopics?: OneOrMore< + | "africa" + | "architecture" + | "art" + | "asia" + | "biography" + | "biology" + | "business-and-economics" + | "central-america" + | "chemistry" + | "comics-and-anime" + | "computers-and-internet" + | "earth-and-environment" + | "education" + | "engineering" + | "entertainment" + | "europe" + | "fashion" + | "food-and-drink" + | "general-science" + | "history" + | "literature" + | "mathematics" + | "medicine-and-health" + | "military-and-warfare" + | "music" + | "north-america" + | "oceania" + | "performing-arts" + | "philosophy-and-religion" + | "physics" + | "politics-and-government" + | "society" + | "south-america" + | "sports" + | "technology" + | "transportation" + | "tv-and-film" + | "video-games" + | "women" + >; + ggttopicsmode?: "AND" | "OR"; + ggtlimit?: limit; + ggtoffset?: number; + ggtdebug?: boolean; + ggtexcludepageids?: number | number[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images + */ + interface Images extends TemplateData { + generator?: "images"; + gimlimit?: limit; + gimcontinue?: string; + gimimages?: string | string[]; + gimdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage + */ + interface ImageUsage extends TemplateData { + generator?: "imageusage"; + giutitle?: string; + giupageid?: number; + giucontinue?: string; + giunamespace?: namespace | namespace[]; + giudir?: "ascending" | "descending"; + giufilterredir?: "all" | "nonredirects" | "redirects"; + giulimit?: limit; + giuredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks + */ + // tslint:disable-next-line:interface-name + interface IWBacklinks extends TemplateData { + generator?: "iwbacklinks"; + giwblprefix?: string; + giwbltitle?: string; + giwblcontinue?: string; + giwbllimit?: limit; + giwblprop?: OneOrMore<"iwprefix" | "iwtitle">; + giwbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks + */ + interface LangBacklinks extends TemplateData { + generator?: "langbacklinks"; + glbllang?: string; + glbltitle?: string; + glblcontinue?: string; + glbllimit?: limit; + glblprop?: OneOrMore<"lllang" | "lltitle">; + glbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links + */ + interface Links extends TemplateData { + generator?: "links"; + gplnamespace?: namespace | namespace[]; + gpllimit?: limit; + gplcontinue?: string; + gpltitles?: string | string[]; + gpldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere + */ + interface LinksHere extends TemplateData { + generator?: "linkshere"; + glhprop?: OneOrMore<"pageid" | "redirect" | "title">; + glhnamespace?: namespace | namespace[]; + glhshow?: OneOrMore<"!redirect" | "redirect">; + glhlimit?: limit; + glhcontinue?: string; + } + + interface MessageCollection extends TemplateData { + generator?: "messagecollection"; + gmcgroup: string; + gmclanguage?: string; + gmclimit?: limit; + gmcoffset?: string; + gmcfilter?: string | string[]; + gmcprop?: OneOrMore< + "definition" | "properties" | "tags" | "translation" | "revision" + >; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo + */ + interface MostViewed extends TemplateData { + generator?: "mostviewed"; + gpvimmetric?: "pageviews"; + gpvimlimit?: limit; + gpvimoffset?: number; + } + + interface Oldreviewedpages extends TemplateData { + generator?: "oldreviewedpages"; + gorstart?: timestamp; + gorend?: timestamp; + gordir?: "newer" | "older"; + gormaxsize?: number; + gorfilterwatched?: "all" | "watched"; + gornamespace?: namespace | namespace[]; + gorcategory?: string; + gorfilterredir?: "all" | "nonredirects" | "redirects"; + gorlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop + */ + interface PagesWithProp extends TemplateData { + generator?: "pageswithprop"; + gpwppropname: string; + gpwpprop?: OneOrMore<"ids" | "title" | "value">; + gpwpcontinue?: string; + gpwplimit?: limit; + gpwpdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch + */ + interface PrefixSearch extends TemplateData { + generator?: "prefixsearch"; + gpssearch: string; + gpsnamespace?: namespace | namespace[]; + gpslimit?: limit; + gpsoffset?: number; + gpsprofile?: + | "classic" + | "engine_autoselect" + | "fast-fuzzy" + | "fuzzy" + | "fuzzy-subphrases" + | "normal" + | "normal-subphrases" + | "strict"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments + */ + interface ProjectPages extends TemplateData { + generator?: "projectpages"; + gwppassessments?: boolean; + gwppprojects: string | string[]; + gwpplimit?: limit; + gwppcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API + */ + interface ProofreadPagesInIndex extends TemplateData { + generator?: "proofreadpagesinindex"; + gprppiiprop?: OneOrMore< + "formattedpagenumber" | "ids" | "title" | "formattedPageNumber" + >; + gprppiititle?: string; + gprppiipageid?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles + */ + interface ProtectedTitles extends TemplateData { + generator?: "protectedtitles"; + gptnamespace?: namespace | namespace[]; + gptlevel?: string | string[]; + gptlimit?: limit; + gptdir?: "newer" | "older"; + gptstart?: timestamp; + gptend?: timestamp; + gptprop?: OneOrMore< + | "comment" + | "expiry" + | "level" + | "parsedcomment" + | "timestamp" + | "user" + | "userid" + >; + gptcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage + */ + interface QueryPage extends TemplateData { + generator?: "querypage"; + gqppage: string; + gqpoffset?: number; + gqplimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random + */ + interface Random extends TemplateData { + generator?: "random"; + grnnamespace?: namespace | namespace[]; + grnfilterredir?: "all" | "nonredirects" | "redirects"; + /** + * @deprecated + */ + grnredirect?: boolean; + grnlimit?: limit; + grncontinue?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface ReadingListEntries extends TemplateData { + generator?: "readinglistentries"; + grlelists?: number | number[]; + grlechangedsince?: timestamp; + grlesort?: "name" | "updated"; + grledir?: "ascending" | "descending"; + grlelimit?: limit; + grlecontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges + */ + interface RecentChanges extends TemplateData { + generator?: "recentchanges"; + grcstart?: timestamp; + grcend?: timestamp; + grcdir?: "newer" | "older"; + grcnamespace?: namespace | namespace[]; + grcuser?: string; + grcexcludeuser?: string; + grctag?: string; + grcprop?: OneOrMore< + | "comment" + | "flags" + | "ids" + | "loginfo" + | "oresscores" + | "parsedcomment" + | "patrolled" + | "redirect" + | "sha1" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + grcshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!redirect" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "redirect" + | "unpatrolled" + >; + grclimit?: limit; + grctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + grctoponly?: boolean; + grctitle?: string; + grccontinue?: string; + grcgeneraterevisions?: boolean; + grcslot?: "main" | "mediainfo"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects + */ + interface Redirects extends TemplateData { + generator?: "redirects"; + grdprop?: OneOrMore<"fragment" | "pageid" | "title">; + grdnamespace?: namespace | namespace[]; + grdshow?: OneOrMore<"!fragment" | "fragment">; + grdlimit?: limit; + grdcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions + */ + interface Revisions extends TemplateData { + generator?: "revisions"; + grvprop?: string | string[]; + grvslots?: string | string[]; + [k: `grvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + grvlimit?: limit; + /** + * @deprecated + */ + grvexpandtemplates?: boolean; + /** + * @deprecated + */ + grvgeneratexml?: boolean; + /** + * @deprecated + */ + grvparse?: boolean; + grvsection?: string; + /** + * @deprecated + */ + grvdiffto?: string; + /** + * @deprecated + */ + grvdifftotext?: string; + /** + * @deprecated + */ + grvdifftotextpst?: boolean; + /** + * @deprecated + */ + grvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + grvstartid?: number; + grvendid?: number; + grvstart?: timestamp; + grvend?: timestamp; + grvdir?: "newer" | "older"; + grvuser?: string; + grvexcludeuser?: string; + grvtag?: string; + grvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search + */ + interface Search extends TemplateData { + generator?: "search"; + gsrsearch: string; + gsrnamespace?: namespace | namespace[]; + gsrlimit?: limit; + gsroffset?: number; + gsrqiprofile?: string; + gsrwhat?: "nearmatch" | "text" | "title"; + gsrinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; + gsrprop?: OneOrMore< + | "categorysnippet" + | "extensiondata" + | "isfilematch" + | "redirectsnippet" + | "redirecttitle" + | "sectionsnippet" + | "sectiontitle" + | "size" + | "snippet" + | "timestamp" + | "titlesnippet" + | "wordcount" + | "hasrelated" + | "score" + >; + gsrinterwiki?: boolean; + gsrenablerewrites?: boolean; + gsrsort?: + | "create_timestamp_asc" + | "create_timestamp_desc" + | "incoming_links_asc" + | "incoming_links_desc" + | "just_match" + | "last_edit_asc" + | "last_edit_desc" + | "none" + | "random" + | "relevance" + | "user_random"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates + */ + interface Templates extends TemplateData { + generator?: "templates"; + gtlnamespace?: namespace | namespace[]; + gtllimit?: limit; + gtlcontinue?: string; + gtltemplates?: string | string[]; + gtldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin + */ + interface Transcludedin extends TemplateData { + generator?: "transcludedin"; + gtiprop?: OneOrMore<"pageid" | "redirect" | "title">; + gtinamespace?: namespace | namespace[]; + gtishow?: OneOrMore<"!redirect" | "redirect">; + gtilimit?: limit; + gticontinue?: string; + } + + interface Unreviewedpages extends TemplateData { + generator?: "unreviewedpages"; + gurstart?: string; + gurend?: string; + gurdir?: "ascending" | "descending"; + gurnamespace?: namespace | namespace[]; + gurfilterredir?: "all" | "nonredirects" | "redirects"; + gurfilterlevel?: number; + gurlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist + */ + interface Watchlist extends TemplateData { + generator?: "watchlist"; + gwlallrev?: boolean; + gwlstart?: timestamp; + gwlend?: timestamp; + gwlnamespace?: namespace | namespace[]; + gwluser?: string; + gwlexcludeuser?: string; + gwldir?: "newer" | "older"; + gwllimit?: limit; + gwlprop?: OneOrMore< + | "comment" + | "expiry" + | "flags" + | "ids" + | "loginfo" + | "notificationtimestamp" + | "oresscores" + | "parsedcomment" + | "patrol" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + gwlshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!unread" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "unread" + >; + gwltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + gwlowner?: string; + gwltoken?: string; + gwlcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw + */ + interface WatchlistRaw extends TemplateData { + generator?: "watchlistraw"; + gwrcontinue?: string; + gwrnamespace?: namespace | namespace[]; + gwrlimit?: limit; + gwrprop?: OneOrMore<"changed">; + gwrshow?: OneOrMore<"!changed" | "changed">; + gwrowner?: string; + gwrtoken?: string; + gwrdir?: "ascending" | "descending"; + gwrfromtitle?: string; + gwrtotitle?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API + */ + interface WBListEntityUsage extends TemplateData { + generator?: "wblistentityusage"; + gwbleuprop?: OneOrMore<"url">; + gwbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; + gwbleuentities: string | string[]; + gwbleulimit?: limit; + gwbleucontinue?: string; + } + + /** + * @private + */ + interface WBSearch extends TemplateData { + generator?: "wbsearch"; + gwbssearch: string; + gwbslanguage?: string; + gwbsstrictlanguage?: boolean; + gwbstype?: string; + gwbslimit?: limit; + gwbsprofile?: "default" | "language"; + } + + interface WikiLambdaFnSearch extends TemplateData { + generator?: "wikilambdafn_search"; + gwikilambdafn_zfunction_id?: string; + gwikilambdafn_type?: string; + gwikilambdafn_limit?: limit; + gwikilambdafn_continue?: string; + } + + interface WikiLambdaLoadZObjects extends TemplateData { + generator?: "wikilambdaload_zobjects"; + gwikilambdaload_zids: string | string[]; + gwikilambdaload_revisions?: string | string[]; + gwikilambdaload_language?: string; + gwikilambdaload_get_dependencies?: boolean; + } + + interface WikiLambdaSearchLabels extends TemplateData { + generator?: "wikilambdasearch_labels"; + gwikilambdasearch_search?: string; + gwikilambdasearch_language: string; + gwikilambdasearch_nofallback?: boolean; + gwikilambdasearch_exact?: boolean; + gwikilambdasearch_type?: string; + gwikilambdasearch_return_type?: string; + gwikilambdasearch_strict_return_type?: boolean; + gwikilambdasearch_limit?: limit; + gwikilambdasearch_continue?: string; + } + } + + /** + * @see https://www.mediawiki.org/wiki/Extension:Thanks#API_Documentation + */ + interface Thank extends Params { + action?: "thank"; + rev?: number; + log?: number; + token?: string; + source?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Threadaction + */ + interface ThreadAction extends Params { + action?: "threadaction"; + thread?: string | string[]; + talkpage?: string; + threadaction: + | "addreaction" + | "deletereaction" + | "edit" + | "inlineeditform" + | "markread" + | "markunread" + | "merge" + | "newthread" + | "reply" + | "setsortkey" + | "setsubject" + | "split"; + token?: string; + subject?: string; + reason?: string; + newparent?: string; + text?: string; + render?: string; + bump?: string; + sortkey?: string; + signature?: string; + type?: string; + value?: string; + method?: string; + operand?: string; + captchaword?: string; + captchaid?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:TimedMediaHandler + */ + interface TimedText extends Params { + action?: "timedtext"; + title?: string; + pageid?: number; + trackformat: "srt" | "vtt"; + lang?: string; + } + + interface TitleBlacklist extends Params { + action?: "titleblacklist"; + tbtitle: string; + tbaction?: + | "create" + | "createpage" + | "createtalk" + | "edit" + | "move" + | "new-account" + | "upload"; + tbnooverride?: boolean; + } + + interface TorBlock extends Params { + action?: "torblock"; + ip: string; + } + + interface TranscodeReset extends Params { + action?: "transcodereset"; + title: string; + transcodekey?: string; + token?: string; + } + + interface TranslationAids extends Params { + action?: "translationaids"; + title: string; + group?: string; + prop?: OneOrMore< + | "definition" + | "definitiondiff" + | "documentation" + | "editsummaries" + | "gettext" + | "groups" + | "inotherlanguages" + | "insertables" + | "mt" + | "support" + | "translation" + | "ttmserver" + >; + } + + /** + * @private + */ + interface TranslationCheck extends Params { + action?: "translationcheck"; + title: string; + translation: string; + } + + /** + * @private + */ + interface TranslationEntitySearch extends Params { + action?: "translationentitysearch"; + entitytype?: OneOrMore<"groups" | "messages">; + query?: string; + limit?: limit; + grouptypes?: OneOrMore< + "aggregate-groups" | "message-bundles" | "translatable-pages" + >; + } + + interface TranslationReview extends Params { + action?: "translationreview"; + revision: number; + token?: string; + } + + interface TranslationStats extends Params { + action?: "translationstats"; + count: "edits" | "reviewers" | "reviews" | "users"; + days: number; + group?: string | string[]; + language?: string | string[]; + scale?: "days" | "hours" | "months" | "weeks" | "years"; + start?: timestamp; + } + + interface TtmServer extends Params { + action?: "ttmserver"; + service?: never; + sourcelanguage: string; + targetlanguage: string; + text: string; + } + + /** + * @private + */ + interface ULSLocalization extends Params { + action?: "ulslocalization"; + language: string; + } + + /** + * @private + */ + interface ULSSetLang extends Params { + action?: "ulssetlang"; + languagecode: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Block + */ + interface Unblock extends Params { + action?: "unblock"; + id?: number; + user?: string; + /** + * @deprecated + */ + userid?: number; + reason?: string; + tags?: string | string[]; + watchuser?: boolean; + watchlistexpiry?: expiry; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Undelete + */ + interface Undelete extends Params { + action?: "undelete"; + title: string; + reason?: string; + tags?: string | string[]; + timestamps?: timestamp | timestamp[]; + fileids?: number | number[]; + undeletetalk?: boolean; + watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; + watchlistexpiry?: expiry; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Manage_authentication_data + */ + interface UnlinkAccount extends Params { + action?: "unlinkaccount"; + request: string; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Upload + */ + interface Upload extends Params { + action?: "upload"; + filename?: string; + comment?: string; + tags?: string | string[]; + text?: string; + /** + * @deprecated + */ + watch?: boolean; + watchlist?: "nochange" | "preferences" | "watch"; + watchlistexpiry?: expiry; + ignorewarnings?: boolean; + file?: upload; + url?: string; + filekey?: string; + /** + * @deprecated + */ + sessionkey?: string; + stash?: boolean; + filesize?: number; + offset?: number; + chunk?: upload; + async?: boolean; + checkstatus?: boolean; + token?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:User_group_membership + */ + interface Userrights extends Params { + action?: "userrights"; + user?: string; + /** + * @deprecated + */ + userid?: number; + add?: string | string[]; + expiry?: string | string[]; + remove?: string | string[]; + reason?: string; + token?: string; + tags?: string | string[]; + watchuser?: boolean; + watchlistexpiry?: expiry; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Validatepassword + */ + interface ValidatePassword extends Params { + action?: "validatepassword"; + password?: password; + user?: string; + email?: string; + realname?: string; + } + + /** + * @private + */ + interface VisualEditor extends Params { + action?: "visualeditor"; + page: string; + badetag?: string; + format?: "json" | "jsonfm"; + paction: "metadata" | "parse" | "parsefragment" | "templatesused" | "wikitext"; + wikitext?: string; + section?: string; + stash?: boolean; + oldid?: number; + editintro?: string; + pst?: boolean; + preload?: string; + preloadparams?: string | string[]; + } + + /** + * @private + */ + interface VisualEditorEdit extends Params { + action?: "visualeditoredit"; + paction: "diff" | "save" | "serialize" | "serializeforcache"; + page: string; + token?: string; + wikitext?: string; + section?: string; + sectiontitle?: string; + basetimestamp?: timestamp; + starttimestamp?: timestamp; + oldid?: number; + minor?: string; + watchlist?: string; + html?: string; + etag?: string; + summary?: string; + captchaid?: string; + captchaword?: string; + cachekey?: string; + nocontent?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + useskin?: string; + tags?: string | string[]; + plugins?: string | string[]; + [k: `data-${string}`]: string; + mobileformat?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watch + */ + interface Watch extends Params { + action?: "watch"; + /** + * @deprecated + */ + title?: string; + expiry?: expiry; + unwatch?: boolean; + continue?: string; + titles?: string | string[]; + pageids?: number | number[]; + revids?: number | number[]; + generator?: string; + redirects?: boolean; + converttitles?: boolean; + token?: string; + } + + namespace Watch.Generator { + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories + */ + interface AllCategories extends Watch { + generator?: "allcategories"; + gacfrom?: string; + gaccontinue?: string; + gacto?: string; + gacprefix?: string; + gacdir?: "ascending" | "descending"; + gacmin?: number; + gacmax?: number; + gaclimit?: limit; + gacprop?: OneOrMore<"hidden" | "size">; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions + */ + interface AllDeletedRevisions extends Watch { + generator?: "alldeletedrevisions"; + gadrprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + gadrslots?: string | string[]; + [k: `gadrcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gadrlimit?: limit; + /** + * @deprecated + */ + gadrexpandtemplates?: boolean; + /** + * @deprecated + */ + gadrgeneratexml?: boolean; + /** + * @deprecated + */ + gadrparse?: boolean; + gadrsection?: string; + /** + * @deprecated + */ + gadrdiffto?: string; + /** + * @deprecated + */ + gadrdifftotext?: string; + /** + * @deprecated + */ + gadrdifftotextpst?: boolean; + /** + * @deprecated + */ + gadrcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gadruser?: string; + gadrnamespace?: namespace | namespace[]; + gadrstart?: timestamp; + gadrend?: timestamp; + gadrdir?: "newer" | "older"; + gadrfrom?: string; + gadrto?: string; + gadrprefix?: string; + gadrexcludeuser?: string; + gadrtag?: string; + gadrcontinue?: string; + gadrgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages + */ + interface AllFileUsages extends Watch { + generator?: "allfileusages"; + gafcontinue?: string; + gaffrom?: string; + gafto?: string; + gafprefix?: string; + gafunique?: boolean; + gafprop?: OneOrMore<"ids" | "title">; + gaflimit?: limit; + gafdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages + */ + interface AllImages extends Watch { + generator?: "allimages"; + gaisort?: "name" | "timestamp"; + gaidir?: "ascending" | "descending" | "newer" | "older"; + gaifrom?: string; + gaito?: string; + gaicontinue?: string; + gaistart?: timestamp; + gaiend?: timestamp; + gaiprop?: OneOrMore< + | "badfile" + | "bitdepth" + | "canonicaltitle" + | "comment" + | "commonmetadata" + | "dimensions" + | "extmetadata" + | "mediatype" + | "metadata" + | "mime" + | "parsedcomment" + | "sha1" + | "size" + | "timestamp" + | "url" + | "user" + | "userid" + >; + gaiprefix?: string; + gaiminsize?: number; + gaimaxsize?: number; + gaisha1?: string; + gaisha1base36?: string; + gaiuser?: string; + gaifilterbots?: "all" | "bots" | "nobots"; + gaimime?: string | string[]; + gailimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks + */ + interface AllLinks extends Watch { + generator?: "alllinks"; + galcontinue?: string; + galfrom?: string; + galto?: string; + galprefix?: string; + galunique?: boolean; + galprop?: OneOrMore<"ids" | "title">; + galnamespace?: namespace; + gallimit?: limit; + galdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages + */ + interface AllPages extends Watch { + generator?: "allpages"; + gapfrom?: string; + gapcontinue?: string; + gapto?: string; + gapprefix?: string; + gapnamespace?: namespace; + gapfilterredir?: "all" | "nonredirects" | "redirects"; + gapfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; + gapminsize?: number; + gapmaxsize?: number; + gapprtype?: OneOrMore<"edit" | "move" | "upload">; + gapprlevel?: string | string[]; + gapprfiltercascade?: "all" | "cascading" | "noncascading"; + gapprexpiry?: "all" | "definite" | "indefinite"; + gaplimit?: limit; + gapdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects + */ + interface AllRedirects extends Watch { + generator?: "allredirects"; + garcontinue?: string; + garfrom?: string; + garto?: string; + garprefix?: string; + garunique?: boolean; + garprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; + garnamespace?: namespace; + garlimit?: limit; + gardir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions + */ + interface AllRevisions extends Watch { + generator?: "allrevisions"; + garvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "oresscores" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + garvslots?: string | string[]; + [k: `garvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + garvlimit?: limit; + /** + * @deprecated + */ + garvexpandtemplates?: boolean; + /** + * @deprecated + */ + garvgeneratexml?: boolean; + /** + * @deprecated + */ + garvparse?: boolean; + garvsection?: string; + /** + * @deprecated + */ + garvdiffto?: string; + /** + * @deprecated + */ + garvdifftotext?: string; + /** + * @deprecated + */ + garvdifftotextpst?: boolean; + /** + * @deprecated + */ + garvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + garvuser?: string; + garvnamespace?: namespace | namespace[]; + garvstart?: timestamp; + garvend?: timestamp; + garvdir?: "newer" | "older"; + garvexcludeuser?: string; + garvcontinue?: string; + garvgeneratetitles?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions + */ + interface AllTransclusions extends Watch { + generator?: "alltransclusions"; + gatcontinue?: string; + gatfrom?: string; + gatto?: string; + gatprefix?: string; + gatunique?: boolean; + gatprop?: OneOrMore<"ids" | "title">; + gatnamespace?: namespace; + gatlimit?: limit; + gatdir?: "ascending" | "descending"; + } + + interface AutomaticTranslationDenseLanguages extends Watch { + "generator"?: "automatictranslationdenselanguages"; + "gqid": string; + "gsection-titles"?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks + */ + interface Backlinks extends Watch { + generator?: "backlinks"; + gbltitle?: string; + gblpageid?: number; + gblcontinue?: string; + gblnamespace?: namespace | namespace[]; + gbldir?: "ascending" | "descending"; + gblfilterredir?: "all" | "nonredirects" | "redirects"; + gbllimit?: limit; + gblredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories + */ + interface Categories extends Watch { + generator?: "categories"; + gclprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; + gclshow?: OneOrMore<"!hidden" | "hidden">; + gcllimit?: limit; + gclcontinue?: string; + gclcategories?: string | string[]; + gcldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers + */ + interface CategoryMembers extends Watch { + generator?: "categorymembers"; + gcmtitle?: string; + gcmpageid?: number; + gcmprop?: OneOrMore< + "ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type" + >; + gcmnamespace?: namespace | namespace[]; + gcmtype?: OneOrMore<"file" | "page" | "subcat">; + gcmcontinue?: string; + gcmlimit?: limit; + gcmsort?: "sortkey" | "timestamp"; + gcmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; + gcmstart?: timestamp; + gcmend?: timestamp; + gcmstarthexsortkey?: string; + gcmendhexsortkey?: string; + gcmstartsortkeyprefix?: string; + gcmendsortkeyprefix?: string; + /** + * @deprecated + */ + gcmstartsortkey?: string; + /** + * @deprecated + */ + gcmendsortkey?: string; + } + + interface Configuredpages extends Watch { + generator?: "configuredpages"; + gcpstart?: number; + gcpend?: number; + gcpdir?: "newer" | "older"; + gcpnamespace?: namespace | namespace[]; + gcpdefault?: "latest" | "stable"; + gcpautoreview?: "none" | "sysop"; + gcplimit?: limit; + } + + interface ContentTranslation extends Watch { + generator?: "contenttranslation"; + gtranslationid?: string; + gfrom?: string; + gto?: string; + gsourcetitle?: string; + gsourcesectiontitle?: string; + glimit?: limit; + goffset?: string; + gtype?: "draft" | "published"; + gusecase?: + | "desktop-editor-draft" + | "translation-corpora-units" + | "unified-dashboard"; + } + + interface ContentTranslationSuggestions extends Watch { + generator?: "contenttranslationsuggestions"; + gfrom?: string; + gto?: string; + glistid?: string; + glimit?: limit; + goffset?: string; + gseed?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions + */ + interface DeletedRevisions extends Watch { + generator?: "deletedrevisions"; + gdrvprop?: OneOrMore< + | "comment" + | "content" + | "contentmodel" + | "flags" + | "ids" + | "parsedcomment" + | "roles" + | "sha1" + | "size" + | "slotsha1" + | "slotsize" + | "tags" + | "timestamp" + | "user" + | "userid" + | "parsetree" + >; + gdrvslots?: string | string[]; + [k: `gdrvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gdrvlimit?: limit; + /** + * @deprecated + */ + gdrvexpandtemplates?: boolean; + /** + * @deprecated + */ + gdrvgeneratexml?: boolean; + /** + * @deprecated + */ + gdrvparse?: boolean; + gdrvsection?: string; + /** + * @deprecated + */ + gdrvdiffto?: string; + /** + * @deprecated + */ + gdrvdifftotext?: string; + /** + * @deprecated + */ + gdrvdifftotextpst?: boolean; + /** + * @deprecated + */ + gdrvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + gdrvstart?: timestamp; + gdrvend?: timestamp; + gdrvdir?: "newer" | "older"; + gdrvtag?: string; + gdrvuser?: string; + gdrvexcludeuser?: string; + gdrvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles + */ + interface DuplicateFiles extends Watch { + generator?: "duplicatefiles"; + gdflimit?: limit; + gdfcontinue?: string; + gdfdir?: "ascending" | "descending"; + gdflocalonly?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin + */ + interface Embeddedin extends Watch { + generator?: "embeddedin"; + geititle?: string; + geipageid?: number; + geicontinue?: string; + geinamespace?: namespace | namespace[]; + geidir?: "ascending" | "descending"; + geifilterredir?: "all" | "nonredirects" | "redirects"; + geilimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage + */ + interface ExtUrlUsage extends Watch { + generator?: "exturlusage"; + geuprop?: OneOrMore<"ids" | "title" | "url">; + geucontinue?: string; + geuprotocol?: + | "" + | "bitcoin" + | "ftp" + | "ftps" + | "geo" + | "git" + | "gopher" + | "http" + | "https" + | "irc" + | "ircs" + | "magnet" + | "mailto" + | "matrix" + | "mms" + | "news" + | "nntp" + | "redis" + | "sftp" + | "sip" + | "sips" + | "sms" + | "ssh" + | "svn" + | "tel" + | "telnet" + | "urn" + | "worldwind" + | "xmpp"; + geuquery?: string; + geunamespace?: namespace | namespace[]; + geulimit?: limit; + /** + * @deprecated + */ + geuexpandurl?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage + */ + interface FileUsage extends Watch { + generator?: "fileusage"; + gfuprop?: OneOrMore<"pageid" | "redirect" | "title">; + gfunamespace?: namespace | namespace[]; + gfushow?: OneOrMore<"!redirect" | "redirect">; + gfulimit?: limit; + gfucontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch + */ + interface GeoSearch extends Watch { + generator?: "geosearch"; + ggscoord?: string; + ggspage?: string; + ggsbbox?: string; + ggsradius?: number; + ggsmaxdim?: number; + ggssort?: "distance" | "relevance"; + ggslimit?: limit; + ggsglobe?: "earth"; + ggsnamespace?: namespace | namespace[]; + ggsprop?: OneOrMore< + "country" | "dim" | "globe" | "name" | "region" | "type" + >; + ggsprimary?: "all" | "primary" | "secondary"; + ggsdebug?: boolean; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API + */ + interface GrowthTasks extends Watch { + generator?: "growthtasks"; + ggttasktypes?: OneOrMore< + | "copyedit" + | "expand" + | "image-recommendation" + | "link-recommendation" + | "links" + | "references" + | "section-image-recommendation" + | "update" + >; + ggttopics?: OneOrMore< + | "africa" + | "architecture" + | "art" + | "asia" + | "biography" + | "biology" + | "business-and-economics" + | "central-america" + | "chemistry" + | "comics-and-anime" + | "computers-and-internet" + | "earth-and-environment" + | "education" + | "engineering" + | "entertainment" + | "europe" + | "fashion" + | "food-and-drink" + | "general-science" + | "history" + | "literature" + | "mathematics" + | "medicine-and-health" + | "military-and-warfare" + | "music" + | "north-america" + | "oceania" + | "performing-arts" + | "philosophy-and-religion" + | "physics" + | "politics-and-government" + | "society" + | "south-america" + | "sports" + | "technology" + | "transportation" + | "tv-and-film" + | "video-games" + | "women" + >; + ggttopicsmode?: "AND" | "OR"; + ggtlimit?: limit; + ggtoffset?: number; + ggtdebug?: boolean; + ggtexcludepageids?: number | number[]; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images + */ + interface Images extends Watch { + generator?: "images"; + gimlimit?: limit; + gimcontinue?: string; + gimimages?: string | string[]; + gimdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage + */ + interface ImageUsage extends Watch { + generator?: "imageusage"; + giutitle?: string; + giupageid?: number; + giucontinue?: string; + giunamespace?: namespace | namespace[]; + giudir?: "ascending" | "descending"; + giufilterredir?: "all" | "nonredirects" | "redirects"; + giulimit?: limit; + giuredirect?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks + */ + // tslint:disable-next-line:interface-name + interface IWBacklinks extends Watch { + generator?: "iwbacklinks"; + giwblprefix?: string; + giwbltitle?: string; + giwblcontinue?: string; + giwbllimit?: limit; + giwblprop?: OneOrMore<"iwprefix" | "iwtitle">; + giwbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks + */ + interface LangBacklinks extends Watch { + generator?: "langbacklinks"; + glbllang?: string; + glbltitle?: string; + glblcontinue?: string; + glbllimit?: limit; + glblprop?: OneOrMore<"lllang" | "lltitle">; + glbldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links + */ + interface Links extends Watch { + generator?: "links"; + gplnamespace?: namespace | namespace[]; + gpllimit?: limit; + gplcontinue?: string; + gpltitles?: string | string[]; + gpldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere + */ + interface LinksHere extends Watch { + generator?: "linkshere"; + glhprop?: OneOrMore<"pageid" | "redirect" | "title">; + glhnamespace?: namespace | namespace[]; + glhshow?: OneOrMore<"!redirect" | "redirect">; + glhlimit?: limit; + glhcontinue?: string; + } + + interface MessageCollection extends Watch { + generator?: "messagecollection"; + gmcgroup: string; + gmclanguage?: string; + gmclimit?: limit; + gmcoffset?: string; + gmcfilter?: string | string[]; + gmcprop?: OneOrMore< + "definition" | "properties" | "tags" | "translation" | "revision" + >; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo + */ + interface MostViewed extends Watch { + generator?: "mostviewed"; + gpvimmetric?: "pageviews"; + gpvimlimit?: limit; + gpvimoffset?: number; + } + + interface Oldreviewedpages extends Watch { + generator?: "oldreviewedpages"; + gorstart?: timestamp; + gorend?: timestamp; + gordir?: "newer" | "older"; + gormaxsize?: number; + gorfilterwatched?: "all" | "watched"; + gornamespace?: namespace | namespace[]; + gorcategory?: string; + gorfilterredir?: "all" | "nonredirects" | "redirects"; + gorlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop + */ + interface PagesWithProp extends Watch { + generator?: "pageswithprop"; + gpwppropname: string; + gpwpprop?: OneOrMore<"ids" | "title" | "value">; + gpwpcontinue?: string; + gpwplimit?: limit; + gpwpdir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch + */ + interface PrefixSearch extends Watch { + generator?: "prefixsearch"; + gpssearch: string; + gpsnamespace?: namespace | namespace[]; + gpslimit?: limit; + gpsoffset?: number; + gpsprofile?: + | "classic" + | "engine_autoselect" + | "fast-fuzzy" + | "fuzzy" + | "fuzzy-subphrases" + | "normal" + | "normal-subphrases" + | "strict"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments + */ + interface ProjectPages extends Watch { + generator?: "projectpages"; + gwppassessments?: boolean; + gwppprojects: string | string[]; + gwpplimit?: limit; + gwppcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API + */ + interface ProofreadPagesInIndex extends Watch { + generator?: "proofreadpagesinindex"; + gprppiiprop?: OneOrMore< + "formattedpagenumber" | "ids" | "title" | "formattedPageNumber" + >; + gprppiititle?: string; + gprppiipageid?: number; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles + */ + interface ProtectedTitles extends Watch { + generator?: "protectedtitles"; + gptnamespace?: namespace | namespace[]; + gptlevel?: string | string[]; + gptlimit?: limit; + gptdir?: "newer" | "older"; + gptstart?: timestamp; + gptend?: timestamp; + gptprop?: OneOrMore< + | "comment" + | "expiry" + | "level" + | "parsedcomment" + | "timestamp" + | "user" + | "userid" + >; + gptcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage + */ + interface QueryPage extends Watch { + generator?: "querypage"; + gqppage: string; + gqpoffset?: number; + gqplimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random + */ + interface Random extends Watch { + generator?: "random"; + grnnamespace?: namespace | namespace[]; + grnfilterredir?: "all" | "nonredirects" | "redirects"; + /** + * @deprecated + */ + grnredirect?: boolean; + grnlimit?: limit; + grncontinue?: string; + } + + /** + * @private + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API + */ + interface ReadingListEntries extends Watch { + generator?: "readinglistentries"; + grlelists?: number | number[]; + grlechangedsince?: timestamp; + grlesort?: "name" | "updated"; + grledir?: "ascending" | "descending"; + grlelimit?: limit; + grlecontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges + */ + interface RecentChanges extends Watch { + generator?: "recentchanges"; + grcstart?: timestamp; + grcend?: timestamp; + grcdir?: "newer" | "older"; + grcnamespace?: namespace | namespace[]; + grcuser?: string; + grcexcludeuser?: string; + grctag?: string; + grcprop?: OneOrMore< + | "comment" + | "flags" + | "ids" + | "loginfo" + | "oresscores" + | "parsedcomment" + | "patrolled" + | "redirect" + | "sha1" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + grcshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!redirect" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "redirect" + | "unpatrolled" + >; + grclimit?: limit; + grctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + grctoponly?: boolean; + grctitle?: string; + grccontinue?: string; + grcgeneraterevisions?: boolean; + grcslot?: "main" | "mediainfo"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects + */ + interface Redirects extends Watch { + generator?: "redirects"; + grdprop?: OneOrMore<"fragment" | "pageid" | "title">; + grdnamespace?: namespace | namespace[]; + grdshow?: OneOrMore<"!fragment" | "fragment">; + grdlimit?: limit; + grdcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions + */ + interface Revisions extends Watch { + generator?: "revisions"; + grvprop?: string | string[]; + grvslots?: string | string[]; + [k: `grvcontentformat-${string}`]: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + grvlimit?: limit; + /** + * @deprecated + */ + grvexpandtemplates?: boolean; + /** + * @deprecated + */ + grvgeneratexml?: boolean; + /** + * @deprecated + */ + grvparse?: boolean; + grvsection?: string; + /** + * @deprecated + */ + grvdiffto?: string; + /** + * @deprecated + */ + grvdifftotext?: string; + /** + * @deprecated + */ + grvdifftotextpst?: boolean; + /** + * @deprecated + */ + grvcontentformat?: + | "application/json" + | "application/octet-stream" + | "application/unknown" + | "application/vnd.php.serialized" + | "application/x-binary" + | "text/css" + | "text/javascript" + | "text/plain" + | "text/unknown" + | "text/x-wiki" + | "unknown/unknown"; + grvstartid?: number; + grvendid?: number; + grvstart?: timestamp; + grvend?: timestamp; + grvdir?: "newer" | "older"; + grvuser?: string; + grvexcludeuser?: string; + grvtag?: string; + grvcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search + */ + interface Search extends Watch { + generator?: "search"; + gsrsearch: string; + gsrnamespace?: namespace | namespace[]; + gsrlimit?: limit; + gsroffset?: number; + gsrqiprofile?: string; + gsrwhat?: "nearmatch" | "text" | "title"; + gsrinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; + gsrprop?: OneOrMore< + | "categorysnippet" + | "extensiondata" + | "isfilematch" + | "redirectsnippet" + | "redirecttitle" + | "sectionsnippet" + | "sectiontitle" + | "size" + | "snippet" + | "timestamp" + | "titlesnippet" + | "wordcount" + | "hasrelated" + | "score" + >; + gsrinterwiki?: boolean; + gsrenablerewrites?: boolean; + gsrsort?: + | "create_timestamp_asc" + | "create_timestamp_desc" + | "incoming_links_asc" + | "incoming_links_desc" + | "just_match" + | "last_edit_asc" + | "last_edit_desc" + | "none" + | "random" + | "relevance" + | "user_random"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates + */ + interface Templates extends Watch { + generator?: "templates"; + gtlnamespace?: namespace | namespace[]; + gtllimit?: limit; + gtlcontinue?: string; + gtltemplates?: string | string[]; + gtldir?: "ascending" | "descending"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin + */ + interface Transcludedin extends Watch { + generator?: "transcludedin"; + gtiprop?: OneOrMore<"pageid" | "redirect" | "title">; + gtinamespace?: namespace | namespace[]; + gtishow?: OneOrMore<"!redirect" | "redirect">; + gtilimit?: limit; + gticontinue?: string; + } + + interface Unreviewedpages extends Watch { + generator?: "unreviewedpages"; + gurstart?: string; + gurend?: string; + gurdir?: "ascending" | "descending"; + gurnamespace?: namespace | namespace[]; + gurfilterredir?: "all" | "nonredirects" | "redirects"; + gurfilterlevel?: number; + gurlimit?: limit; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist + */ + interface Watchlist extends Watch { + generator?: "watchlist"; + gwlallrev?: boolean; + gwlstart?: timestamp; + gwlend?: timestamp; + gwlnamespace?: namespace | namespace[]; + gwluser?: string; + gwlexcludeuser?: string; + gwldir?: "newer" | "older"; + gwllimit?: limit; + gwlprop?: OneOrMore< + | "comment" + | "expiry" + | "flags" + | "ids" + | "loginfo" + | "notificationtimestamp" + | "oresscores" + | "parsedcomment" + | "patrol" + | "sizes" + | "tags" + | "timestamp" + | "title" + | "user" + | "userid" + >; + gwlshow?: OneOrMore< + | "!anon" + | "!autopatrolled" + | "!bot" + | "!minor" + | "!oresreview" + | "!patrolled" + | "!unread" + | "anon" + | "autopatrolled" + | "bot" + | "minor" + | "oresreview" + | "patrolled" + | "unread" + >; + gwltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; + gwlowner?: string; + gwltoken?: string; + gwlcontinue?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw + */ + interface WatchlistRaw extends Watch { + generator?: "watchlistraw"; + gwrcontinue?: string; + gwrnamespace?: namespace | namespace[]; + gwrlimit?: limit; + gwrprop?: OneOrMore<"changed">; + gwrshow?: OneOrMore<"!changed" | "changed">; + gwrowner?: string; + gwrtoken?: string; + gwrdir?: "ascending" | "descending"; + gwrfromtitle?: string; + gwrtotitle?: string; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API + */ + interface WBListEntityUsage extends Watch { + generator?: "wblistentityusage"; + gwbleuprop?: OneOrMore<"url">; + gwbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; + gwbleuentities: string | string[]; + gwbleulimit?: limit; + gwbleucontinue?: string; + } + + /** + * @private + */ + interface WBSearch extends Watch { + generator?: "wbsearch"; + gwbssearch: string; + gwbslanguage?: string; + gwbsstrictlanguage?: boolean; + gwbstype?: string; + gwbslimit?: limit; + gwbsprofile?: "default" | "language"; + } + + interface WikiLambdaFnSearch extends Watch { + generator?: "wikilambdafn_search"; + gwikilambdafn_zfunction_id?: string; + gwikilambdafn_type?: string; + gwikilambdafn_limit?: limit; + gwikilambdafn_continue?: string; + } + + interface WikiLambdaLoadZObjects extends Watch { + generator?: "wikilambdaload_zobjects"; + gwikilambdaload_zids: string | string[]; + gwikilambdaload_revisions?: string | string[]; + gwikilambdaload_language?: string; + gwikilambdaload_get_dependencies?: boolean; + } + + interface WikiLambdaSearchLabels extends Watch { + generator?: "wikilambdasearch_labels"; + gwikilambdasearch_search?: string; + gwikilambdasearch_language: string; + gwikilambdasearch_nofallback?: boolean; + gwikilambdasearch_exact?: boolean; + gwikilambdasearch_type?: string; + gwikilambdasearch_return_type?: string; + gwikilambdasearch_strict_return_type?: boolean; + gwikilambdasearch_limit?: limit; + gwikilambdasearch_continue?: string; + } + } + + interface WBAvailableBadges extends Params { + action?: "wbavailablebadges"; + } + + interface WBCheckConstraintParameters extends Params { + action?: "wbcheckconstraintparameters"; + propertyid?: string | string[]; + constraintid?: string | string[]; + } + + interface WBCheckConstraints extends Params { + action?: "wbcheckconstraints"; + id?: string | string[]; + claimid?: string | string[]; + constraintid?: string | string[]; + status?: OneOrMore< + | "bad-parameters" + | "compliance" + | "deprecated" + | "exception" + | "not-in-scope" + | "suggestion" + | "todo" + | "violation" + | "warning" + | "*" + >; + } + + interface WBCreateClaim extends Params { + action?: "wbcreateclaim"; + entity: string; + snaktype: "novalue" | "somevalue" | "value"; + property: string; + value?: string; + summary?: string; + tags?: string | string[]; + token?: string; + baserevid?: number; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + } + + interface WBCreateRedirect extends Params { + action?: "wbcreateredirect"; + from: string; + to: string; + token?: string; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + } + + interface WBEditEntity extends Params { + action?: "wbeditentity"; + id?: string; + new?: string; + site?: string; + title?: string; + baserevid?: number; + summary?: string; + tags?: string | string[]; + token?: string; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + data: string; + clear?: boolean; + } + + interface WBFormatEntities extends Params { + action?: "wbformatentities"; + ids?: string | string[]; + } + + /** + * @private + */ + interface WBFormatReference extends Params { + action?: "wbformatreference"; + reference: string; + style: "internal-data-bridge"; + outputformat: "html"; + } + + interface WBFormatValue extends Params { + action?: "wbformatvalue"; + generate?: + | "text/html" + | "text/html; disposition=verbose" + | "text/html; disposition=verbose-preview" + | "text/plain" + | "text/x-wiki"; + datavalue: string; + datatype?: + | "commonsMedia" + | "entity-schema" + | "external-id" + | "geo-shape" + | "globe-coordinate" + | "math" + | "monolingualtext" + | "musical-notation" + | "quantity" + | "string" + | "tabular-data" + | "time" + | "url" + | "wikibase-form" + | "wikibase-item" + | "wikibase-lexeme" + | "wikibase-property" + | "wikibase-sense"; + property?: string; + options?: string; + } + + interface WBGetClaims extends Params { + action?: "wbgetclaims"; + entity?: string; + property?: string; + claim?: string; + rank?: "deprecated" | "normal" | "preferred"; + props?: OneOrMore<"references">; + } + + interface WBGetEntities extends Params { + action?: "wbgetentities"; + ids?: string | string[]; + sites?: string | string[]; + titles?: string | string[]; + redirects?: "no" | "yes"; + props?: OneOrMore< + | "aliases" + | "claims" + | "datatype" + | "descriptions" + | "info" + | "labels" + | "sitelinks" + | "sitelinks/urls" + >; + languages?: string | string[]; + languagefallback?: boolean; + normalize?: boolean; + sitefilter?: string | string[]; + } + + /** + * @private + */ + interface WBLAddForm extends Params { + action?: "wbladdform"; + lexemeId: string; + data: string; + baserevid?: number; + tags?: string | string[]; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + token?: string; + } + + /** + * @private + */ + interface WBLAddSense extends Params { + action?: "wbladdsense"; + lexemeId: string; + data: string; + baserevid?: number; + tags?: string | string[]; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + token?: string; + } + + /** + * @private + */ + interface WBLEditFormElements extends Params { + action?: "wbleditformelements"; + formId: string; + data: string; + baserevid?: number; + tags?: string | string[]; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + token?: string; + } + + /** + * @private + */ + interface WBLEditSenseElements extends Params { + action?: "wbleditsenseelements"; + senseId: string; + data: string; + baserevid?: number; + tags?: string | string[]; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + token?: string; + } + + interface WBLinkTitles extends Params { + action?: "wblinktitles"; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + tosite: string; + totitle: string; + fromsite: string; + fromtitle: string; + token?: string; + bot?: boolean; + } + + interface WBLMergeLexemes extends Params { + action?: "wblmergelexemes"; + source: string; + target: string; + summary?: string; + tags?: string | string[]; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + token?: string; + } + + /** + * @private + */ + interface WBLRemoveForm extends Params { + action?: "wblremoveform"; + id: string; + tags?: string | string[]; + bot?: boolean; + baserevid?: number; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + token?: string; + } + + /** + * @private + */ + interface WBLRemoveSense extends Params { + action?: "wblremovesense"; + id: string; + baserevid?: number; + tags?: string | string[]; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + token?: string; + } + + interface WBMergeItems extends Params { + action?: "wbmergeitems"; + fromid: string; + toid: string; + ignoreconflicts?: OneOrMore<"description" | "sitelink" | "statement">; + summary?: string; + tags?: string | string[]; + bot?: boolean; + token?: string; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + } + + interface WBParseValue extends Params { + action?: "wbparsevalue"; + datatype?: + | "commonsMedia" + | "entity-schema" + | "external-id" + | "geo-shape" + | "globe-coordinate" + | "math" + | "monolingualtext" + | "musical-notation" + | "quantity" + | "string" + | "tabular-data" + | "time" + | "url" + | "wikibase-form" + | "wikibase-item" + | "wikibase-lexeme" + | "wikibase-property" + | "wikibase-sense"; + property?: string; + /** + * @deprecated + */ + parser?: + | "commonsMedia" + | "entity-schema" + | "external-id" + | "geo-shape" + | "globe-coordinate" + | "globecoordinate" + | "math" + | "monolingualtext" + | "musical-notation" + | "null" + | "quantity" + | "string" + | "tabular-data" + | "time" + | "url" + | "wikibase-entityid" + | "wikibase-form" + | "wikibase-item" + | "wikibase-lexeme" + | "wikibase-property" + | "wikibase-sense"; + values: string | string[]; + options?: string; + validate?: boolean; + } + + interface WBRemoveClaims extends Params { + action?: "wbremoveclaims"; + claim: string | string[]; + summary?: string; + tags?: string | string[]; + token?: string; + baserevid?: number; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + } + + interface WBRemoveQualifiers extends Params { + action?: "wbremovequalifiers"; + claim: string; + qualifiers: string | string[]; + summary?: string; + tags?: string | string[]; + token?: string; + baserevid?: number; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + } + + interface WBRemoveReferences extends Params { + action?: "wbremovereferences"; + statement: string; + references: string | string[]; + summary?: string; + tags?: string | string[]; + token?: string; + baserevid?: number; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + } + + interface WBSearchEntities extends Params { + action?: "wbsearchentities"; + search: string; + language: string; + strictlanguage?: boolean; + type?: "entity-schema" | "form" | "item" | "lexeme" | "property" | "sense"; + limit?: limit; + continue?: number; + props?: OneOrMore<"url">; + profile?: "default" | "language"; + } + + interface WBSetAliases extends Params { + action?: "wbsetaliases"; + id?: string; + new?: "item" | "property"; + site?: string; + title?: string; + baserevid?: number; + summary?: string; + tags?: string | string[]; + token?: string; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + add?: string | string[]; + remove?: string | string[]; + set?: string | string[]; + language: string; + } + + interface WBSetClaim extends Params { + action?: "wbsetclaim"; + claim: string; + index?: number; + summary?: string; + tags?: string | string[]; + token?: string; + baserevid?: number; + bot?: boolean; + ignoreduplicatemainsnak?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + } + + interface WBSetClaimValue extends Params { + action?: "wbsetclaimvalue"; + claim: string; + value?: string; + snaktype: "novalue" | "somevalue" | "value"; + summary?: string; + tags?: string | string[]; + token?: string; + baserevid?: number; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + } + + interface WBSetDescription extends Params { + action?: "wbsetdescription"; + id?: string; + new?: string; + site?: string; + title?: string; + baserevid?: number; + summary?: string; + tags?: string | string[]; + token?: string; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + language: string; + value?: string; + } + + interface WBSetLabel extends Params { + action?: "wbsetlabel"; + id?: string; + new?: string; + site?: string; + title?: string; + baserevid?: number; + summary?: string; + tags?: string | string[]; + token?: string; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + language: string; + value?: string; + } + + interface WBSetQualifier extends Params { + action?: "wbsetqualifier"; + claim: string; + property?: string; + value?: string; + snaktype?: "novalue" | "somevalue" | "value"; + snakhash?: string; + summary?: string; + tags?: string | string[]; + token?: string; + baserevid?: number; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + } + + interface WBSetReference extends Params { + "action"?: "wbsetreference"; + "statement": string; + "snaks": string; + "snaks-order"?: string; + "reference"?: string; + "index"?: number; + "summary"?: string; + "tags"?: string | string[]; + "token"?: string; + "baserevid"?: number; + "bot"?: boolean; + "returnto"?: string; + "returntoquery"?: string; + "returntoanchor"?: string; + } + + interface WBSetSiteLink extends Params { + action?: "wbsetsitelink"; + id?: string; + new?: string; + site?: string; + title?: string; + baserevid?: number; + summary?: string; + tags?: string | string[]; + token?: string; + bot?: boolean; + returnto?: string; + returntoquery?: string; + returntoanchor?: string; + linksite: string; + linktitle?: string; + badges?: string | string[]; + } + + interface WBSGetSuggestions extends Params { + action?: "wbsgetsuggestions"; + entity?: string; + properties?: string | string[]; + types?: string | string[]; + limit?: limit; + continue?: number; + language?: string; + context?: "item" | "qualifier" | "reference"; + include?: "" | "all"; + search?: string; + event?: string; + } + + interface WebappManifest extends Params { + action?: "webapp-manifest"; + } + + interface WebAuthn extends Params { + action?: "webauthn"; + func: "getAuthInfo" | "getRegisterInfo"; + } + + interface WikiFunctionsRun extends Params { + action?: "wikifunctions_run"; + function_call: string; + } + + /** + * @private + */ + interface WikiLambdaEdit extends Params { + action?: "wikilambda_edit"; + summary?: string; + zid?: string; + zobject: string; + token?: string; + } + + interface WikiLambdaFetch extends Params { + action?: "wikilambda_fetch"; + zids: string | string[]; + revisions?: string | string[]; + language?: string; + } + + /** + * @private + */ + interface WikiLambdaFunctionCall extends Params { + action?: "wikilambda_function_call"; + wikilambda_function_call_zobject: string; + } + + /** + * @private + */ + interface WikiLambdaPerformTest extends Params { + action?: "wikilambda_perform_test"; + wikilambda_perform_test_zfunction: string; + wikilambda_perform_test_zimplementations?: string | string[]; + wikilambda_perform_test_ztesters?: string | string[]; + } + + /** + * @private + */ + interface WikiLambdaSupportedProgrammingLanguages extends Params { + action?: "wikilambda_supported_programming_languages"; + } + + interface WikiLove extends Params { + action?: "wikilove"; + title: string; + text: string; + message?: string; + token?: string; + subject: string; + type?: string; + email?: string; + tags?: string | string[]; + } + + /** + * @private + */ + interface WikimediaEventsBlockedEdit extends Params { + action?: "wikimediaeventsblockededit"; + page: string; + interface: + | "discussiontools" + | "mobilefrontend" + | "other" + | "visualeditor" + | "wikieditor"; + platform: "desktop" | "mobile"; + } + } + + namespace Format { + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats + */ + interface Json extends Params { + format?: "json"; + callback?: string; + utf8?: boolean; + ascii?: boolean; + formatversion?: "1" | "2" | "latest"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats + */ + interface JsonFM extends Params { + format?: "jsonfm"; + wrappedhtml?: boolean; + callback?: string; + utf8?: boolean; + ascii?: boolean; + formatversion?: "1" | "2" | "latest"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats + */ + interface None extends Params { + format?: "none"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats + */ + interface Php extends Params { + format?: "php"; + formatversion?: "1" | "2" | "latest"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats + */ + interface PhpFM extends Params { + format?: "phpfm"; + wrappedhtml?: boolean; + formatversion?: "1" | "2" | "latest"; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats + */ + interface RawFM extends Params { + format?: "rawfm"; + wrappedhtml?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats + */ + interface Xml extends Params { + format?: "xml"; + xslt?: string; + includexmlnamespace?: boolean; + } + + /** + * @see https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats + */ + interface XmlFM extends Params { + format?: "xmlfm"; + wrappedhtml?: boolean; + xslt?: string; + includexmlnamespace?: boolean; + } + } + } + } +} + +/** @deprecated Use {@link mw.Api.Params.Action.AbuseFilterCheckMatch `Partial`} instead. */ +export type AbuseFilterApiCheckMatchParams = Partial; + +/** @deprecated Use {@link mw.Api.Params.Action.AbuseFilterCheckSyntax `Partial`} instead. */ +export type AbuseFilterApiCheckSyntaxParams = Partial; + +/** @deprecated Use {@link mw.Api.Params.Action.AbuseFilterEvalExpression `Partial`} instead. */ +export type AbuseFilterApiEvalExpressionParams = Partial; + +/** @deprecated Use {@link mw.Api.Params.Action.AbuseFilterUnblockAutopromote `Partial`} instead. */ +export type AbuseFilterApiUnblockAutopromoteParams = Partial; + +/** @deprecated Use {@link mw.Api.Params.Action.AbuseLogPrivateDetails `Partial`} instead. */ +export type AbuseFilterApiAbuseLogPrivateDetailsParams = Partial; + +/** @deprecated Use {@link mw.Api.Params.Action.AcquireTempUserName `Partial`} instead. */ +export type ApiAcquireTempUserNameParams = Partial; + +/** @deprecated Use {@link mw.Api.Params.Action.AggregateGroups `Partial`} instead. */ +export type TranslateMessageGroupProcessingAggregateGroupsActionApiParams = Partial; -export interface ApiActionAbuseFilterCheckMatchParams extends ApiParams { - action?: "abusefiltercheckmatch"; - filter: string; - vars?: string; - rcid?: number; - logid?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.AntiSpoof `Partial`} instead. */ +export type AntiSpoofApiAntiSpoofParams = Partial; -export interface ApiActionAbuseFilterCheckSyntaxParams extends ApiParams { - action?: "abusefilterchecksyntax"; - filter: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Block `Partial`} instead. */ +export type ApiBlockParams = Partial; -export interface ApiActionAbuseFilterEvalExpressionParams extends ApiParams { - action?: "abusefilterevalexpression"; - expression: string; - prettyprint?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.BounceHandler `Partial`} instead. */ +export type BounceHandlerApiBounceHandlerParams = Partial; -export interface ApiActionAbuseFilterUnblockAutopromoteParams extends ApiParams { - action?: "abusefilterunblockautopromote"; - user: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CategoryTree `Partial`} instead. */ +export type CategoryTreeApiCategoryTreeParams = Partial; -export interface ApiActionAbuseLogPrivateDetailsParams extends ApiParams { - action?: "abuselogprivatedetails"; - logid?: number; - reason?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CentralAuthToken `Partial`} instead. */ +export type CentralAuthApiCentralAuthTokenParams = Partial; -export interface ApiActionAcquireTempUserNameParams extends ApiParams { - action?: "acquiretempusername"; -} +/** @deprecated Use {@link mw.Api.Params.Action.CentralNoticeCdnCacheUpdateBanner `Partial`} instead. */ +export type ApiCentralNoticeCdnCacheUpdateBannerParams = Partial; -export interface ApiActionAggregateGroupsParams extends ApiParams { - action?: "aggregategroups"; - do: "add" | "associate" | "dissociate" | "remove" | "update"; - aggregategroup?: string; - group?: string; - groupname?: string; - groupdescription?: string; - groupsourcelanguagecode?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CentralNoticeChoiceData `Partial`} instead. */ +export type ApiCentralNoticeChoiceDataParams = Partial; -export interface ApiActionAntiSpoofParams extends ApiParams { - action?: "antispoof"; - username: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CentralNoticeQueryCampaign `Partial`} instead. */ +export type ApiCentralNoticeQueryCampaignParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Block} - */ -export interface ApiActionBlockParams extends ApiParams { - action?: "block"; - user?: string; - /** - * @deprecated - */ - userid?: number; - expiry?: string; - reason?: string; - anononly?: boolean; - nocreate?: boolean; - autoblock?: boolean; - noemail?: boolean; - hidename?: boolean; - allowusertalk?: boolean; - reblock?: boolean; - watchuser?: boolean; - watchlistexpiry?: expiry; - tags?: string | string[]; - partial?: boolean; - pagerestrictions?: string | string[]; - namespacerestrictions?: namespace | namespace[]; - actionrestrictions?: OneOrMore<"create" | "move" | "thanks" | "upload">; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ChangeAuthenticationData `Partial`} instead. */ +export type ApiChangeAuthenticationDataParams = Partial; -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:BounceHandler#API} - */ -export interface ApiActionBounceHandlerParams extends ApiParams { - action?: "bouncehandler"; - email: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ChangeContentModel `Partial`} instead. */ +export type ApiChangeContentModelParams = Partial; -/** - * @private - */ -export interface ApiActionCategoryTreeParams extends ApiParams { - action?: "categorytree"; - category: string; - options?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CheckToken `Partial`} instead. */ +export type ApiCheckTokenParams = Partial; -export interface ApiActionCentralAuthTokenParams extends ApiParams { - action?: "centralauthtoken"; -} +/** @deprecated Use {@link mw.Api.Params.Action.CirrusCheckSanity `Partial`} instead. */ +export type CirrusSearchApiCheckSanityParams = Partial; -export interface ApiActionCentralNoticeCdnCacheUpdateBannerParams extends ApiParams { - action?: "centralnoticecdncacheupdatebanner"; - banner: string; - language: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CirrusConfigDump `Partial`} instead. */ +export type CirrusSearchApiConfigDumpParams = Partial; -export interface ApiActionCentralNoticeChoiceDataParams extends ApiParams { - action?: "centralnoticechoicedata"; - project: string; - language: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CirrusMappingDump `Partial`} instead. */ +export type CirrusSearchApiMappingDumpParams = Partial; -export interface ApiActionCentralNoticeQueryCampaignParams extends ApiParams { - action?: "centralnoticequerycampaign"; - campaign?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CirrusProfilesDump `Partial`} instead. */ +export type CirrusSearchApiProfilesDumpParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Manage_authentication_data} - */ -export interface ApiActionChangeAuthenticationDataParams extends ApiParams { - action?: "changeauthenticationdata"; - changeauthrequest: string; - changeauthtoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CirrusSettingsDump `Partial`} instead. */ +export type CirrusSearchApiSettingsDumpParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Help:ChangeContentModel} - */ -export interface ApiActionChangeContentModelParams extends ApiParams { - action?: "changecontentmodel"; - title?: string; - pageid?: number; - summary?: string; - tags?: string | string[]; - model: string; - bot?: boolean; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ClearHasMsg `Partial`} instead. */ +export type ApiClearHasMsgParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Checktoken} - */ -export interface ApiActionCheckTokenParams extends ApiParams { - action?: "checktoken"; - type: - | "createaccount" - | "csrf" - | "deleteglobalaccount" - | "login" - | "patrol" - | "rollback" - | "setglobalaccountstatus" - | "userrights" - | "watch"; - token?: string; - maxtokenage?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.ClientLogin `Partial`} instead. */ +export type ApiClientLoginParams = Partial; -/** - * @private - */ -export interface ApiActionCirrusCheckSanityParams extends ApiParams { - action?: "cirrus-check-sanity"; - cluster?: "cloudelastic" | "codfw" | "eqiad"; - from: number; - limit?: limit; - sequenceid?: number; - rerenderfrequency?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.Collection `Partial`} instead. */ +export type CollectionApiCollectionParams = Partial; -export interface ApiActionCirrusConfigDumpParams extends ApiParams { - action?: "cirrus-config-dump"; - prop?: OneOrMore<"globals" | "namespacemap" | "profiles" | "replicagroup" | "usertesting">; -} +/** @deprecated Use {@link mw.Api.Params.Action.CommunityConfigurationEdit `Partial`} instead. */ +export type CommunityConfigurationApiEditParams = Partial; -export interface ApiActionCirrusMappingDumpParams extends ApiParams { - action?: "cirrus-mapping-dump"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Compare `Partial`} instead. */ +export type ApiComparePagesParams = Partial; -export interface ApiActionCirrusProfilesDumpParams extends ApiParams { - action?: "cirrus-profiles-dump"; - verbose?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.CreateAccount `Partial`} instead. */ +export type ApiAMCreateAccountParams = Partial; -export interface ApiActionCirrusSettingsDumpParams extends ApiParams { - action?: "cirrus-settings-dump"; -} +/** @deprecated Use {@link mw.Api.Params.Action.CreateLocalAccount `Partial`} instead. */ +export type CentralAuthApiCreateLocalAccountParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:ClearHasMsg} - */ -export interface ApiActionClearHasMsgParams extends ApiParams { - action?: "clearhasmsg"; -} +/** @deprecated Use {@link mw.Api.Params.Action.CSPReport `Partial`} instead. */ +export type ApiCSPReportParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Login} - */ -export interface ApiActionClientLoginParams extends ApiParams { - action?: "clientlogin"; - loginrequests?: string | string[]; - loginmessageformat?: "html" | "none" | "raw" | "wikitext"; - loginmergerequestfields?: boolean; - loginpreservestate?: boolean; - loginreturnurl?: string; - logincontinue?: boolean; - logintoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CXCheckUnreviewed `Partial`} instead. */ +export type ContentTranslationActionApiContentTranslationUnreviewedCheckParams = Partial; -/** - * @private - */ -export interface ApiActionCollectionParams extends ApiParams { - action?: "collection"; - submodule: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CXDelete `Partial`} instead. */ +export type ContentTranslationActionApiContentTranslationDeleteParams = Partial; -export interface ApiActionCollectionSubmoduleAddArticleParams extends ApiActionCollectionParams { - submodule: "addarticle"; - namespace: number; - title: string; - oldid?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.CXPublish `Partial`} instead. */ +export type ContentTranslationActionApiContentTranslationPublishParams = Partial; -export interface ApiActionCollectionSubmoduleAddCategoryParams extends ApiActionCollectionParams { - submodule: "addcategory"; - title?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CXPublishSection `Partial`} instead. */ +export type ContentTranslationActionApiSectionTranslationPublishParams = Partial; -export interface ApiActionCollectionSubmoduleAddChapterParams extends ApiActionCollectionParams { - submodule: "addchapter"; - chaptername?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CXSave `Partial`} instead. */ +export type ContentTranslationActionApiContentTranslationSaveParams = Partial; -export interface ApiActionCollectionSubmoduleClearCollectionParams - extends ApiActionCollectionParams { - submodule: "clearcollection"; -} +/** @deprecated Use {@link mw.Api.Params.Action.CXSplit `Partial`} instead. */ +export type ContentTranslationActionApiContentTranslationSplitParams = Partial; -export interface ApiActionCollectionSubmoduleGetBookCreatorBoxContentParams - extends ApiActionCollectionParams { - submodule: "getbookcreatorboxcontent"; - hint?: string; - oldid?: number; - pagename?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.CXSuggestionList `Partial`} instead. */ +export type ContentTranslationActionApiContentTranslationSuggestionListParams = Partial; -export interface ApiActionCollectionSubmoduleGetCollectionParams extends ApiActionCollectionParams { - submodule: "getcollection"; -} +/** @deprecated Use {@link mw.Api.Params.Action.CXToken `Partial`} instead. */ +export type ContentTranslationActionApiContentTranslationTokenParams = Partial; -export interface ApiActionCollectionSubmoduleGetPopupDataParams extends ApiActionCollectionParams { - submodule: "getpopupdata"; - title: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Delete `Partial`} instead. */ +export type ApiDeleteParams = Partial; -export interface ApiActionCollectionSubmodulePostCollectionParams - extends ApiActionCollectionParams { - submodule: "postcollection"; - collection?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.DeleteGlobalAccount `Partial`} instead. */ +export type CentralAuthApiDeleteGlobalAccountParams = Partial; -export interface ApiActionCollectionSubmoduleRemoveArticleParams extends ApiActionCollectionParams { - submodule: "removearticle"; - namespace: number; - title: string; - oldid?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.DiscussionToolsCompare `Partial`} instead. */ +export type DiscussionToolsApiDiscussionToolsCompareParams = Partial; -export interface ApiActionCollectionSubmoduleRemoveItemParams extends ApiActionCollectionParams { - submodule: "removeitem"; - index?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.DiscussionToolsEdit `Partial`} instead. */ +export type DiscussionToolsApiDiscussionToolsEditParams = Partial; -export interface ApiActionCollectionSubmoduleRenameChapterParams extends ApiActionCollectionParams { - submodule: "renamechapter"; - index: number; - chaptername: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.DiscussionToolsFindComment `Partial`} instead. */ +export type DiscussionToolsApiDiscussionToolsFindCommentParams = Partial; -export interface ApiActionCollectionSubmoduleSetSortingParams extends ApiActionCollectionParams { - submodule: "setsorting"; - items: number | number[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.DiscussionToolsGetSubscriptions `Partial`} instead. */ +export type DiscussionToolsApiDiscussionToolsGetSubscriptionsParams = Partial; -export interface ApiActionCollectionSubmoduleSetTitlesParams extends ApiActionCollectionParams { - submodule: "settitles"; - title: string; - subtitle?: string; - settings?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.DiscussionToolsPageInfo `Partial`} instead. */ +export type DiscussionToolsApiDiscussionToolsPageInfoParams = Partial; -export interface ApiActionCollectionSubmoduleSortItemsParams extends ApiActionCollectionParams { - submodule: "sortitems"; -} +/** @deprecated Use {@link mw.Api.Params.Action.DiscussionToolsPreview `Partial`} instead. */ +export type DiscussionToolsApiDiscussionToolsPreviewParams = Partial; -export interface ApiActionCollectionSubmoduleSuggestArticleActionParams - extends ApiActionCollectionParams { - submodule: "suggestarticleaction"; - suggestaction: "add" | "ban" | "remove"; - title: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.DiscussionToolsSubscribe `Partial`} instead. */ +export type DiscussionToolsApiDiscussionToolsSubscribeParams = Partial; -export interface ApiActionCollectionSubmoduleSuggestUndoArticleActionParams - extends ApiActionCollectionParams { - submodule: "suggestundoarticleaction"; - lastaction: "add" | "ban" | "remove"; - title: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.DiscussionToolsThank `Partial`} instead. */ +export type DiscussionToolsApiDiscussionToolsThankParams = Partial; -export interface ApiActionCommunityConfigurationEditParams extends ApiParams { - action?: "communityconfigurationedit"; - provider: - | "AutoModerator" - | "CommunityUpdates" - | "GrowthHomepage" - | "GrowthMentorList" - | "GrowthSuggestedEdits" - | "HelpPanel" - | "Mentorship"; - content: string; - summary?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.EchoCreateEvent `Partial`} instead. */ +export type NotificationsApiEchoCreateEventParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Compare} - */ -export interface ApiActionCompareParams extends ApiParams { - action?: "compare"; - fromtitle?: string; - fromid?: number; - fromrev?: number; - fromslots?: string | string[]; - [k: `fromtext-${string}`]: string; - [k: `fromsection-${string}`]: string; - [k: `fromcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - [k: `fromcontentmodel-${string}`]: string; - frompst?: boolean; - /** - * @deprecated - */ - fromtext?: string; - /** - * @deprecated - */ - fromcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - /** - * @deprecated - */ - fromcontentmodel?: string; - /** - * @deprecated - */ - fromsection?: string; - totitle?: string; - toid?: number; - torev?: number; - torelative?: "cur" | "next" | "prev"; - toslots?: string | string[]; - [k: `totext-${string}`]: string; - [k: `tosection-${string}`]: string; - [k: `tocontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - [k: `tocontentmodel-${string}`]: string; - topst?: boolean; - /** - * @deprecated - */ - totext?: string; - /** - * @deprecated - */ - tocontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - /** - * @deprecated - */ - tocontentmodel?: string; - /** - * @deprecated - */ - tosection?: string; - prop?: OneOrMore< - | "comment" - | "diff" - | "diffsize" - | "ids" - | "parsedcomment" - | "rel" - | "size" - | "timestamp" - | "title" - | "user" - >; - slots?: OneOrMore<"main" | "mediainfo" | "*">; - difftype?: "inline" | "table" | "unified"; -} +/** @deprecated Use {@link mw.Api.Params.Action.EchoMarkRead `Partial`} instead. */ +export type NotificationsApiEchoMarkReadParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Account_creation} - */ -export interface ApiActionCreateAccountParams extends ApiParams { - action?: "createaccount"; - createrequests?: string | string[]; - createmessageformat?: "html" | "none" | "raw" | "wikitext"; - createmergerequestfields?: boolean; - createpreservestate?: boolean; - createreturnurl?: string; - createcontinue?: boolean; - createtoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.EchoMarkSeen `Partial`} instead. */ +export type NotificationsApiEchoMarkSeenParams = Partial; -export interface ApiActionCreateLocalAccountParams extends ApiParams { - action?: "createlocalaccount"; - username: string; - reason?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.EchoMute `Partial`} instead. */ +export type NotificationsApiEchoMuteParams = Partial; -/** - * @private - */ -export interface ApiActionCSPReportParams extends ApiParams { - action?: "cspreport"; - reportonly?: boolean; - source?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.EchoPushSubscriptions `Partial`} instead. */ +export type NotificationsPushApiEchoPushSubscriptionsParams = Partial; -/** - * @private - */ -export interface ApiActionCXCheckUnreviewedParams extends ApiParams { - action?: "cxcheckunreviewed"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Edit `Partial`} instead. */ +export type ApiEditPageParams = Partial; -export interface ApiActionCXDeleteParams extends ApiParams { - action?: "cxdelete"; - from: string; - to: string; - sourcetitle: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.EditCheckReferenceUrl `Partial`} instead. */ +export type VisualEditorEditCheckApiEditCheckReferenceUrlParams = Partial; -/** - * @private - */ -export interface ApiActionCXPublishParams extends ApiParams { - action?: "cxpublish"; - title: string; - html: string; - from: string; - to: string; - sourcetitle: string; - categories?: string; - publishtags?: string | string[]; - wpCaptchaId?: string; - wpCaptchaWord?: string; - cxversion: number; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.EditMassMessageList `Partial`} instead. */ +export type MediaWikiMassMessageApiEditMassMessageListParams = Partial; -/** - * @private - */ -export interface ApiActionCXPublishSectionParams extends ApiParams { - action?: "cxpublishsection"; - title: string; - html: string; - sourcelanguage: string; - targetlanguage: string; - sourcetitle: string; - sourcerevid: string; - sourcesectiontitle: string; - targetsectiontitle: string; - sectiontranslationid: number; - issandbox?: boolean; - captchaid?: string; - captchaword?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.EmailUser `Partial`} instead. */ +export type ApiEmailUserParams = Partial; -/** - * @private - */ -export interface ApiActionCXSaveParams extends ApiParams { - action?: "cxsave"; - from: string; - to: string; - sourcetitle: string; - title: string; - content: string; - sourcerevision: number; - progress: string; - cxversion?: number; - sourcecategories?: string; - targetcategories?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ExpandTemplates `Partial`} instead. */ +export type ApiExpandTemplatesParams = Partial; -/** - * @private - */ -export interface ApiActionCXSplitParams extends ApiParams { - action?: "cxsplit"; - translationid: number; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.FancyCaptchaReload `Partial`} instead. */ +export type ConfirmEditFancyCaptchaApiFancyCaptchaReloadParams = Partial; -export interface ApiActionCXSuggestionListParams extends ApiParams { - action?: "cxsuggestionlist"; - listname: string; - listaction: "add" | "remove" | "view"; - titles: string | string[]; - from: string; - to?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.FeaturedFeed `Partial`} instead. */ +export type FeaturedFeedsApiFeaturedFeedsParams = Partial; -export interface ApiActionCXTokenParams extends ApiParams { - action?: "cxtoken"; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.FeedContributions `Partial`} instead. */ +export type ApiFeedContributionsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Delete} - */ -export interface ApiActionDeleteParams extends ApiParams { - action?: "delete"; - title?: string; - pageid?: number; - reason?: string; - tags?: string | string[]; - deletetalk?: boolean; - /** - * @deprecated - */ - watch?: boolean; - watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; - watchlistexpiry?: expiry; - /** - * @deprecated - */ - unwatch?: boolean; - oldimage?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.FeedRecentChanges `Partial`} instead. */ +export type ApiFeedRecentChangesParams = Partial; -export interface ApiActionDeleteGlobalAccountParams extends ApiParams { - action?: "deleteglobalaccount"; - user: string; - reason?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.FeedThreads `Partial`} instead. */ +export type LiquidThreadsApiFeedLQTThreadsParams = Partial; -/** - * @private - */ -export interface ApiActionDiscussionToolsCompareParams extends ApiParams { - action?: "discussiontoolscompare"; - fromtitle?: string; - fromrev?: number; - totitle?: string; - torev?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.FeedWatchlist `Partial`} instead. */ +export type ApiFeedWatchlistParams = Partial; -export interface ApiActionDiscussionToolsEditParams extends ApiParams { - action?: "discussiontoolsedit"; - paction: "addcomment" | "addtopic"; - autosubscribe?: "default" | "no" | "yes"; - page: string; - token?: string; - formtoken?: string; - commentname?: string; - commentid?: string; - wikitext?: string; - html?: string; - summary?: string; - sectiontitle?: string; - allownosectiontitle?: boolean; - useskin?: string; - watchlist?: string; - captchaid?: string; - captchaword?: string; - nocontent?: string; - tags?: string | string[]; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - mobileformat?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.FileRevert `Partial`} instead. */ +export type ApiFileRevertParams = Partial; -export interface ApiActionDiscussionToolsFindCommentParams extends ApiParams { - action?: "discussiontoolsfindcomment"; - idorname?: string; - heading?: string; - page?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.FlagConfig `Partial`} instead. */ +export type ApiFlagConfigParams = Partial; -export interface ApiActionDiscussionToolsGetSubscriptionsParams extends ApiParams { - action?: "discussiontoolsgetsubscriptions"; - commentname: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.FlickrBlacklist `Partial`} instead. */ +export type UploadWizardApiFlickrBlacklistParams = Partial; -/** - * @private - */ -export interface ApiActionDiscussionToolsPageInfoParams extends ApiParams { - action?: "discussiontoolspageinfo"; - page?: string; - oldid?: number; - prop?: OneOrMore<"threaditemshtml" | "transcludedfrom">; - excludesignatures?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Flow `Partial`} instead. */ +export type FlowApiFlowParams = Partial; -/** - * @private - */ -export interface ApiActionDiscussionToolsPreviewParams extends ApiParams { - action?: "discussiontoolspreview"; - type: "reply" | "topic"; - page: string; - wikitext: string; - sectiontitle?: string; - useskin?: string; - mobileformat?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.FlowParsoidUtils `Partial`} instead. */ +export type FlowApiParsoidUtilsFlowParams = Partial; -export interface ApiActionDiscussionToolsSubscribeParams extends ApiParams { - action?: "discussiontoolssubscribe"; - page: string; - token?: string; - commentname: string; - subscribe: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.FlowThank `Partial`} instead. */ +export type ThanksApiFlowThankParams = Partial; -export interface ApiActionDiscussionToolsThankParams extends ApiParams { - action?: "discussiontoolsthank"; - page: string; - commentid: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.GlobalBlock `Partial`} instead. */ +export type GlobalBlockingApiGlobalBlockParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Echo_(Notifications)/API} - */ -export interface ApiActionEchoCreateEventParams extends ApiParams { - action?: "echocreateevent"; - user?: string; - header: string; - content: string; - page?: string; - section: "alert" | "notice"; - email?: boolean; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.GlobalPreferenceOverrides `Partial`} instead. */ +export type GlobalPreferencesApiGlobalPreferenceOverridesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Echo_(Notifications)/API} - */ -export interface ApiActionEchoMarkReadParams extends ApiParams { - action?: "echomarkread"; - wikis?: string | string[]; - list?: string | string[]; - unreadlist?: string | string[]; - all?: boolean; - sections?: OneOrMore<"alert" | "message">; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.GlobalPreferences `Partial`} instead. */ +export type GlobalPreferencesApiGlobalPreferencesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Echo_(Notifications)/API} - */ -export interface ApiActionEchoMarkSeenParams extends ApiParams { - action?: "echomarkseen"; - type: "alert" | "all" | "message"; - timestampFormat?: "ISO_8601" | "MW"; -} +/** @deprecated Use {@link mw.Api.Params.Action.GlobalUserRights `Partial`} instead. */ +export type CentralAuthApiGlobalUserRightsParams = Partial; -export interface ApiActionEchoMuteParams extends ApiParams { - action?: "echomute"; - type: "page-linked-title" | "user"; - mute?: string | string[]; - unmute?: string | string[]; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.GroupReview `Partial`} instead. */ +export type TranslateMessageGroupProcessingGroupReviewActionApiParams = Partial; -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Echo#API} - */ -export interface ApiActionEchoPushSubscriptionsParams extends ApiParams { - action?: "echopushsubscriptions"; - command: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.GrowthInvalidateImageRecommendation `Partial`} instead. */ +export type GrowthExperimentsApiInvalidateImageRecommendationParams = Partial; -/** - * @private - */ -export interface ApiActionEchoPushSubscriptionsCommandCreateParams - extends ApiActionEchoPushSubscriptionsParams { - command: "create"; - provider: "apns" | "fcm"; - providertoken: string; - topic?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.GrowthInvalidatePersonalizedPraiseSuggestion `Partial`} instead. */ +export type GrowthExperimentsApiInvalidatePersonalizedPraiseSuggestionParams = Partial; -/** - * @private - */ -export interface ApiActionEchoPushSubscriptionsCommandDeleteParams - extends ApiActionEchoPushSubscriptionsParams { - command: "delete"; - providertoken: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.GrowthManageMentorList `Partial`} instead. */ +export type GrowthExperimentsApiManageMentorListParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Edit} - */ -export interface ApiActionEditParams extends ApiParams { - action?: "edit"; - title?: string; - pageid?: number; - section?: string; - sectiontitle?: string; - text?: string; - summary?: string; - tags?: string | string[]; - minor?: boolean; - notminor?: boolean; - bot?: boolean; - baserevid?: number; - basetimestamp?: timestamp; - starttimestamp?: timestamp; - recreate?: boolean; - createonly?: boolean; - nocreate?: boolean; - /** - * @deprecated - */ - watch?: boolean; - /** - * @deprecated - */ - unwatch?: boolean; - watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; - watchlistexpiry?: expiry; - md5?: string; - prependtext?: string; - appendtext?: string; - undo?: number; - undoafter?: number; - redirect?: boolean; - contentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - contentmodel?: string; - token?: string; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - captchaword?: string; - captchaid?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.GrowthMentorDashboardUpdateData `Partial`} instead. */ +export type GrowthExperimentsApiMentorDashboardUpdateDataParams = Partial; -/** - * @private - */ -export interface ApiActionEditCheckReferenceUrlParams extends ApiParams { - action?: "editcheckreferenceurl"; - url: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.GrowthSetMenteeStatus `Partial`} instead. */ +export type GrowthExperimentsApiSetMenteeStatusParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:MassMessage/API} - */ -export interface ApiActionEditMassMessageListParams extends ApiParams { - action?: "editmassmessagelist"; - spamlist: string; - description?: string; - add?: string | string[]; - remove?: string | string[]; - minor?: boolean; - watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.GrowthSetMentor `Partial`} instead. */ +export type GrowthExperimentsApiSetMentorParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Email} - */ -export interface ApiActionEmailUserParams extends ApiParams { - action?: "emailuser"; - target: string; - subject: string; - text: string; - ccme?: boolean; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.GrowthStarMentee `Partial`} instead. */ +export type GrowthExperimentsApiStarMenteeParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Expandtemplates} - */ -export interface ApiActionExpandTemplatesParams extends ApiParams { - action?: "expandtemplates"; - title?: string; - text: string; - revid?: number; - prop?: OneOrMore< - | "categories" - | "encodedjsconfigvars" - | "jsconfigvars" - | "modules" - | "parsetree" - | "properties" - | "ttl" - | "volatile" - | "wikitext" - >; - includecomments?: boolean; - showstrategykeys?: boolean; - /** - * @deprecated - */ - generatexml?: boolean; - templatesandboxprefix?: string | string[]; - templatesandboxtitle?: string; - templatesandboxtext?: string; - templatesandboxcontentmodel?: string; - templatesandboxcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Help `Partial`} instead. */ +export type ApiHelpParams = Partial; -/** - * @private - */ -export interface ApiActionFancyCaptchaReloadParams extends ApiParams { - action?: "fancycaptchareload"; -} +/** @deprecated Use {@link mw.Api.Params.Action.HelpPanelQuestionPoster `Partial`} instead. */ +export type GrowthExperimentsApiHelpPanelPostQuestionParams = Partial; -export interface ApiActionFeaturedFeedParams extends ApiParams { - action?: "featuredfeed"; - feedformat?: "atom" | "rss" | "sitemap"; - feed: string; - language?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.HomePageQuestionStore `Partial`} instead. */ +export type GrowthExperimentsApiQuestionStoreParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Feedcontributions} - */ -export interface ApiActionFeedContributionsParams extends ApiParams { - action?: "feedcontributions"; - feedformat?: "atom" | "rss" | "sitemap"; - user: string; - namespace?: namespace; - year?: number; - month?: number; - tagfilter?: string | string[]; - deletedonly?: boolean; - toponly?: boolean; - newonly?: boolean; - hideminor?: boolean; - showsizediff?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.ImageRotate `Partial`} instead. */ +export type ApiDisabledParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Feedrecentchanges} - */ -export interface ApiActionFeedRecentChangesParams extends ApiParams { - action?: "feedrecentchanges"; - feedformat?: "atom" | "rss" | "sitemap"; - namespace?: namespace; - invert?: boolean; - associated?: boolean; - days?: number; - limit?: number; - from?: timestamp; - hideminor?: boolean; - hidebots?: boolean; - hideanons?: boolean; - hideliu?: boolean; - hidepatrolled?: boolean; - hidemyself?: boolean; - hidecategorization?: boolean; - tagfilter?: string; - inverttags?: boolean; - target?: string; - showlinkedto?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Import `Partial`} instead. */ +export type ApiImportParams = Partial; -export interface ApiActionFeedThreadsParams extends ApiParams { - action?: "feedthreads"; - feedformat?: "atom" | "rss" | "sitemap"; - days?: number; - type?: OneOrMore<"newthreads" | "replies">; - talkpage?: string | string[]; - thread?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.JsonConfig `Partial`} instead. */ +export type JsonConfigJCApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist_feed} - */ -export interface ApiActionFeedWatchlistParams extends ApiParams { - action?: "feedwatchlist"; - feedformat?: "atom" | "rss" | "sitemap"; - hours?: number; - linktosections?: boolean; - allrev?: boolean; - wlowner?: string; - wltoken?: string; - wlshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!patrolled" - | "!unread" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "patrolled" - | "unread" - >; - wltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - wlexcludeuser?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.JsonData `Partial`} instead. */ +export type JsonConfigJCDataApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Filerevert} - */ -export interface ApiActionFileRevertParams extends ApiParams { - action?: "filerevert"; - filename: string; - comment?: string; - archivename: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.JsonSchema `Partial`} instead. */ +export type EventLoggingApiJsonSchemaParams = Partial; -export interface ApiActionFlagConfigParams extends ApiParams { - action?: "flagconfig"; -} +/** @deprecated Use {@link mw.Api.Params.Action.LanguageSearch `Partial`} instead. */ +export type UniversalLanguageSelectorApiLanguageSearchParams = Partial; -export interface ApiActionFlickrBlacklistParams extends ApiParams { - action?: "flickrblacklist"; - url?: string; - list?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.LinkAccount `Partial`} instead. */ +export type ApiLinkAccountParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API} - */ -export interface ApiActionFlowParams extends ApiParams { - action?: "flow"; - submodule: string; - page?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Login `Partial`} instead. */ +export type ApiLoginParams = Partial; -/** - * @deprecated - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#lock-topic} - */ -export interface ApiActionFlowSubmoduleCloseOpenTopicParams extends ApiActionFlowParams { - submodule: "close-open-topic"; - cotmoderationState: "close" | "lock" | "reopen" | "unlock"; - cotreason: string; - cottoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Logout `Partial`} instead. */ +export type ApiLogoutParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#edit-header} - */ -export interface ApiActionFlowSubmoduleEditHeaderParams extends ApiActionFlowParams { - submodule: "edit-header"; - ehprev_revision?: string; - ehcontent: string; - ehformat?: "html" | "wikitext"; - ehtoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ManageGroupSynchronizationCache `Partial`} instead. */ +export type TranslateSynchronizationManageGroupSynchronizationCacheActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#edit-post} - */ -export interface ApiActionFlowSubmoduleEditPostParams extends ApiActionFlowParams { - submodule: "edit-post"; - eppostId: string; - epprev_revision: string; - epcontent: string; - epformat?: "html" | "wikitext"; - eptoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ManageMessageGroups `Partial`} instead. */ +export type TranslateMessageGroupProcessingManageMessageGroupsActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#edit-title} - */ -export interface ApiActionFlowSubmoduleEditTitleParams extends ApiActionFlowParams { - submodule: "edit-title"; - etprev_revision: string; - etcontent: string; - ettoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ManageTags `Partial`} instead. */ +export type ApiManageTagsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#edit-topic-summary} - */ -export interface ApiActionFlowSubmoduleEditTopicSummaryParams extends ApiActionFlowParams { - submodule: "edit-topic-summary"; - etsprev_revision?: string; - etssummary: string; - etsformat?: "html" | "wikitext"; - etstoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.MarkForTranslation `Partial`} instead. */ +export type TranslatePageTranslationMarkForTranslationActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#lock-topic} - */ -export interface ApiActionFlowSubmoduleLockTopicParams extends ApiActionFlowParams { - submodule: "lock-topic"; - cotmoderationState: "close" | "lock" | "reopen" | "unlock"; - cotreason: string; - cottoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.MassMessage `Partial`} instead. */ +export type MediaWikiMassMessageApiMassMessageParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#moderate-post} - */ -export interface ApiActionFlowSubmoduleModeratePostParams extends ApiActionFlowParams { - submodule: "moderate-post"; - mpmoderationState: - | "" - | "delete" - | "hide" - | "restore" - | "suppress" - | "undelete" - | "unhide" - | "unsuppress"; - mpreason: string; - mppostId: string; - mptoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.MediaDetection `Partial`} instead. */ +export type UploadWizardApiMediaDetectionParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#moderate-topic} - */ -export interface ApiActionFlowSubmoduleModerateTopicParams extends ApiActionFlowParams { - submodule: "moderate-topic"; - mtmoderationState: - | "" - | "delete" - | "hide" - | "restore" - | "suppress" - | "undelete" - | "unhide" - | "unsuppress"; - mtreason: string; - mttoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.MergeHistory `Partial`} instead. */ +export type ApiMergeHistoryParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#new-topic} - */ -export interface ApiActionFlowSubmoduleNewTopicParams extends ApiActionFlowParams { - submodule: "new-topic"; - nttopic: string; - ntcontent: string; - ntformat?: "html" | "wikitext"; - nttoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.MessageGroupSubscription `Partial`} instead. */ +export type TranslateMessageGroupProcessingMessageGroupSubscriptionActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#reply} - */ -export interface ApiActionFlowSubmoduleReplyParams extends ApiActionFlowParams { - submodule: "reply"; - repreplyTo: string; - repcontent: string; - repformat?: "html" | "wikitext"; - reptoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Move `Partial`} instead. */ +export type ApiMoveParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#undo-edit-header} - */ -export interface ApiActionFlowSubmoduleUndoEditHeaderParams extends ApiActionFlowParams { - submodule: "undo-edit-header"; - uehstartId: string; - uehendId: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.NewsletterSubscribe `Partial`} instead. */ +export type NewsletterApiNewsletterSubscribeParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#undo-edit-post} - */ -export interface ApiActionFlowSubmoduleUndoEditPostParams extends ApiActionFlowParams { - submodule: "undo-edit-post"; - uepstartId: string; - uependId: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.OATHValidate `Partial`} instead. */ +export type OATHAuthApiModuleApiOATHValidateParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#undo-edit-topic-summary} - */ -export interface ApiActionFlowSubmoduleUndoEditTopicSummaryParams extends ApiActionFlowParams { - submodule: "undo-edit-topic-summary"; - uetsstartId: string; - uetsendId: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.OpenSearch `Partial`} instead. */ +export type ApiOpenSearchParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#view-header} - */ -export interface ApiActionFlowSubmoduleViewHeaderParams extends ApiActionFlowParams { - submodule: "view-header"; - vhformat?: "fixed-html" | "html" | "wikitext"; - vhrevId?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Options `Partial`} instead. */ +export type ApiOptionsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#view-post} - */ -export interface ApiActionFlowSubmoduleViewPostParams extends ApiActionFlowParams { - submodule: "view-post"; - vppostId: string; - vpformat?: "fixed-html" | "html" | "wikitext"; -} +/** @deprecated Use {@link mw.Api.Params.Action.PageTriageAction `Partial`} instead. */ +export type PageTriageApiPageTriageActionParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#view-post-history} - */ -export interface ApiActionFlowSubmoduleViewPostHistoryParams extends ApiActionFlowParams { - submodule: "view-post-history"; - vphpostId: string; - vphformat?: "fixed-html" | "html" | "wikitext"; -} +/** @deprecated Use {@link mw.Api.Params.Action.PageTriageList `Partial`} instead. */ +export type PageTriageApiPageTriageListParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#view-topic} - */ -export interface ApiActionFlowSubmoduleViewTopicParams extends ApiActionFlowParams { - submodule: "view-topic"; - vtformat?: "fixed-html" | "html" | "wikitext"; -} +/** @deprecated Use {@link mw.Api.Params.Action.PageTriageStats `Partial`} instead. */ +export type PageTriageApiPageTriageStatsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#view-topic-history} - */ -export interface ApiActionFlowSubmoduleViewTopicHistoryParams extends ApiActionFlowParams { - submodule: "view-topic-history"; - vthformat?: "fixed-html" | "html" | "wikitext"; -} +/** @deprecated Use {@link mw.Api.Params.Action.PageTriageTagCopyvio `Partial`} instead. */ +export type PageTriageApiPageTriageTagCopyvioParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#view-topic-summary} - */ -export interface ApiActionFlowSubmoduleViewTopicSummaryParams extends ApiActionFlowParams { - submodule: "view-topic-summary"; - vtsformat?: "fixed-html" | "html" | "wikitext"; - vtsrevId?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.PageTriageTagging `Partial`} instead. */ +export type PageTriageApiPageTriageTaggingParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Flow/API#view-topiclist} - */ -export interface ApiActionFlowSubmoduleViewTopicListParams extends ApiActionFlowParams { - "submodule": "view-topiclist"; - "vtloffset-dir"?: "fwd" | "rev"; - "vtlsortby"?: "newest" | "updated" | "user"; - "vtlsavesortby"?: boolean; - "vtloffset-id"?: string; - "vtloffset"?: string; - "vtlinclude-offset"?: boolean; - "vtllimit"?: limit; - "vtltoconly"?: boolean; - "vtlformat"?: "fixed-html" | "html" | "wikitext"; -} +/** @deprecated Use {@link mw.Api.Params.Action.ParamInfo `Partial`} instead. */ +export type ApiParamInfoParams = Partial; -export interface ApiActionFlowParsoidUtilsParams extends ApiParams { - action?: "flow-parsoid-utils"; - from: "html" | "wikitext"; - to: "html" | "wikitext"; - content: string; - title?: string; - pageid?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.Parse `Partial`} instead. */ +export type ApiParseParams = Partial; -export interface ApiActionFlowThankParams extends ApiParams { - action?: "flowthank"; - postid: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ParserMigration `Partial`} instead. */ +export type ParserMigrationApiParserMigrationParams = Partial; -export interface ApiActionGlobalBlockParams extends ApiParams { - "action"?: "globalblock"; - "target": string; - "expiry"?: expiry; - "unblock"?: boolean; - "reason": string; - "anononly"?: boolean; - "allow-account-creation"?: boolean; - "modify"?: boolean; - "alsolocal"?: boolean; - "localblockstalk"?: boolean; - "localblocksemail"?: boolean; - "localanononly"?: boolean; - "local-allow-account-creation"?: boolean; - "token"?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Patrol `Partial`} instead. */ +export type ApiPatrolParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GlobalPreferences/API} - */ -export interface ApiActionGlobalPreferenceOverridesParams extends ApiParams { - action?: "globalpreferenceoverrides"; - reset?: boolean; - resetkinds?: OneOrMore< - | "all" - | "registered" - | "registered-checkmatrix" - | "registered-multiselect" - | "special" - | "unused" - | "userjs" - >; - change?: string | string[]; - optionname?: string; - optionvalue?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Protect `Partial`} instead. */ +export type ApiProtectParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Globalpreferences} - */ -export interface ApiActionGlobalPreferencesParams extends ApiParams { - action?: "globalpreferences"; - reset?: boolean; - resetkinds?: OneOrMore< - | "all" - | "registered" - | "registered-checkmatrix" - | "registered-multiselect" - | "special" - | "unused" - | "userjs" - >; - change?: string | string[]; - optionname?: string; - optionvalue?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.AllCategories `Partial`} / {@link mw.Api.Params.Action.Query.List.AllCategories `Partial`} / {@link mw.Api.Params.Action.Query.Generator.AllCategories `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.AllCategories `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.AllCategories `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.AllCategories `Partial`} instead. */ +export type ApiQueryAllCategoriesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:User_group_membership} - */ -export interface ApiActionGlobalUserRightsParams extends ApiParams { - action?: "globaluserrights"; - user?: string; - /** - * @deprecated - */ - userid?: number; - add?: OneOrMore< - | "abusefilter-helper" - | "abusefilter-maintainer" - | "apihighlimits-requestor" - | "captcha-exempt" - | "founder" - | "global-bot" - | "global-deleter" - | "global-flow-create" - | "global-interface-editor" - | "global-ipblock-exempt" - | "global-rollbacker" - | "global-sysop" - | "global-temporary-account-viewer" - | "new-wikis-importer" - | "oathauth-tester" - | "ombuds" - | "recursive-export" - | "staff" - | "steward" - | "sysadmin" - | "vrt-permissions" - | "wmf-email-block-override" - | "wmf-researcher" - >; - expiry?: string | string[]; - remove?: OneOrMore< - | "abusefilter-helper" - | "abusefilter-maintainer" - | "apihighlimits-requestor" - | "captcha-exempt" - | "founder" - | "global-bot" - | "global-deleter" - | "global-flow-create" - | "global-interface-editor" - | "global-ipblock-exempt" - | "global-rollbacker" - | "global-sysop" - | "global-temporary-account-viewer" - | "new-wikis-importer" - | "oathauth-tester" - | "ombuds" - | "recursive-export" - | "staff" - | "steward" - | "sysadmin" - | "vrt-permissions" - | "wmf-email-block-override" - | "wmf-researcher" - >; - reason?: string; - token?: string; - tags?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.AllDeletedRevisions `Partial`} / {@link mw.Api.Params.Action.Query.List.AllDeletedRevisions `Partial`} / {@link mw.Api.Params.Action.Query.Generator.AllDeletedRevisions `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.AllDeletedRevisions `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.AllDeletedRevisions `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.AllDeletedRevisions `Partial`} instead. */ +export type ApiQueryAllDeletedRevisionsParams = Partial; -export interface ApiActionGroupReviewParams extends ApiParams { - action?: "groupreview"; - group: string; - language?: string; - state: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.AllFileUsages `Partial`} / {@link mw.Api.Params.Action.Purge.Generator.AllLinks `Partial`} / {@link mw.Api.Params.Action.Purge.Generator.AllRedirects `Partial`} / {@link mw.Api.Params.Action.Purge.Generator.AllTransclusions `Partial`} / {@link mw.Api.Params.Action.Query.List.AllFileUsages `Partial`} / {@link mw.Api.Params.Action.Query.List.AllLinks `Partial`} / {@link mw.Api.Params.Action.Query.List.AllRedirects `Partial`} / {@link mw.Api.Params.Action.Query.List.AllTransclusions `Partial`} / {@link mw.Api.Params.Action.Query.Generator.AllFileUsages `Partial`} / {@link mw.Api.Params.Action.Query.Generator.AllLinks `Partial`} / {@link mw.Api.Params.Action.Query.Generator.AllRedirects `Partial`} / {@link mw.Api.Params.Action.Query.Generator.AllTransclusions `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.AllFileUsages `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.AllLinks `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.AllRedirects `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.AllTransclusions `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.AllFileUsages `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.AllLinks `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.AllRedirects `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.AllTransclusions `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.AllFileUsages `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.AllLinks `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.AllRedirects `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.AllTransclusions `Partial`} instead. */ +export type ApiQueryAllLinksParams = Partial; -/** - * @private - */ -export interface ApiActionGrowthInvalidateImageRecommendationParams extends ApiParams { - action?: "growthinvalidateimagerecommendation"; - tasktype?: "image-recommendation" | "section-image-recommendation"; - title: string; - filename: string; - sectiontitle?: string; - sectionnumber?: number; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.AllImages `Partial`} / {@link mw.Api.Params.Action.Query.List.AllImages `Partial`} / {@link mw.Api.Params.Action.Query.Generator.AllImages `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.AllImages `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.AllImages `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.AllImages `Partial`} instead. */ +export type ApiQueryAllImagesParams = Partial; -/** - * @private - */ -export interface ApiActionGrowthInvalidatePersonalizedPraiseSuggestionParams extends ApiParams { - action?: "growthinvalidatepersonalizedpraisesuggestion"; - mentee: string; - reason?: "praised" | "skipped"; - skipreason?: "already-praised" | "not-now" | "not-praiseworthy" | "other"; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.AllPages `Partial`} / {@link mw.Api.Params.Action.Query.List.AllPages `Partial`} / {@link mw.Api.Params.Action.Query.Generator.AllPages `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.AllPages `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.AllPages `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.AllPages `Partial`} instead. */ +export type ApiQueryAllPagesParams = Partial; -export interface ApiActionGrowthManageMentorListParams extends ApiParams { - action?: "growthmanagementorlist"; - geaction: "add" | "change" | "remove"; - message?: string; - weight?: "0" | "1" | "2" | "4"; - isaway?: boolean; - awaytimestamp?: timestamp; - summary?: string; - username?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.AllRevisions `Partial`} / {@link mw.Api.Params.Action.Query.List.AllRevisions `Partial`} / {@link mw.Api.Params.Action.Query.Generator.AllRevisions `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.AllRevisions `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.AllRevisions `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.AllRevisions `Partial`} instead. */ +export type ApiQueryAllRevisionsParams = Partial; -export interface ApiActionGrowthMentorDashboardUpdateDataParams extends ApiParams { - action?: "growthmentordashboardupdatedata"; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.AutomaticTranslationDenseLanguages `Partial`} / {@link mw.Api.Params.Action.Query.List.AutomaticTranslationDenseLanguages `Partial`} / {@link mw.Api.Params.Action.Query.Generator.AutomaticTranslationDenseLanguages `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.AutomaticTranslationDenseLanguages `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.AutomaticTranslationDenseLanguages `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.AutomaticTranslationDenseLanguages `Partial`} instead. */ +export type ContentTranslationActionApiQueryAutomaticTranslationDenseLanguagesParams = Partial; -export interface ApiActionGrowthSetMenteeStatusParams extends ApiParams { - action?: "growthsetmenteestatus"; - state: "disabled" | "enabled" | "optout"; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Backlinks `Partial`} / {@link mw.Api.Params.Action.Purge.Generator.Embeddedin `Partial`} / {@link mw.Api.Params.Action.Purge.Generator.ImageUsage `Partial`} / {@link mw.Api.Params.Action.Query.List.Backlinks `Partial`} / {@link mw.Api.Params.Action.Query.List.Embeddedin `Partial`} / {@link mw.Api.Params.Action.Query.List.ImageUsage `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Backlinks `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Embeddedin `Partial`} / {@link mw.Api.Params.Action.Query.Generator.ImageUsage `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Backlinks `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Embeddedin `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.ImageUsage `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Backlinks `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Embeddedin `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.ImageUsage `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Backlinks `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Embeddedin `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.ImageUsage `Partial`} instead. */ +export type ApiQueryBacklinksParams = Partial; -export interface ApiActionGrowthSetMentorParams extends ApiParams { - action?: "growthsetmentor"; - mentee: string; - mentor: string; - reason?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Categories `Partial`} / {@link mw.Api.Params.Action.Query.Prop.Categories `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Categories `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Categories `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Categories `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Categories `Partial`} instead. */ +export type ApiQueryCategoriesParams = Partial; -export interface ApiActionGrowthStarMenteeParams extends ApiParams { - action?: "growthstarmentee"; - gesaction: "star" | "unstar"; - gesmentee: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.CategoryMembers `Partial`} / {@link mw.Api.Params.Action.Query.List.CategoryMembers `Partial`} / {@link mw.Api.Params.Action.Query.Generator.CategoryMembers `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.CategoryMembers `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.CategoryMembers `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.CategoryMembers `Partial`} instead. */ +export type ApiQueryCategoryMembersParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page} - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:FAQ} - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Quick_start_guide} - */ -export interface ApiActionHelpParams extends ApiParams { - action?: "help"; - modules?: string | string[]; - submodules?: boolean; - recursivesubmodules?: boolean; - wrap?: boolean; - toc?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Configuredpages `Partial`} / {@link mw.Api.Params.Action.Query.List.Configuredpages `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Configuredpages `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Configuredpages `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Configuredpages `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Configuredpages `Partial`} instead. */ +export type ApiQueryConfiguredpagesParams = Partial; -/** - * @private - */ -export interface ApiActionHelpPanelQuestionPosterParams extends ApiParams { - action?: "helppanelquestionposter"; - body: string; - source?: - | "helpdesk" - | "helppanel" - | "homepage-mentorship" - | "mentor-helppanel" - | "mentor-homepage"; - relevanttitle?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.ContentTranslation `Partial`} / {@link mw.Api.Params.Action.Query.List.ContentTranslation `Partial`} / {@link mw.Api.Params.Action.Query.Generator.ContentTranslation `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.ContentTranslation `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.ContentTranslation `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.ContentTranslation `Partial`} instead. */ +export type ContentTranslationActionApiQueryContentTranslationParams = Partial; -export interface ApiActionHomePageQuestionStoreParams extends ApiParams { - action?: "homepagequestionstore"; - storage: "growthexperiments-helppanel-questions" | "growthexperiments-mentor-questions"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.ContentTranslationSuggestions `Partial`} / {@link mw.Api.Params.Action.Query.List.ContentTranslationSuggestions `Partial`} / {@link mw.Api.Params.Action.Query.Generator.ContentTranslationSuggestions `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.ContentTranslationSuggestions `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.ContentTranslationSuggestions `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.ContentTranslationSuggestions `Partial`} instead. */ +export type ContentTranslationActionApiQueryContentTranslationSuggestionsParams = Partial; -export interface ApiActionImageRotateParams extends ApiParams { - action?: "imagerotate"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.DeletedRevisions `Partial`} / {@link mw.Api.Params.Action.Query.Prop.DeletedRevisions `Partial`} / {@link mw.Api.Params.Action.Query.Generator.DeletedRevisions `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.DeletedRevisions `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.DeletedRevisions `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.DeletedRevisions `Partial`} instead. */ +export type ApiQueryDeletedRevisionsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Import} - */ -export interface ApiActionImportParams extends ApiParams { - action?: "import"; - summary?: string; - xml?: upload; - interwikiprefix?: string; - interwikisource?: string; - interwikipage?: string; - fullhistory?: boolean; - templates?: boolean; - namespace?: namespace; - assignknownusers?: boolean; - rootpage?: string; - tags?: string | string[]; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.DuplicateFiles `Partial`} / {@link mw.Api.Params.Action.Query.Prop.DuplicateFiles `Partial`} / {@link mw.Api.Params.Action.Query.Generator.DuplicateFiles `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.DuplicateFiles `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.DuplicateFiles `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.DuplicateFiles `Partial`} instead. */ +export type ApiQueryDuplicateFilesParams = Partial; -export interface ApiActionJsonConfigParams extends ApiParams { - action?: "jsonconfig"; - command?: "reload" | "reset" | "status"; - namespace?: number; - title?: string; - content?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.ExtUrlUsage `Partial`} / {@link mw.Api.Params.Action.Query.List.ExtUrlUsage `Partial`} / {@link mw.Api.Params.Action.Query.Generator.ExtUrlUsage `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.ExtUrlUsage `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.ExtUrlUsage `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.ExtUrlUsage `Partial`} instead. */ +export type ApiQueryExtLinksUsageParams = Partial; -/** - * @private - */ -export interface ApiActionJsonDataParams extends ApiParams { - action?: "jsondata"; - title: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.FileUsage `Partial`} / {@link mw.Api.Params.Action.Purge.Generator.LinksHere `Partial`} / {@link mw.Api.Params.Action.Purge.Generator.Redirects `Partial`} / {@link mw.Api.Params.Action.Purge.Generator.Transcludedin `Partial`} / {@link mw.Api.Params.Action.Query.Prop.FileUsage `Partial`} / {@link mw.Api.Params.Action.Query.Prop.LinksHere `Partial`} / {@link mw.Api.Params.Action.Query.Prop.Redirects `Partial`} / {@link mw.Api.Params.Action.Query.Prop.Transcludedin `Partial`} / {@link mw.Api.Params.Action.Query.Generator.FileUsage `Partial`} / {@link mw.Api.Params.Action.Query.Generator.LinksHere `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Redirects `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Transcludedin `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.FileUsage `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.LinksHere `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Redirects `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Transcludedin `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.FileUsage `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.LinksHere `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Redirects `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Transcludedin `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.FileUsage `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.LinksHere `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Redirects `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Transcludedin `Partial`} instead. */ +export type ApiQueryBacklinkspropParams = Partial; -export interface ApiActionJsonSchemaParams extends ApiParams { - action?: "jsonschema"; - revid?: number; - title?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.GeoSearch `Partial`} / {@link mw.Api.Params.Action.Query.List.GeoSearch `Partial`} / {@link mw.Api.Params.Action.Query.Generator.GeoSearch `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.GeoSearch `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.GeoSearch `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.GeoSearch `Partial`} instead. */ +export type GeoDataApiQueryGeoSearchElasticParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Languagesearch} - */ -export interface ApiActionLanguageSearchParams extends ApiParams { - action?: "languagesearch"; - search: string; - typos?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.GrowthTasks `Partial`} / {@link mw.Api.Params.Action.Query.List.GrowthTasks `Partial`} / {@link mw.Api.Params.Action.Query.Generator.GrowthTasks `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.GrowthTasks `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.GrowthTasks `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.GrowthTasks `Partial`} instead. */ +export type GrowthExperimentsApiQueryGrowthTasksParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkaccount} - */ -export interface ApiActionLinkAccountParams extends ApiParams { - action?: "linkaccount"; - linkrequests?: string | string[]; - linkmessageformat?: "html" | "none" | "raw" | "wikitext"; - linkmergerequestfields?: boolean; - linkreturnurl?: string; - linkcontinue?: boolean; - linktoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Images `Partial`} / {@link mw.Api.Params.Action.Query.Prop.Images `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Images `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Images `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Images `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Images `Partial`} instead. */ +export type ApiQueryImagesParams = Partial; -/** - * @deprecated - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Login} - */ -export interface ApiActionLoginParams extends ApiParams { - action?: "login"; - lgname?: string; - lgpassword?: password; - lgdomain?: string; - lgtoken?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.IWBacklinks `Partial`} / {@link mw.Api.Params.Action.Query.List.IWBacklinks `Partial`} / {@link mw.Api.Params.Action.Query.Generator.IWBacklinks `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.IWBacklinks `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.IWBacklinks `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.IWBacklinks `Partial`} instead. */ +export type ApiQueryIWBacklinksParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Logout} - */ -export interface ApiActionLogoutParams extends ApiParams { - action?: "logout"; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.LangBacklinks `Partial`} / {@link mw.Api.Params.Action.Query.List.LangBacklinks `Partial`} / {@link mw.Api.Params.Action.Query.Generator.LangBacklinks `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.LangBacklinks `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.LangBacklinks `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.LangBacklinks `Partial`} instead. */ +export type ApiQueryLangBacklinksParams = Partial; -/** - * @private - */ -export interface ApiActionManageGroupSynchronizationCacheParams extends ApiParams { - action?: "managegroupsynchronizationcache"; - operation: "resolveGroup" | "resolveMessage"; - title?: string; - group: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Links `Partial`} / {@link mw.Api.Params.Action.Purge.Generator.Templates `Partial`} / {@link mw.Api.Params.Action.Query.Prop.Links `Partial`} / {@link mw.Api.Params.Action.Query.Prop.Templates `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Links `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Templates `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Links `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Templates `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Links `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Templates `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Links `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Templates `Partial`} instead. */ +export type ApiQueryLinksParams = Partial; -/** - * @private - */ -export interface ApiActionManageMessageGroupsParams extends ApiParams { - action?: "managemessagegroups"; - groupId: string; - renameMessageKey?: string; - messageKey: string; - operation: "new" | "rename"; - changesetName?: string; - changesetModified: number; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.MessageCollection `Partial`} / {@link mw.Api.Params.Action.Query.List.MessageCollection `Partial`} / {@link mw.Api.Params.Action.Query.Generator.MessageCollection `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.MessageCollection `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.MessageCollection `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.MessageCollection `Partial`} instead. */ +export type TranslateMessageLoadingQueryMessageCollectionActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Tag_management} - */ -export interface ApiActionManageTagsParams extends ApiParams { - action?: "managetags"; - operation: "activate" | "create" | "deactivate" | "delete"; - tag: string; - reason?: string; - ignorewarnings?: boolean; - tags?: string | string[]; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.MostViewed `Partial`} / {@link mw.Api.Params.Action.Query.List.MostViewed `Partial`} / {@link mw.Api.Params.Action.Query.Generator.MostViewed `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.MostViewed `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.MostViewed `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.MostViewed `Partial`} instead. */ +export type PageViewInfoApiQueryMostViewedParams = Partial; -export interface ApiActionMarkForTranslationParams extends ApiParams { - action?: "markfortranslation"; - title?: string; - pageid?: number; - revid?: number; - translatetitle?: "no" | "yes"; - prioritylanguages?: string | string[]; - forcepriority?: boolean; - priorityreason?: string; - nofuzzyunits?: string | string[]; - fuzzyunits?: string | string[]; - forcelatestsyntaxversion?: boolean; - transclusion?: "no" | "yes"; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Oldreviewedpages `Partial`} / {@link mw.Api.Params.Action.Query.List.Oldreviewedpages `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Oldreviewedpages `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Oldreviewedpages `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Oldreviewedpages `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Oldreviewedpages `Partial`} instead. */ +export type ApiQueryOldreviewedpagesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:MassMessage/API} - */ -export interface ApiActionMassMessageParams extends ApiParams { - "action"?: "massmessage"; - "spamlist": string; - "subject": string; - "message"?: string; - "page-message"?: string; - "token"?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.PagesWithProp `Partial`} / {@link mw.Api.Params.Action.Query.List.PagesWithProp `Partial`} / {@link mw.Api.Params.Action.Query.Generator.PagesWithProp `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.PagesWithProp `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.PagesWithProp `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.PagesWithProp `Partial`} instead. */ +export type ApiQueryPagesWithPropParams = Partial; -export interface ApiActionMediaDetectionParams extends ApiParams { - action?: "mediadetection"; - filename?: string; - filekey?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.PrefixSearch `Partial`} / {@link mw.Api.Params.Action.Query.List.PrefixSearch `Partial`} / {@link mw.Api.Params.Action.Query.Generator.PrefixSearch `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.PrefixSearch `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.PrefixSearch `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.PrefixSearch `Partial`} instead. */ +export type ApiQueryPrefixSearchParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Mergehistory} - */ -export interface ApiActionMergeHistoryParams extends ApiParams { - action?: "mergehistory"; - from?: string; - fromid?: number; - to?: string; - toid?: number; - timestamp?: timestamp; - reason?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.ProjectPages `Partial`} / {@link mw.Api.Params.Action.Query.List.ProjectPages `Partial`} / {@link mw.Api.Params.Action.Query.Generator.ProjectPages `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.ProjectPages `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.ProjectPages `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.ProjectPages `Partial`} instead. */ +export type PageAssessmentsApiQueryProjectPagesParams = Partial; -/** - * @private - */ -export interface ApiActionMessageGroupSubscriptionParams extends ApiParams { - action?: "messagegroupsubscription"; - groupId: string; - operation: "subscribe" | "unsubscribe"; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.ProofreadPagesInIndex `Partial`} / {@link mw.Api.Params.Action.Query.List.ProofreadPagesInIndex `Partial`} / {@link mw.Api.Params.Action.Query.Generator.ProofreadPagesInIndex `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.ProofreadPagesInIndex `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.ProofreadPagesInIndex `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.ProofreadPagesInIndex `Partial`} instead. */ +export type ProofreadPageApiQueryPagesInIndexParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Move} - */ -export interface ApiActionMoveParams extends ApiParams { - action?: "move"; - from?: string; - fromid?: number; - to: string; - reason?: string; - movetalk?: boolean; - movesubpages?: boolean; - noredirect?: boolean; - watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; - watchlistexpiry?: expiry; - ignorewarnings?: boolean; - tags?: string | string[]; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.ProtectedTitles `Partial`} / {@link mw.Api.Params.Action.Query.List.ProtectedTitles `Partial`} / {@link mw.Api.Params.Action.Query.Generator.ProtectedTitles `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.ProtectedTitles `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.ProtectedTitles `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.ProtectedTitles `Partial`} instead. */ +export type ApiQueryProtectedTitlesParams = Partial; -export interface ApiActionNewsletterSubscribeParams extends ApiParams { - action?: "newslettersubscribe"; - id: number; - do: "subscribe" | "unsubscribe"; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.QueryPage `Partial`} / {@link mw.Api.Params.Action.Query.List.QueryPage `Partial`} / {@link mw.Api.Params.Action.Query.Generator.QueryPage `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.QueryPage `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.QueryPage `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.QueryPage `Partial`} instead. */ +export type ApiQueryQueryPageParams = Partial; -/** - * @private - */ -export interface ApiActionOATHValidateParams extends ApiParams { - action?: "oathvalidate"; - user?: string; - data: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Random `Partial`} / {@link mw.Api.Params.Action.Query.List.Random `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Random `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Random `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Random `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Random `Partial`} instead. */ +export type ApiQueryRandomParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Opensearch} - */ -export interface ApiActionOpenSearchParams extends ApiParams { - action?: "opensearch"; - search: string; - namespace?: namespace | namespace[]; - limit?: limit; - profile?: - | "classic" - | "engine_autoselect" - | "fast-fuzzy" - | "fuzzy" - | "fuzzy-subphrases" - | "normal" - | "normal-subphrases" - | "strict"; - /** - * @deprecated - */ - suggest?: boolean; - redirects?: "resolve" | "return"; - format?: "json" | "jsonfm" | "xml" | "xmlfm"; - warningsaserror?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.ReadingListEntries `Partial`} / {@link mw.Api.Params.Action.Query.List.ReadingListEntries `Partial`} / {@link mw.Api.Params.Action.Query.Generator.ReadingListEntries `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.ReadingListEntries `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.ReadingListEntries `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.ReadingListEntries `Partial`} instead. */ +export type ReadingListsApiQueryReadingListEntriesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Options} - */ -export interface ApiActionOptionsParams extends ApiParams { - action?: "options"; - reset?: boolean; - resetkinds?: OneOrMore< - | "all" - | "registered" - | "registered-checkmatrix" - | "registered-multiselect" - | "special" - | "unused" - | "userjs" - >; - change?: string | string[]; - optionname?: string; - optionvalue?: string; - global?: "ignore" | "override" | "update"; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.RecentChanges `Partial`} / {@link mw.Api.Params.Action.Query.List.RecentChanges `Partial`} / {@link mw.Api.Params.Action.Query.Generator.RecentChanges `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.RecentChanges `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.RecentChanges `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.RecentChanges `Partial`} instead. */ +export type ApiQueryRecentChangesParams = Partial; -export interface ApiActionPageTriageActionParams extends ApiParams { - action?: "pagetriageaction"; - pageid: number; - reviewed?: "0" | "1"; - enqueue?: boolean; - token?: string; - note?: string; - skipnotif?: boolean; - tags?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Revisions `Partial`} / {@link mw.Api.Params.Action.Query.Prop.Revisions `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Revisions `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Revisions `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Revisions `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Revisions `Partial`} instead. */ +export type ApiQueryRevisionsParams = Partial; -export interface ApiActionPageTriageListParams extends ApiParams { - action?: "pagetriagelist"; - show_predicted_class_stub?: boolean; - show_predicted_class_start?: boolean; - show_predicted_class_c?: boolean; - show_predicted_class_b?: boolean; - show_predicted_class_good?: boolean; - show_predicted_class_featured?: boolean; - show_predicted_issues_vandalism?: boolean; - show_predicted_issues_spam?: boolean; - show_predicted_issues_attack?: boolean; - show_predicted_issues_none?: boolean; - show_predicted_issues_copyvio?: boolean; - showbots?: boolean; - showautopatrolled?: boolean; - showredirs?: boolean; - showothers?: boolean; - showreviewed?: boolean; - showunreviewed?: boolean; - showdeleted?: boolean; - namespace?: number; - afc_state?: number; - no_category?: boolean; - unreferenced?: boolean; - no_inbound_links?: boolean; - recreated?: boolean; - non_autoconfirmed_users?: boolean; - learners?: boolean; - blocked_users?: boolean; - username?: string; - date_range_from?: timestamp; - date_range_to?: timestamp; - page_id?: number; - limit?: number; - offset?: number; - pageoffset?: number; - dir?: "newestfirst" | "newestreview" | "oldestfirst" | "oldestreview"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Search `Partial`} / {@link mw.Api.Params.Action.Query.List.Search `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Search `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Search `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Search `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Search `Partial`} instead. */ +export type ApiQuerySearchParams = Partial; -export interface ApiActionPageTriageStatsParams extends ApiParams { - action?: "pagetriagestats"; - show_predicted_class_stub?: boolean; - show_predicted_class_start?: boolean; - show_predicted_class_c?: boolean; - show_predicted_class_b?: boolean; - show_predicted_class_good?: boolean; - show_predicted_class_featured?: boolean; - show_predicted_issues_vandalism?: boolean; - show_predicted_issues_spam?: boolean; - show_predicted_issues_attack?: boolean; - show_predicted_issues_none?: boolean; - show_predicted_issues_copyvio?: boolean; - showbots?: boolean; - showautopatrolled?: boolean; - showredirs?: boolean; - showothers?: boolean; - showreviewed?: boolean; - showunreviewed?: boolean; - showdeleted?: boolean; - namespace?: number; - afc_state?: number; - no_category?: boolean; - unreferenced?: boolean; - no_inbound_links?: boolean; - recreated?: boolean; - non_autoconfirmed_users?: boolean; - learners?: boolean; - blocked_users?: boolean; - username?: string; - date_range_from?: timestamp; - date_range_to?: timestamp; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Unreviewedpages `Partial`} / {@link mw.Api.Params.Action.Query.List.Unreviewedpages `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Unreviewedpages `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Unreviewedpages `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Unreviewedpages `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Unreviewedpages `Partial`} instead. */ +export type ApiQueryUnreviewedpagesParams = Partial; -export interface ApiActionPageTriageTagCopyvioParams extends ApiParams { - action?: "pagetriagetagcopyvio"; - revid: number; - untag?: boolean; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.Watchlist `Partial`} / {@link mw.Api.Params.Action.Query.List.Watchlist `Partial`} / {@link mw.Api.Params.Action.Query.Generator.Watchlist `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.Watchlist `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.Watchlist `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.Watchlist `Partial`} instead. */ +export type ApiQueryWatchlistParams = Partial; -export interface ApiActionPageTriageTaggingParams extends ApiParams { - action?: "pagetriagetagging"; - pageid: number; - token?: string; - wikitext: string; - deletion?: boolean; - note?: string; - taglist: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.WatchlistRaw `Partial`} / {@link mw.Api.Params.Action.Query.List.WatchlistRaw `Partial`} / {@link mw.Api.Params.Action.Query.Generator.WatchlistRaw `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.WatchlistRaw `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.WatchlistRaw `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.WatchlistRaw `Partial`} instead. */ +export type ApiQueryWatchlistRawParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Parameter_information} - */ -export interface ApiActionParamInfoParams extends ApiParams { - action?: "paraminfo"; - modules?: string | string[]; - helpformat?: "html" | "none" | "raw" | "wikitext"; - /** - * @deprecated - */ - querymodules?: string | string[]; - /** - * @deprecated - */ - mainmodule?: string; - /** - * @deprecated - */ - pagesetmodule?: string; - /** - * @deprecated - */ - formatmodules?: OneOrMore< - "json" | "jsonfm" | "none" | "php" | "phpfm" | "rawfm" | "xml" | "xmlfm" - >; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.WBListEntityUsage `Partial`} / {@link mw.Api.Params.Action.Query.List.WBListEntityUsage `Partial`} / {@link mw.Api.Params.Action.Query.Generator.WBListEntityUsage `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.WBListEntityUsage `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.WBListEntityUsage `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.WBListEntityUsage `Partial`} instead. */ +export type WikibaseClientApiListEntityUsageParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Parsing_wikitext} - */ -export interface ApiActionParseParams extends ApiParams { - action?: "parse"; - title?: string; - text?: string; - revid?: number; - summary?: string; - page?: string; - pageid?: number; - redirects?: boolean; - oldid?: number; - prop?: OneOrMore< - | "categories" - | "categorieshtml" - | "displaytitle" - | "encodedjsconfigvars" - | "externallinks" - | "headhtml" - | "images" - | "indicators" - | "iwlinks" - | "jsconfigvars" - | "langlinks" - | "limitreportdata" - | "limitreporthtml" - | "links" - | "modules" - | "parsetree" - | "parsewarnings" - | "parsewarningshtml" - | "properties" - | "revid" - | "sections" - | "subtitle" - | "templates" - | "text" - | "wikitext" - | "headitems" - >; - wrapoutputclass?: string; - usearticle?: boolean; - parsoid?: boolean; - pst?: boolean; - onlypst?: boolean; - /** - * @deprecated - */ - effectivelanglinks?: boolean; - section?: string; - sectiontitle?: string; - /** - * @deprecated - */ - disablepp?: boolean; - disablelimitreport?: boolean; - disableeditsection?: boolean; - disablestylededuplication?: boolean; - showstrategykeys?: boolean; - /** - * @deprecated - */ - generatexml?: boolean; - preview?: boolean; - sectionpreview?: boolean; - disabletoc?: boolean; - useskin?: string; - contentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - contentmodel?: string; - mobileformat?: boolean; - templatesandboxprefix?: string | string[]; - templatesandboxtitle?: string; - templatesandboxtext?: string; - templatesandboxcontentmodel?: string; - templatesandboxcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.WBSearch `Partial`} / {@link mw.Api.Params.Action.Query.List.WBSearch `Partial`} / {@link mw.Api.Params.Action.Query.Generator.WBSearch `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.WBSearch `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.WBSearch `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.WBSearch `Partial`} instead. */ +export type WikibaseRepoApiQuerySearchEntitiesParams = Partial; -/** - * @private - */ -export interface ApiActionParserMigrationParams extends ApiParams { - action?: "parser-migration"; - title: string; - config?: OneOrMore<"new" | "old">; - redirect?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.WikiLambdaFnSearch `Partial`} / {@link mw.Api.Params.Action.Query.List.WikiLambdaFnSearch `Partial`} / {@link mw.Api.Params.Action.Query.Generator.WikiLambdaFnSearch `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.WikiLambdaFnSearch `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.WikiLambdaFnSearch `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.WikiLambdaFnSearch `Partial`} instead. */ +export type WikiLambdaActionAPIApiQueryZFunctionReferenceParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Patrol} - */ -export interface ApiActionPatrolParams extends ApiParams { - action?: "patrol"; - rcid?: number; - revid?: number; - tags?: string | string[]; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.WikiLambdaLoadZObjects `Partial`} / {@link mw.Api.Params.Action.Query.List.WikiLambdaLoadZObjects `Partial`} / {@link mw.Api.Params.Action.Query.Generator.WikiLambdaLoadZObjects `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.WikiLambdaLoadZObjects `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.WikiLambdaLoadZObjects `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.WikiLambdaLoadZObjects `Partial`} instead. */ +export type WikiLambdaActionAPIApiQueryZObjectsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protect} - */ -export interface ApiActionProtectParams extends ApiParams { - action?: "protect"; - title?: string; - pageid?: number; - protections: string | string[]; - expiry?: string | string[]; - reason?: string; - tags?: string | string[]; - cascade?: boolean; - /** - * @deprecated - */ - watch?: boolean; - watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; - watchlistexpiry?: expiry; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge.Generator.WikiLambdaSearchLabels `Partial`} / {@link mw.Api.Params.Action.Query.List.WikiLambdaSearchLabels `Partial`} / {@link mw.Api.Params.Action.Query.Generator.WikiLambdaSearchLabels `Partial`} / {@link mw.Api.Params.Action.SetNotificationTimestamp.Generator.WikiLambdaSearchLabels `Partial`} / {@link mw.Api.Params.Action.TemplateData.Generator.WikiLambdaSearchLabels `Partial`} / {@link mw.Api.Params.Action.Watch.Generator.WikiLambdaSearchLabels `Partial`} instead. */ +export type WikiLambdaActionAPIApiQueryZObjectLabelsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Purge} - */ -export interface ApiActionPurgeParams extends ApiParams { - action?: "purge"; - forcelinkupdate?: boolean; - forcerecursivelinkupdate?: boolean; - continue?: string; - titles?: string | string[]; - pageids?: number | number[]; - revids?: number | number[]; - generator?: string; - redirects?: boolean; - converttitles?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Purge `Partial`} instead. */ +export type ApiPurgeParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories} - */ -export interface ApiActionPurgeGeneratorAllCategoriesParams extends ApiActionPurgeParams { - generator?: "allcategories"; - gacfrom?: string; - gaccontinue?: string; - gacto?: string; - gacprefix?: string; - gacdir?: "ascending" | "descending"; - gacmin?: number; - gacmax?: number; - gaclimit?: limit; - gacprop?: OneOrMore<"hidden" | "size">; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.CategoryInfo `Partial`} instead. */ +export type ApiQueryCategoryInfoParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions} - */ -export interface ApiActionPurgeGeneratorAllDeletedRevisionsParams extends ApiActionPurgeParams { - generator?: "alldeletedrevisions"; - gadrprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - gadrslots?: string | string[]; - [k: `gadrcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gadrlimit?: limit; - /** - * @deprecated - */ - gadrexpandtemplates?: boolean; - /** - * @deprecated - */ - gadrgeneratexml?: boolean; - /** - * @deprecated - */ - gadrparse?: boolean; - gadrsection?: string; - /** - * @deprecated - */ - gadrdiffto?: string; - /** - * @deprecated - */ - gadrdifftotext?: string; - /** - * @deprecated - */ - gadrdifftotextpst?: boolean; - /** - * @deprecated - */ - gadrcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gadruser?: string; - gadrnamespace?: namespace | namespace[]; - gadrstart?: timestamp; - gadrend?: timestamp; - gadrdir?: "newer" | "older"; - gadrfrom?: string; - gadrto?: string; - gadrprefix?: string; - gadrexcludeuser?: string; - gadrtag?: string; - gadrcontinue?: string; - gadrgeneratetitles?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.CirrusBuildDoc `Partial`} instead. */ +export type CirrusSearchApiQueryBuildDocumentParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages} - */ -export interface ApiActionPurgeGeneratorAllFileUsagesParams extends ApiActionPurgeParams { - generator?: "allfileusages"; - gafcontinue?: string; - gaffrom?: string; - gafto?: string; - gafprefix?: string; - gafunique?: boolean; - gafprop?: OneOrMore<"ids" | "title">; - gaflimit?: limit; - gafdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.CirrusCompSuggestBuildDoc `Partial`} instead. */ +export type CirrusSearchApiQueryCompSuggestBuildDocParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages} - */ -export interface ApiActionPurgeGeneratorAllImagesParams extends ApiActionPurgeParams { - generator?: "allimages"; - gaisort?: "name" | "timestamp"; - gaidir?: "ascending" | "descending" | "newer" | "older"; - gaifrom?: string; - gaito?: string; - gaicontinue?: string; - gaistart?: timestamp; - gaiend?: timestamp; - gaiprop?: OneOrMore< - | "badfile" - | "bitdepth" - | "canonicaltitle" - | "comment" - | "commonmetadata" - | "dimensions" - | "extmetadata" - | "mediatype" - | "metadata" - | "mime" - | "parsedcomment" - | "sha1" - | "size" - | "timestamp" - | "url" - | "user" - | "userid" - >; - gaiprefix?: string; - gaiminsize?: number; - gaimaxsize?: number; - gaisha1?: string; - gaisha1base36?: string; - gaiuser?: string; - gaifilterbots?: "all" | "bots" | "nobots"; - gaimime?: string | string[]; - gailimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.CirrusDoc `Partial`} instead. */ +export type CirrusSearchApiQueryCirrusDocParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks} - */ -export interface ApiActionPurgeGeneratorAllLinksParams extends ApiActionPurgeParams { - generator?: "alllinks"; - galcontinue?: string; - galfrom?: string; - galto?: string; - galprefix?: string; - galunique?: boolean; - galprop?: OneOrMore<"ids" | "title">; - galnamespace?: namespace; - gallimit?: limit; - galdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.Contributors `Partial`} instead. */ +export type ApiQueryContributorsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages} - */ -export interface ApiActionPurgeGeneratorAllPagesParams extends ApiActionPurgeParams { - generator?: "allpages"; - gapfrom?: string; - gapcontinue?: string; - gapto?: string; - gapprefix?: string; - gapnamespace?: namespace; - gapfilterredir?: "all" | "nonredirects" | "redirects"; - gapfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; - gapminsize?: number; - gapmaxsize?: number; - gapprtype?: OneOrMore<"edit" | "move" | "upload">; - gapprlevel?: string | string[]; - gapprfiltercascade?: "all" | "cascading" | "noncascading"; - gapprexpiry?: "all" | "definite" | "indefinite"; - gaplimit?: limit; - gapdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.Coordinates `Partial`} instead. */ +export type GeoDataApiQueryCoordinatesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects} - */ -export interface ApiActionPurgeGeneratorAllRedirectsParams extends ApiActionPurgeParams { - generator?: "allredirects"; - garcontinue?: string; - garfrom?: string; - garto?: string; - garprefix?: string; - garunique?: boolean; - garprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; - garnamespace?: namespace; - garlimit?: limit; - gardir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.DefaultContentForPage `Partial`} instead. */ +export type ProofreadPageApiQueryDefaultContentForPageParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions} - */ -export interface ApiActionPurgeGeneratorAllRevisionsParams extends ApiActionPurgeParams { - generator?: "allrevisions"; - garvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "oresscores" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - garvslots?: string | string[]; - [k: `garvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - garvlimit?: limit; - /** - * @deprecated - */ - garvexpandtemplates?: boolean; - /** - * @deprecated - */ - garvgeneratexml?: boolean; - /** - * @deprecated - */ - garvparse?: boolean; - garvsection?: string; - /** - * @deprecated - */ - garvdiffto?: string; - /** - * @deprecated - */ - garvdifftotext?: string; - /** - * @deprecated - */ - garvdifftotextpst?: boolean; - /** - * @deprecated - */ - garvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - garvuser?: string; - garvnamespace?: namespace | namespace[]; - garvstart?: timestamp; - garvend?: timestamp; - garvdir?: "newer" | "older"; - garvexcludeuser?: string; - garvcontinue?: string; - garvgeneratetitles?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.Description `Partial`} instead. */ +export type WikibaseClientApiDescriptionParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions} - */ -export interface ApiActionPurgeGeneratorAllTransclusionsParams extends ApiActionPurgeParams { - generator?: "alltransclusions"; - gatcontinue?: string; - gatfrom?: string; - gatto?: string; - gatprefix?: string; - gatunique?: boolean; - gatprop?: OneOrMore<"ids" | "title">; - gatnamespace?: namespace; - gatlimit?: limit; - gatdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.EntityTerms `Partial`} instead. */ +export type WikibaseRepoApiEntityTermsParams = Partial; -export interface ApiActionPurgeGeneratorAutomaticTranslationDenseLanguagesParams - extends ApiActionPurgeParams { - "generator"?: "automatictranslationdenselanguages"; - "gqid": string; - "gsection-titles"?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.ExtLinks `Partial`} instead. */ +export type ApiQueryExternalLinksParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks} - */ -export interface ApiActionPurgeGeneratorBacklinksParams extends ApiActionPurgeParams { - generator?: "backlinks"; - gbltitle?: string; - gblpageid?: number; - gblcontinue?: string; - gblnamespace?: namespace | namespace[]; - gbldir?: "ascending" | "descending"; - gblfilterredir?: "all" | "nonredirects" | "redirects"; - gbllimit?: limit; - gblredirect?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.Extracts `Partial`} instead. */ +export type TextExtractsApiQueryExtractsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories} - */ -export interface ApiActionPurgeGeneratorCategoriesParams extends ApiActionPurgeParams { - generator?: "categories"; - gclprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; - gclshow?: OneOrMore<"!hidden" | "hidden">; - gcllimit?: limit; - gclcontinue?: string; - gclcategories?: string | string[]; - gcldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.Flagged `Partial`} instead. */ +export type ApiQueryFlaggedParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers} - */ -export interface ApiActionPurgeGeneratorCategoryMembersParams extends ApiActionPurgeParams { - generator?: "categorymembers"; - gcmtitle?: string; - gcmpageid?: number; - gcmprop?: OneOrMore<"ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type">; - gcmnamespace?: namespace | namespace[]; - gcmtype?: OneOrMore<"file" | "page" | "subcat">; - gcmcontinue?: string; - gcmlimit?: limit; - gcmsort?: "sortkey" | "timestamp"; - gcmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; - gcmstart?: timestamp; - gcmend?: timestamp; - gcmstarthexsortkey?: string; - gcmendhexsortkey?: string; - gcmstartsortkeyprefix?: string; - gcmendsortkeyprefix?: string; - /** - * @deprecated - */ - gcmstartsortkey?: string; - /** - * @deprecated - */ - gcmendsortkey?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.FlowInfo `Partial`} instead. */ +export type FlowApiQueryPropFlowInfoParams = Partial; -export interface ApiActionPurgeGeneratorConfiguredpagesParams extends ApiActionPurgeParams { - generator?: "configuredpages"; - gcpstart?: number; - gcpend?: number; - gcpdir?: "newer" | "older"; - gcpnamespace?: namespace | namespace[]; - gcpdefault?: "latest" | "stable"; - gcpautoreview?: "none" | "sysop"; - gcplimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.GlobalUsage `Partial`} instead. */ +export type GlobalUsageApiQueryGlobalUsageParams = Partial; -export interface ApiActionPurgeGeneratorContentTranslationParams extends ApiActionPurgeParams { - generator?: "contenttranslation"; - gtranslationid?: string; - gfrom?: string; - gto?: string; - gsourcetitle?: string; - gsourcesectiontitle?: string; - glimit?: limit; - goffset?: string; - gtype?: "draft" | "published"; - gusecase?: "desktop-editor-draft" | "translation-corpora-units" | "unified-dashboard"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.GrowthImageSuggestionData `Partial`} instead. */ +export type GrowthExperimentsApiQueryImageSuggestionDataParams = Partial; -export interface ApiActionPurgeGeneratorContentTranslationSuggestionsParams - extends ApiActionPurgeParams { - generator?: "contenttranslationsuggestions"; - gfrom?: string; - gto?: string; - glistid?: string; - glimit?: limit; - goffset?: string; - gseed?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.ImageForPage `Partial`} instead. */ +export type ProofreadPageApiQueryImageForPageParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions} - */ -export interface ApiActionPurgeGeneratorDeletedRevisionsParams extends ApiActionPurgeParams { - generator?: "deletedrevisions"; - gdrvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - gdrvslots?: string | string[]; - [k: `gdrvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gdrvlimit?: limit; - /** - * @deprecated - */ - gdrvexpandtemplates?: boolean; - /** - * @deprecated - */ - gdrvgeneratexml?: boolean; - /** - * @deprecated - */ - gdrvparse?: boolean; - gdrvsection?: string; - /** - * @deprecated - */ - gdrvdiffto?: string; - /** - * @deprecated - */ - gdrvdifftotext?: string; - /** - * @deprecated - */ - gdrvdifftotextpst?: boolean; - /** - * @deprecated - */ - gdrvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gdrvstart?: timestamp; - gdrvend?: timestamp; - gdrvdir?: "newer" | "older"; - gdrvtag?: string; - gdrvuser?: string; - gdrvexcludeuser?: string; - gdrvcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.ImageInfo `Partial`} instead. */ +export type ApiQueryImageInfoParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles} - */ -export interface ApiActionPurgeGeneratorDuplicateFilesParams extends ApiActionPurgeParams { - generator?: "duplicatefiles"; - gdflimit?: limit; - gdfcontinue?: string; - gdfdir?: "ascending" | "descending"; - gdflocalonly?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.Info `Partial`} instead. */ +export type ApiQueryInfoParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin} - */ -export interface ApiActionPurgeGeneratorEmbeddedinParams extends ApiActionPurgeParams { - generator?: "embeddedin"; - geititle?: string; - geipageid?: number; - geicontinue?: string; - geinamespace?: namespace | namespace[]; - geidir?: "ascending" | "descending"; - geifilterredir?: "all" | "nonredirects" | "redirects"; - geilimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.IsReviewed `Partial`} instead. */ +export type PageTriageApiIsReviewedParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage} - */ -export interface ApiActionPurgeGeneratorExtUrlUsageParams extends ApiActionPurgeParams { - generator?: "exturlusage"; - geuprop?: OneOrMore<"ids" | "title" | "url">; - geucontinue?: string; - geuprotocol?: - | "" - | "bitcoin" - | "ftp" - | "ftps" - | "geo" - | "git" - | "gopher" - | "http" - | "https" - | "irc" - | "ircs" - | "magnet" - | "mailto" - | "matrix" - | "mms" - | "news" - | "nntp" - | "redis" - | "sftp" - | "sip" - | "sips" - | "sms" - | "ssh" - | "svn" - | "tel" - | "telnet" - | "urn" - | "worldwind" - | "xmpp"; - geuquery?: string; - geunamespace?: namespace | namespace[]; - geulimit?: limit; - /** - * @deprecated - */ - geuexpandurl?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.IWLinks `Partial`} instead. */ +export type ApiQueryIWLinksParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage} - */ -export interface ApiActionPurgeGeneratorFileUsageParams extends ApiActionPurgeParams { - generator?: "fileusage"; - gfuprop?: OneOrMore<"pageid" | "redirect" | "title">; - gfunamespace?: namespace | namespace[]; - gfushow?: OneOrMore<"!redirect" | "redirect">; - gfulimit?: limit; - gfucontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.LangLinks `Partial`} instead. */ +export type ApiQueryLangLinksParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch} - */ -export interface ApiActionPurgeGeneratorGeoSearchParams extends ApiActionPurgeParams { - generator?: "geosearch"; - ggscoord?: string; - ggspage?: string; - ggsbbox?: string; - ggsradius?: number; - ggsmaxdim?: number; - ggssort?: "distance" | "relevance"; - ggslimit?: limit; - ggsglobe?: "earth"; - ggsnamespace?: namespace | namespace[]; - ggsprop?: OneOrMore<"country" | "dim" | "globe" | "name" | "region" | "type">; - ggsprimary?: "all" | "primary" | "secondary"; - ggsdebug?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.LangLinksCount `Partial`} instead. */ +export type ContentTranslationActionApiQueryLangLinksCountParams = Partial; -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API} - */ -export interface ApiActionPurgeGeneratorGrowthTasksParams extends ApiActionPurgeParams { - generator?: "growthtasks"; - ggttasktypes?: OneOrMore< - | "copyedit" - | "expand" - | "image-recommendation" - | "link-recommendation" - | "links" - | "references" - | "section-image-recommendation" - | "update" - >; - ggttopics?: OneOrMore< - | "africa" - | "architecture" - | "art" - | "asia" - | "biography" - | "biology" - | "business-and-economics" - | "central-america" - | "chemistry" - | "comics-and-anime" - | "computers-and-internet" - | "earth-and-environment" - | "education" - | "engineering" - | "entertainment" - | "europe" - | "fashion" - | "food-and-drink" - | "general-science" - | "history" - | "literature" - | "mathematics" - | "medicine-and-health" - | "military-and-warfare" - | "music" - | "north-america" - | "oceania" - | "performing-arts" - | "philosophy-and-religion" - | "physics" - | "politics-and-government" - | "society" - | "south-america" - | "sports" - | "technology" - | "transportation" - | "tv-and-film" - | "video-games" - | "women" - >; - ggttopicsmode?: "AND" | "OR"; - ggtlimit?: limit; - ggtoffset?: number; - ggtdebug?: boolean; - ggtexcludepageids?: number | number[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.MapData `Partial`} instead. */ +export type KartographerApiQueryMapDataParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images} - */ -export interface ApiActionPurgeGeneratorImagesParams extends ApiActionPurgeParams { - generator?: "images"; - gimlimit?: limit; - gimcontinue?: string; - gimimages?: string | string[]; - gimdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.MMContent `Partial`} instead. */ +export type MediaWikiMassMessageApiQueryMMContentParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage} - */ -export interface ApiActionPurgeGeneratorImageUsageParams extends ApiActionPurgeParams { - generator?: "imageusage"; - giutitle?: string; - giupageid?: number; - giucontinue?: string; - giunamespace?: namespace | namespace[]; - giudir?: "ascending" | "descending"; - giufilterredir?: "all" | "nonredirects" | "redirects"; - giulimit?: limit; - giuredirect?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.PageAssessments `Partial`} instead. */ +export type PageAssessmentsApiQueryPageAssessmentsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks} - */ -export interface ApiActionPurgeGeneratorIWBacklinksParams extends ApiActionPurgeParams { - generator?: "iwbacklinks"; - giwblprefix?: string; - giwbltitle?: string; - giwblcontinue?: string; - giwbllimit?: limit; - giwblprop?: OneOrMore<"iwprefix" | "iwtitle">; - giwbldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.PageImages `Partial`} instead. */ +export type PageImagesApiQueryPageImagesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks} - */ -export interface ApiActionPurgeGeneratorLangBacklinksParams extends ApiActionPurgeParams { - generator?: "langbacklinks"; - glbllang?: string; - glbltitle?: string; - glblcontinue?: string; - glbllimit?: limit; - glblprop?: OneOrMore<"lllang" | "lltitle">; - glbldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.PageProps `Partial`} instead. */ +export type ApiQueryPagePropsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links} - */ -export interface ApiActionPurgeGeneratorLinksParams extends ApiActionPurgeParams { - generator?: "links"; - gplnamespace?: namespace | namespace[]; - gpllimit?: limit; - gplcontinue?: string; - gpltitles?: string | string[]; - gpldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.PageTerms `Partial`} instead. */ +export type WikibaseClientApiPageTermsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere} - */ -export interface ApiActionPurgeGeneratorLinksHereParams extends ApiActionPurgeParams { - generator?: "linkshere"; - glhprop?: OneOrMore<"pageid" | "redirect" | "title">; - glhnamespace?: namespace | namespace[]; - glhshow?: OneOrMore<"!redirect" | "redirect">; - glhlimit?: limit; - glhcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.PageViews `Partial`} instead. */ +export type PageViewInfoApiQueryPageViewsParams = Partial; -export interface ApiActionPurgeGeneratorMessageCollectionParams extends ApiActionPurgeParams { - generator?: "messagecollection"; - gmcgroup: string; - gmclanguage?: string; - gmclimit?: limit; - gmcoffset?: string; - gmcfilter?: string | string[]; - gmcprop?: OneOrMore<"definition" | "properties" | "tags" | "translation" | "revision">; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.Proofread `Partial`} instead. */ +export type ProofreadPageApiQueryProofreadParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo} - */ -export interface ApiActionPurgeGeneratorMostViewedParams extends ApiActionPurgeParams { - generator?: "mostviewed"; - gpvimmetric?: "pageviews"; - gpvimlimit?: limit; - gpvimoffset?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.StashImageInfo `Partial`} instead. */ +export type ApiQueryStashImageInfoParams = Partial; -export interface ApiActionPurgeGeneratorOldreviewedpagesParams extends ApiActionPurgeParams { - generator?: "oldreviewedpages"; - gorstart?: timestamp; - gorend?: timestamp; - gordir?: "newer" | "older"; - gormaxsize?: number; - gorfilterwatched?: "all" | "watched"; - gornamespace?: namespace | namespace[]; - gorcategory?: string; - gorfilterredir?: "all" | "nonredirects" | "redirects"; - gorlimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.TranscodeStatus `Partial`} instead. */ +export type MediaWikiTimedMediaHandlerApiTranscodeStatusParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop} - */ -export interface ApiActionPurgeGeneratorPagesWithPropParams extends ApiActionPurgeParams { - generator?: "pageswithprop"; - gpwppropname: string; - gpwpprop?: OneOrMore<"ids" | "title" | "value">; - gpwpcontinue?: string; - gpwplimit?: limit; - gpwpdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.VideoInfo `Partial`} instead. */ +export type MediaWikiTimedMediaHandlerApiQueryVideoInfoParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch} - */ -export interface ApiActionPurgeGeneratorPrefixSearchParams extends ApiActionPurgeParams { - generator?: "prefixsearch"; - gpssearch: string; - gpsnamespace?: namespace | namespace[]; - gpslimit?: limit; - gpsoffset?: number; - gpsprofile?: - | "classic" - | "engine_autoselect" - | "fast-fuzzy" - | "fuzzy" - | "fuzzy-subphrases" - | "normal" - | "normal-subphrases" - | "strict"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Prop.WBEntityUsage `Partial`} instead. */ +export type WikibaseClientApiPropsEntityUsageParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments} - */ -export interface ApiActionPurgeGeneratorProjectPagesParams extends ApiActionPurgeParams { - generator?: "projectpages"; - gwppassessments?: boolean; - gwppprojects: string | string[]; - gwpplimit?: limit; - gwppcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.AbuseFilters `Partial`} instead. */ +export type AbuseFilterApiQueryAbuseFiltersParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API} - */ -export interface ApiActionPurgeGeneratorProofreadPagesInIndexParams extends ApiActionPurgeParams { - generator?: "proofreadpagesinindex"; - gprppiiprop?: OneOrMore<"formattedpagenumber" | "ids" | "title" | "formattedPageNumber">; - gprppiititle?: string; - gprppiipageid?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.AbuseLog `Partial`} instead. */ +export type AbuseFilterApiQueryAbuseLogParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles} - */ -export interface ApiActionPurgeGeneratorProtectedTitlesParams extends ApiActionPurgeParams { - generator?: "protectedtitles"; - gptnamespace?: namespace | namespace[]; - gptlevel?: string | string[]; - gptlimit?: limit; - gptdir?: "newer" | "older"; - gptstart?: timestamp; - gptend?: timestamp; - gptprop?: OneOrMore< - "comment" | "expiry" | "level" | "parsedcomment" | "timestamp" | "user" | "userid" - >; - gptcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.AllCampaigns `Partial`} instead. */ +export type UploadWizardApiQueryAllCampaignsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage} - */ -export interface ApiActionPurgeGeneratorQueryPageParams extends ApiActionPurgeParams { - generator?: "querypage"; - gqppage: string; - gqpoffset?: number; - gqplimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.AllUsers `Partial`} instead. */ +export type ApiQueryAllUsersParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random} - */ -export interface ApiActionPurgeGeneratorRandomParams extends ApiActionPurgeParams { - generator?: "random"; - grnnamespace?: namespace | namespace[]; - grnfilterredir?: "all" | "nonredirects" | "redirects"; - /** - * @deprecated - */ - grnredirect?: boolean; - grnlimit?: limit; - grncontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.BetaFeatures `Partial`} instead. */ +export type BetaFeaturesApiQueryBetaFeaturesParams = Partial; -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionPurgeGeneratorReadingListEntriesParams extends ApiActionPurgeParams { - generator?: "readinglistentries"; - grlelists?: number | number[]; - grlechangedsince?: timestamp; - grlesort?: "name" | "updated"; - grledir?: "ascending" | "descending"; - grlelimit?: limit; - grlecontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.Blocks `Partial`} instead. */ +export type ApiQueryBlocksParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges} - */ -export interface ApiActionPurgeGeneratorRecentChangesParams extends ApiActionPurgeParams { - generator?: "recentchanges"; - grcstart?: timestamp; - grcend?: timestamp; - grcdir?: "newer" | "older"; - grcnamespace?: namespace | namespace[]; - grcuser?: string; - grcexcludeuser?: string; - grctag?: string; - grcprop?: OneOrMore< - | "comment" - | "flags" - | "ids" - | "loginfo" - | "oresscores" - | "parsedcomment" - | "patrolled" - | "redirect" - | "sha1" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - grcshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!redirect" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "redirect" - | "unpatrolled" - >; - grclimit?: limit; - grctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - grctoponly?: boolean; - grctitle?: string; - grccontinue?: string; - grcgeneraterevisions?: boolean; - grcslot?: "main" | "mediainfo"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.CentralNoticeActiveCampaigns `Partial`} instead. */ +export type ApiCentralNoticeQueryActiveCampaignsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects} - */ -export interface ApiActionPurgeGeneratorRedirectsParams extends ApiActionPurgeParams { - generator?: "redirects"; - grdprop?: OneOrMore<"fragment" | "pageid" | "title">; - grdnamespace?: namespace | namespace[]; - grdshow?: OneOrMore<"!fragment" | "fragment">; - grdlimit?: limit; - grdcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.CentralNoticeLogs `Partial`} instead. */ +export type ApiCentralNoticeLogsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions} - */ -export interface ApiActionPurgeGeneratorRevisionsParams extends ApiActionPurgeParams { - generator?: "revisions"; - grvprop?: string | string[]; - grvslots?: string | string[]; - [k: `grvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - grvlimit?: limit; - /** - * @deprecated - */ - grvexpandtemplates?: boolean; - /** - * @deprecated - */ - grvgeneratexml?: boolean; - /** - * @deprecated - */ - grvparse?: boolean; - grvsection?: string; - /** - * @deprecated - */ - grvdiffto?: string; - /** - * @deprecated - */ - grvdifftotext?: string; - /** - * @deprecated - */ - grvdifftotextpst?: boolean; - /** - * @deprecated - */ - grvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - grvstartid?: number; - grvendid?: number; - grvstart?: timestamp; - grvend?: timestamp; - grvdir?: "newer" | "older"; - grvuser?: string; - grvexcludeuser?: string; - grvtag?: string; - grvcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.CheckUser `Partial`} instead. */ +export type MediaWikiCheckUserApiQueryCheckUserParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search} - */ -export interface ApiActionPurgeGeneratorSearchParams extends ApiActionPurgeParams { - generator?: "search"; - gsrsearch: string; - gsrnamespace?: namespace | namespace[]; - gsrlimit?: limit; - gsroffset?: number; - gsrqiprofile?: string; - gsrwhat?: "nearmatch" | "text" | "title"; - gsrinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; - gsrprop?: OneOrMore< - | "categorysnippet" - | "extensiondata" - | "isfilematch" - | "redirectsnippet" - | "redirecttitle" - | "sectionsnippet" - | "sectiontitle" - | "size" - | "snippet" - | "timestamp" - | "titlesnippet" - | "wordcount" - | "hasrelated" - | "score" - >; - gsrinterwiki?: boolean; - gsrenablerewrites?: boolean; - gsrsort?: - | "create_timestamp_asc" - | "create_timestamp_desc" - | "incoming_links_asc" - | "incoming_links_desc" - | "just_match" - | "last_edit_asc" - | "last_edit_desc" - | "none" - | "random" - | "relevance" - | "user_random"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.CheckUserLog `Partial`} instead. */ +export type MediaWikiCheckUserApiQueryCheckUserLogParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates} - */ -export interface ApiActionPurgeGeneratorTemplatesParams extends ApiActionPurgeParams { - generator?: "templates"; - gtlnamespace?: namespace | namespace[]; - gtllimit?: limit; - gtlcontinue?: string; - gtltemplates?: string | string[]; - gtldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.ContentTranslationCorpora `Partial`} instead. */ +export type ContentTranslationActionApiQueryContentTranslationCorporaParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin} - */ -export interface ApiActionPurgeGeneratorTranscludedinParams extends ApiActionPurgeParams { - generator?: "transcludedin"; - gtiprop?: OneOrMore<"pageid" | "redirect" | "title">; - gtinamespace?: namespace | namespace[]; - gtishow?: OneOrMore<"!redirect" | "redirect">; - gtilimit?: limit; - gticontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.ContentTranslationLangTrend `Partial`} instead. */ +export type ContentTranslationActionApiQueryContentTranslationLanguageTrendParams = Partial; -export interface ApiActionPurgeGeneratorUnreviewedpagesParams extends ApiActionPurgeParams { - generator?: "unreviewedpages"; - gurstart?: string; - gurend?: string; - gurdir?: "ascending" | "descending"; - gurnamespace?: namespace | namespace[]; - gurfilterredir?: "all" | "nonredirects" | "redirects"; - gurfilterlevel?: number; - gurlimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.ContentTranslationStats `Partial`} instead. */ +export type ContentTranslationActionApiQueryContentTranslationStatsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist} - */ -export interface ApiActionPurgeGeneratorWatchlistParams extends ApiActionPurgeParams { - generator?: "watchlist"; - gwlallrev?: boolean; - gwlstart?: timestamp; - gwlend?: timestamp; - gwlnamespace?: namespace | namespace[]; - gwluser?: string; - gwlexcludeuser?: string; - gwldir?: "newer" | "older"; - gwllimit?: limit; - gwlprop?: OneOrMore< - | "comment" - | "expiry" - | "flags" - | "ids" - | "loginfo" - | "notificationtimestamp" - | "oresscores" - | "parsedcomment" - | "patrol" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - gwlshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!unread" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "unread" - >; - gwltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - gwlowner?: string; - gwltoken?: string; - gwlcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.CXPublishedTranslations `Partial`} instead. */ +export type ContentTranslationActionApiQueryPublishedTranslationsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw} - */ -export interface ApiActionPurgeGeneratorWatchlistRawParams extends ApiActionPurgeParams { - generator?: "watchlistraw"; - gwrcontinue?: string; - gwrnamespace?: namespace | namespace[]; - gwrlimit?: limit; - gwrprop?: OneOrMore<"changed">; - gwrshow?: OneOrMore<"!changed" | "changed">; - gwrowner?: string; - gwrtoken?: string; - gwrdir?: "ascending" | "descending"; - gwrfromtitle?: string; - gwrtotitle?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.CXTranslatorStats `Partial`} instead. */ +export type ContentTranslationActionApiQueryTranslatorStatsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API} - */ -export interface ApiActionPurgeGeneratorWBListEntityUsageParams extends ApiActionPurgeParams { - generator?: "wblistentityusage"; - gwbleuprop?: OneOrMore<"url">; - gwbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; - gwbleuentities: string | string[]; - gwbleulimit?: limit; - gwbleucontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.Deletedrevs `Partial`} instead. */ +export type ApiQueryDeletedrevsParams = Partial; -/** - * @private - */ -export interface ApiActionPurgeGeneratorWBSearchParams extends ApiActionPurgeParams { - generator?: "wbsearch"; - gwbssearch: string; - gwbslanguage?: string; - gwbsstrictlanguage?: boolean; - gwbstype?: string; - gwbslimit?: limit; - gwbsprofile?: "default" | "language"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.ExtDistBranches `Partial`} instead. */ +export type ExtensionDistributorApiListExtDistBranchesParams = Partial; -export interface ApiActionPurgeGeneratorWikiLambdaFnSearchParams extends ApiActionPurgeParams { - generator?: "wikilambdafn_search"; - gwikilambdafn_zfunction_id?: string; - gwikilambdafn_type?: string; - gwikilambdafn_limit?: limit; - gwikilambdafn_continue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.ExtDistRepos `Partial`} instead. */ +export type ExtensionDistributorApiListExtDistReposParams = Partial; -export interface ApiActionPurgeGeneratorWikiLambdaLoadZObjectsParams extends ApiActionPurgeParams { - generator?: "wikilambdaload_zobjects"; - gwikilambdaload_zids: string | string[]; - gwikilambdaload_revisions?: string | string[]; - gwikilambdaload_language?: string; - gwikilambdaload_get_dependencies?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.Filearchive `Partial`} instead. */ +export type ApiQueryFilearchiveParams = Partial; -export interface ApiActionPurgeGeneratorWikiLambdaSearchLabelsParams extends ApiActionPurgeParams { - generator?: "wikilambdasearch_labels"; - gwikilambdasearch_search?: string; - gwikilambdasearch_language: string; - gwikilambdasearch_nofallback?: boolean; - gwikilambdasearch_exact?: boolean; - gwikilambdasearch_type?: string; - gwikilambdasearch_return_type?: string; - gwikilambdasearch_strict_return_type?: boolean; - gwikilambdasearch_limit?: limit; - gwikilambdasearch_continue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.GadgetCategories `Partial`} instead. */ +export type GadgetsApiQueryGadgetCategoriesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Query} - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Meta} - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Properties} - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Lists} - */ -export interface ApiActionQueryParams extends ApiParams { - action?: "query"; - prop?: string | string[]; - list?: string | string[]; - meta?: string | string[]; - indexpageids?: boolean; - export?: boolean; - exportnowrap?: boolean; - exportschema?: "0.10" | "0.11"; - iwurl?: boolean; - continue?: string; - rawcontinue?: boolean; - titles?: string | string[]; - pageids?: number | number[]; - revids?: number | number[]; - generator?: string; - redirects?: boolean; - converttitles?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.Gadgets `Partial`} instead. */ +export type GadgetsApiQueryGadgetsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories} - */ -export interface ApiActionQueryPropCategoriesParams extends ApiActionQueryParams { - clprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; - clshow?: OneOrMore<"!hidden" | "hidden">; - cllimit?: limit; - clcontinue?: string; - clcategories?: string | string[]; - cldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.GlobalAllUsers `Partial`} instead. */ +export type CentralAuthApiQueryGlobalAllUsersParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categoryinfo} - */ -export interface ApiActionQueryPropCategoryInfoParams extends ApiActionQueryParams { - cicontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.GlobalBlocks `Partial`} instead. */ +export type GlobalBlockingApiQueryGlobalBlocksParams = Partial; -export interface ApiActionQueryPropCirrusBuildDocParams extends ApiActionQueryParams { - cbbuilders?: OneOrMore<"content" | "links">; - cblimiterprofile?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.GlobalGroups `Partial`} instead. */ +export type CentralAuthApiQueryGlobalGroupsParams = Partial; -export interface ApiActionQueryPropCirrusCompSuggestBuildDocParams extends ApiActionQueryParams { - csbmethod?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.GrowthMentorList `Partial`} instead. */ +export type GrowthExperimentsApiQueryMentorListParams = Partial; -export interface ApiActionQueryPropCirrusDocParams extends ApiActionQueryParams { - cdincludes?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.GrowthMentorMentee `Partial`} instead. */ +export type GrowthExperimentsApiQueryMentorMenteeParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Contributors} - */ -export interface ApiActionQueryPropContributorsParams extends ApiActionQueryParams { - pcgroup?: string | string[]; - pcexcludegroup?: string | string[]; - pcrights?: string | string[]; - pcexcluderights?: string | string[]; - pclimit?: limit; - pccontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.GrowthStarredMentees `Partial`} instead. */ +export type GrowthExperimentsApiQueryStarredMenteesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#prop.3Dcoordinates} - */ -export interface ApiActionQueryPropCoordinatesParams extends ApiActionQueryParams { - colimit?: limit; - cocontinue?: string; - coprop?: OneOrMore<"country" | "dim" | "globe" | "name" | "region" | "type">; - coprimary?: "all" | "primary" | "secondary"; - codistancefrompoint?: string; - codistancefrompage?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.LintErrors `Partial`} instead. */ +export type MediaWikiLinterApiQueryLintErrorsParams = Partial; -/** - * @private - */ -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryPropDefaultContentForPageParams extends ApiActionQueryParams {} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions} - */ -export interface ApiActionQueryPropDeletedRevisionsParams extends ApiActionQueryParams { - drvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - drvslots?: string | string[]; - [k: `drvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - drvlimit?: limit; - /** - * @deprecated - */ - drvexpandtemplates?: boolean; - /** - * @deprecated - */ - drvgeneratexml?: boolean; - /** - * @deprecated - */ - drvparse?: boolean; - drvsection?: string; - /** - * @deprecated - */ - drvdiffto?: string; - /** - * @deprecated - */ - drvdifftotext?: string; - /** - * @deprecated - */ - drvdifftotextpst?: boolean; - /** - * @deprecated - */ - drvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - drvstart?: timestamp; - drvend?: timestamp; - drvdir?: "newer" | "older"; - drvtag?: string; - drvuser?: string; - drvexcludeuser?: string; - drvcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.LogEvents `Partial`} instead. */ +export type ApiQueryLogEventsParams = Partial; -/** - * @private - */ -export interface ApiActionQueryPropDescriptionParams extends ApiActionQueryParams { - desccontinue?: number; - descprefersource?: "central" | "local"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.MessageGroupSubscription `Partial`} instead. */ +export type TranslateMessageGroupProcessingQueryMessageGroupSubscriptionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles} - */ -export interface ApiActionQueryPropDuplicateFilesParams extends ApiActionQueryParams { - dflimit?: limit; - dfcontinue?: string; - dfdir?: "ascending" | "descending"; - dflocalonly?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.MyStashedFiles `Partial`} instead. */ +export type ApiQueryMyStashedFilesParams = Partial; -export interface ApiActionQueryPropEntityTermsParams extends ApiActionQueryParams { - wbetcontinue?: number; - wbetlanguage?: string; - wbetterms?: OneOrMore<"alias" | "description" | "label">; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.PagePropNames `Partial`} instead. */ +export type ApiQueryPagePropNamesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Extlinks} - */ -export interface ApiActionQueryPropExtLinksParams extends ApiActionQueryParams { - ellimit?: limit; - elcontinue?: string; - elprotocol?: - | "" - | "bitcoin" - | "ftp" - | "ftps" - | "geo" - | "git" - | "gopher" - | "http" - | "https" - | "irc" - | "ircs" - | "magnet" - | "mailto" - | "matrix" - | "mms" - | "news" - | "nntp" - | "redis" - | "sftp" - | "sip" - | "sips" - | "sms" - | "ssh" - | "svn" - | "tel" - | "telnet" - | "urn" - | "worldwind" - | "xmpp"; - elquery?: string; - /** - * @deprecated - */ - elexpandurl?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.Projects `Partial`} instead. */ +export type PageAssessmentsApiQueryProjectsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:TextExtracts#API} - */ -export interface ApiActionQueryPropExtractsParams extends ApiActionQueryParams { - exchars?: number; - exsentences?: number; - exlimit?: limit; - exintro?: boolean; - explaintext?: boolean; - exsectionformat?: "plain" | "raw" | "wiki"; - excontinue?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.Tags `Partial`} instead. */ +export type ApiQueryTagsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage} - */ -export interface ApiActionQueryPropFileUsageParams extends ApiActionQueryParams { - fuprop?: OneOrMore<"pageid" | "redirect" | "title">; - funamespace?: namespace | namespace[]; - fushow?: OneOrMore<"!redirect" | "redirect">; - fulimit?: limit; - fucontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.Threads `Partial`} instead. */ +export type LiquidThreadsApiQueryLQTThreadsParams = Partial; -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryPropFlaggedParams extends ApiActionQueryParams {} - -/** - * @deprecated - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Flow/API#action.3Dquery.26prop.3Dflowinfo} - */ -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryPropFlowInfoParams extends ApiActionQueryParams {} - -export interface ApiActionQueryPropGlobalUsageParams extends ApiActionQueryParams { - guprop?: OneOrMore<"namespace" | "pageid" | "url">; - gulimit?: limit; - gunamespace?: namespace | namespace[]; - gusite?: string | string[]; - gucontinue?: string; - gufilterlocal?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.UserContribs `Partial`} instead. */ +export type ApiQueryUserContribsParams = Partial; -export interface ApiActionQueryPropGrowthImageSuggestionDataParams extends ApiActionQueryParams { - gisdtasktype?: "image-recommendation" | "section-image-recommendation"; - gisdcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.Users `Partial`} instead. */ +export type ApiQueryUsersParams = Partial; -export interface ApiActionQueryPropImageForPageParams extends ApiActionQueryParams { - prppifpprop?: OneOrMore<"filename" | "fullsize" | "responsiveimages" | "size">; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.WBSubscribers `Partial`} instead. */ +export type WikibaseRepoApiListSubscribersParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageinfo} - */ -export interface ApiActionQueryPropImageInfoParams extends ApiActionQueryParams { - iiprop?: OneOrMore< - | "archivename" - | "badfile" - | "bitdepth" - | "canonicaltitle" - | "comment" - | "commonmetadata" - | "dimensions" - | "extmetadata" - | "mediatype" - | "metadata" - | "mime" - | "parsedcomment" - | "sha1" - | "size" - | "thumbmime" - | "timestamp" - | "uploadwarning" - | "url" - | "user" - | "userid" - >; - iilimit?: limit; - iistart?: timestamp; - iiend?: timestamp; - iiurlwidth?: number; - iiurlheight?: number; - iimetadataversion?: string; - iiextmetadatalanguage?: string; - iiextmetadatamultilang?: boolean; - iiextmetadatafilter?: string | string[]; - iiurlparam?: string; - iibadfilecontexttitle?: string; - iicontinue?: string; - iilocalonly?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.List.WikiSets `Partial`} instead. */ +export type CentralAuthApiQueryWikiSetsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images} - */ -export interface ApiActionQueryPropImagesParams extends ApiActionQueryParams { - imlimit?: limit; - imcontinue?: string; - imimages?: string | string[]; - imdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.AllMessages `Partial`} instead. */ +export type ApiQueryAllMessagesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Info} - */ -export interface ApiActionQueryPropInfoParams extends ApiActionQueryParams { - inprop?: OneOrMore< - | "associatedpage" - | "displaytitle" - | "editintro" - | "linkclasses" - | "notificationtimestamp" - | "preloadcontent" - | "protection" - | "subjectid" - | "talkid" - | "url" - | "varianttitles" - | "visitingwatchers" - | "watched" - | "watchers" - | "preload" - | "readable" - >; - inlinkcontext?: string; - intestactions?: string | string[]; - intestactionsdetail?: "boolean" | "full" | "quick"; - intestactionsautocreate?: boolean; - inpreloadcustom?: string; - inpreloadparams?: string | string[]; - inpreloadnewsection?: boolean; - ineditintrostyle?: "lessframes" | "moreframes"; - ineditintroskip?: string | string[]; - ineditintrocustom?: string; - incontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.AuthManagerInfo `Partial`} instead. */ +export type ApiQueryAuthManagerInfoParams = Partial; -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryPropIsReviewedParams extends ApiActionQueryParams {} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwlinks} - */ -export interface ApiActionQueryPropIWLinksParams extends ApiActionQueryParams { - iwprop?: OneOrMore<"url">; - iwprefix?: string; - iwtitle?: string; - iwdir?: "ascending" | "descending"; - iwlimit?: limit; - iwcontinue?: string; - /** - * @deprecated - */ - iwurl?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.Babel `Partial`} instead. */ +export type MediaWikiBabelApiQueryBabelParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langlinks} - */ -export interface ApiActionQueryPropLangLinksParams extends ApiActionQueryParams { - llprop?: OneOrMore<"autonym" | "langname" | "url">; - lllang?: string; - lltitle?: string; - lldir?: "ascending" | "descending"; - llinlanguagecode?: string; - lllimit?: limit; - llcontinue?: string; - /** - * @deprecated - */ - llurl?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.CommunityConfiguration `Partial`} instead. */ +export type CommunityConfigurationApiQueryReadParams = Partial; -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryPropLangLinksCountParams extends ApiActionQueryParams {} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links} - */ -export interface ApiActionQueryPropLinksParams extends ApiActionQueryParams { - plnamespace?: namespace | namespace[]; - pllimit?: limit; - plcontinue?: string; - pltitles?: string | string[]; - pldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.CXDeletedTranslations `Partial`} instead. */ +export type ContentTranslationActionApiQueryDeletedTranslationsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere} - */ -export interface ApiActionQueryPropLinksHereParams extends ApiActionQueryParams { - lhprop?: OneOrMore<"pageid" | "redirect" | "title">; - lhnamespace?: namespace | namespace[]; - lhshow?: OneOrMore<"!redirect" | "redirect">; - lhlimit?: limit; - lhcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.FeatureUsage `Partial`} instead. */ +export type ApiFeatureUsageApiQueryFeatureUsageParams = Partial; -/** - * @private - */ -export interface ApiActionQueryPropMapDataParams extends ApiActionQueryParams { - mpdgroups?: string; - mpdlimit?: limit; - mpdcontinue?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.FileRepoInfo `Partial`} instead. */ +export type ApiQueryFileRepoInfoParams = Partial; -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryPropMMContentParams extends ApiActionQueryParams {} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.GlobalPreferences `Partial`} instead. */ +export type GlobalPreferencesApiQueryGlobalPreferencesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments} - */ -export interface ApiActionQueryPropPageAssessmentsParams extends ApiActionQueryParams { - pacontinue?: string; - palimit?: limit; - pasubprojects?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.GlobalRenameStatus `Partial`} instead. */ +export type CentralAuthApiQueryGlobalRenameStatusParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageImages#API} - */ -export interface ApiActionQueryPropPageImagesParams extends ApiActionQueryParams { - piprop?: OneOrMore<"name" | "original" | "thumbnail">; - pithumbsize?: number; - pilimit?: limit; - pilicense?: "any" | "free"; - picontinue?: number; - pilangcode?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.GlobalUserInfo `Partial`} instead. */ +export type CentralAuthApiQueryGlobalUserInfoParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageprops} - */ -export interface ApiActionQueryPropPagePropsParams extends ApiActionQueryParams { - ppcontinue?: string; - ppprop?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.GrowthMenteeStatus `Partial`} instead. */ +export type GrowthExperimentsApiQueryMenteeStatusParams = Partial; -export interface ApiActionQueryPropPageTermsParams extends ApiActionQueryParams { - wbptcontinue?: number; - wbptlanguage?: string; - wbptterms?: OneOrMore<"alias" | "description" | "label">; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.GrowthMentorStatus `Partial`} instead. */ +export type GrowthExperimentsApiQueryMentorStatusParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo} - */ -export interface ApiActionQueryPropPageViewsParams extends ApiActionQueryParams { - pvipmetric?: "pageviews"; - pvipdays?: number; - pvipcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.GrowthNextSuggestedTaskType `Partial`} instead. */ +export type GrowthExperimentsApiQueryNextSuggestedTaskTypeParams = Partial; -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryPropProofreadParams extends ApiActionQueryParams {} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects} - */ -export interface ApiActionQueryPropRedirectsParams extends ApiActionQueryParams { - rdprop?: OneOrMore<"fragment" | "pageid" | "title">; - rdnamespace?: namespace | namespace[]; - rdshow?: OneOrMore<"!fragment" | "fragment">; - rdlimit?: limit; - rdcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.Languageinfo `Partial`} instead. */ +export type ApiQueryLanguageinfoParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions} - */ -export interface ApiActionQueryPropRevisionsParams extends ApiActionQueryParams { - rvprop?: string | string[]; - rvslots?: string | string[]; - [k: `rvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - rvlimit?: limit; - /** - * @deprecated - */ - rvexpandtemplates?: boolean; - /** - * @deprecated - */ - rvgeneratexml?: boolean; - /** - * @deprecated - */ - rvparse?: boolean; - rvsection?: string; - /** - * @deprecated - */ - rvdiffto?: string; - /** - * @deprecated - */ - rvdifftotext?: string; - /** - * @deprecated - */ - rvdifftotextpst?: boolean; - /** - * @deprecated - */ - rvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - rvstartid?: number; - rvendid?: number; - rvstart?: timestamp; - rvend?: timestamp; - rvdir?: "newer" | "older"; - rvuser?: string; - rvexcludeuser?: string; - rvtag?: string; - rvcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.LanguageStats `Partial`} instead. */ +export type TranslateStatisticsQueryLanguageStatsActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Stashimageinfo} - */ -export interface ApiActionQueryPropStashImageInfoParams extends ApiActionQueryParams { - siifilekey?: string | string[]; - /** - * @deprecated - */ - siisessionkey?: string | string[]; - siiprop?: OneOrMore< - | "badfile" - | "bitdepth" - | "canonicaltitle" - | "commonmetadata" - | "dimensions" - | "extmetadata" - | "metadata" - | "mime" - | "sha1" - | "size" - | "thumbmime" - | "timestamp" - | "url" - >; - siiurlwidth?: number; - siiurlheight?: number; - siiurlparam?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.LinterStats `Partial`} instead. */ +export type MediaWikiLinterApiQueryLinterStatsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates} - */ -export interface ApiActionQueryPropTemplatesParams extends ApiActionQueryParams { - tlnamespace?: namespace | namespace[]; - tllimit?: limit; - tlcontinue?: string; - tltemplates?: string | string[]; - tldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.ManageMessageGroups `Partial`} instead. */ +export type TranslateMessageGroupProcessingQueryManageMessageGroupsActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin} - */ -export interface ApiActionQueryPropTranscludedinParams extends ApiActionQueryParams { - tiprop?: OneOrMore<"pageid" | "redirect" | "title">; - tinamespace?: namespace | namespace[]; - tishow?: OneOrMore<"!redirect" | "redirect">; - tilimit?: limit; - ticontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.MessageGroups `Partial`} instead. */ +export type TranslateMessageGroupProcessingQueryMessageGroupsActionApiParams = Partial; -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryPropTranscodeStatusParams extends ApiActionQueryParams {} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Videoinfo} - */ -export interface ApiActionQueryPropVideoInfoParams extends ApiActionQueryParams { - viprop?: OneOrMore< - | "archivename" - | "badfile" - | "bitdepth" - | "canonicaltitle" - | "comment" - | "commonmetadata" - | "derivatives" - | "dimensions" - | "extmetadata" - | "mediatype" - | "metadata" - | "mime" - | "parsedcomment" - | "sha1" - | "size" - | "thumbmime" - | "timedtext" - | "timestamp" - | "uploadwarning" - | "url" - | "user" - | "userid" - >; - vilimit?: limit; - vistart?: timestamp; - viend?: timestamp; - viurlwidth?: number; - viurlheight?: number; - vimetadataversion?: string; - viextmetadatalanguage?: string; - viextmetadatamultilang?: boolean; - viextmetadatafilter?: string | string[]; - viurlparam?: string; - vibadfilecontexttitle?: string; - vicontinue?: string; - vilocalonly?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.MessageGroupStats `Partial`} instead. */ +export type TranslateStatisticsQueryMessageGroupStatsActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API#wbentityusage} - */ -export interface ApiActionQueryPropWBEntityUsageParams extends ApiActionQueryParams { - wbeuprop?: OneOrMore<"url">; - wbeuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; - wbeuentities?: string | string[]; - wbeulimit?: limit; - wbeucontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.MessageTranslations `Partial`} instead. */ +export type TranslateMessageLoadingQueryMessageTranslationsActionApiParams = Partial; -export interface ApiActionQueryListAbuseFiltersParams extends ApiActionQueryParams { - abfstartid?: number; - abfendid?: number; - abfdir?: "newer" | "older"; - abfshow?: OneOrMore< - | "!deleted" - | "!enabled" - | "!private" - | "!protected" - | "deleted" - | "enabled" - | "private" - | "protected" - >; - abflimit?: limit; - abfprop?: OneOrMore< - | "actions" - | "comments" - | "description" - | "hits" - | "id" - | "lasteditor" - | "lastedittime" - | "pattern" - | "private" - | "protected" - | "status" - >; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.Notifications `Partial`} instead. */ +export type NotificationsApiEchoNotificationsParams = Partial; -export interface ApiActionQueryListAbuseLogParams extends ApiActionQueryParams { - afllogid?: number; - aflstart?: timestamp; - aflend?: timestamp; - afldir?: "newer" | "older"; - afluser?: string; - afltitle?: string; - aflfilter?: string | string[]; - afllimit?: limit; - aflprop?: OneOrMore< - | "action" - | "details" - | "filter" - | "hidden" - | "ids" - | "result" - | "revid" - | "timestamp" - | "title" - | "user" - | "wiki" - >; - aflwiki?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.OATH `Partial`} instead. */ +export type OATHAuthApiModuleApiQueryOATHParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:UploadWizard} - */ -export interface ApiActionQueryListAllCampaignsParams extends ApiActionQueryParams { - uwcenabledonly?: boolean; - uwclimit?: limit; - uwccontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.ORES `Partial`} instead. */ +export type ORESHooksApiQueryORESParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories} - */ -export interface ApiActionQueryListAllCategoriesParams extends ApiActionQueryParams { - acfrom?: string; - accontinue?: string; - acto?: string; - acprefix?: string; - acdir?: "ascending" | "descending"; - acmin?: number; - acmax?: number; - aclimit?: limit; - acprop?: OneOrMore<"hidden" | "size">; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.ProofreadInfo `Partial`} instead. */ +export type ProofreadPageApiQueryProofreadInfoParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions} - */ -export interface ApiActionQueryListAllDeletedRevisionsParams extends ApiActionQueryParams { - adrprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - adrslots?: string | string[]; - [k: `adrcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - adrlimit?: limit; - /** - * @deprecated - */ - adrexpandtemplates?: boolean; - /** - * @deprecated - */ - adrgeneratexml?: boolean; - /** - * @deprecated - */ - adrparse?: boolean; - adrsection?: string; - /** - * @deprecated - */ - adrdiffto?: string; - /** - * @deprecated - */ - adrdifftotext?: string; - /** - * @deprecated - */ - adrdifftotextpst?: boolean; - /** - * @deprecated - */ - adrcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - adruser?: string; - adrnamespace?: namespace | namespace[]; - adrstart?: timestamp; - adrend?: timestamp; - adrdir?: "newer" | "older"; - adrfrom?: string; - adrto?: string; - adrprefix?: string; - adrexcludeuser?: string; - adrtag?: string; - adrcontinue?: string; - adrgeneratetitles?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.ReadingLists `Partial`} instead. */ +export type ReadingListsApiQueryReadingListsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages} - */ -export interface ApiActionQueryListAllFileUsagesParams extends ApiActionQueryParams { - afcontinue?: string; - affrom?: string; - afto?: string; - afprefix?: string; - afunique?: boolean; - afprop?: OneOrMore<"ids" | "title">; - aflimit?: limit; - afdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.Siteinfo `Partial`} instead. */ +export type ApiQuerySiteinfoParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages} - */ -export interface ApiActionQueryListAllImagesParams extends ApiActionQueryParams { - aisort?: "name" | "timestamp"; - aidir?: "ascending" | "descending" | "newer" | "older"; - aifrom?: string; - aito?: string; - aicontinue?: string; - aistart?: timestamp; - aiend?: timestamp; - aiprop?: OneOrMore< - | "badfile" - | "bitdepth" - | "canonicaltitle" - | "comment" - | "commonmetadata" - | "dimensions" - | "extmetadata" - | "mediatype" - | "metadata" - | "mime" - | "parsedcomment" - | "sha1" - | "size" - | "timestamp" - | "url" - | "user" - | "userid" - >; - aiprefix?: string; - aiminsize?: number; - aimaxsize?: number; - aisha1?: string; - aisha1base36?: string; - aiuser?: string; - aifilterbots?: "all" | "bots" | "nobots"; - aimime?: string | string[]; - ailimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks} - */ -export interface ApiActionQueryListAllLinksParams extends ApiActionQueryParams { - alcontinue?: string; - alfrom?: string; - alto?: string; - alprefix?: string; - alunique?: boolean; - alprop?: OneOrMore<"ids" | "title">; - alnamespace?: namespace; - allimit?: limit; - aldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages} - */ -export interface ApiActionQueryListAllPagesParams extends ApiActionQueryParams { - apfrom?: string; - apcontinue?: string; - apto?: string; - apprefix?: string; - apnamespace?: namespace; - apfilterredir?: "all" | "nonredirects" | "redirects"; - apfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; - apminsize?: number; - apmaxsize?: number; - apprtype?: OneOrMore<"edit" | "move" | "upload">; - apprlevel?: string | string[]; - apprfiltercascade?: "all" | "cascading" | "noncascading"; - apprexpiry?: "all" | "definite" | "indefinite"; - aplimit?: limit; - apdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects} - */ -export interface ApiActionQueryListAllRedirectsParams extends ApiActionQueryParams { - arcontinue?: string; - arfrom?: string; - arto?: string; - arprefix?: string; - arunique?: boolean; - arprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; - arnamespace?: namespace; - arlimit?: limit; - ardir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions} - */ -export interface ApiActionQueryListAllRevisionsParams extends ApiActionQueryParams { - arvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "oresscores" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - arvslots?: string | string[]; - [k: `arvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - arvlimit?: limit; - /** - * @deprecated - */ - arvexpandtemplates?: boolean; - /** - * @deprecated - */ - arvgeneratexml?: boolean; - /** - * @deprecated - */ - arvparse?: boolean; - arvsection?: string; - /** - * @deprecated - */ - arvdiffto?: string; - /** - * @deprecated - */ - arvdifftotext?: string; - /** - * @deprecated - */ - arvdifftotextpst?: boolean; - /** - * @deprecated - */ - arvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - arvuser?: string; - arvnamespace?: namespace | namespace[]; - arvstart?: timestamp; - arvend?: timestamp; - arvdir?: "newer" | "older"; - arvexcludeuser?: string; - arvcontinue?: string; - arvgeneratetitles?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions} - */ -export interface ApiActionQueryListAllTransclusionsParams extends ApiActionQueryParams { - atcontinue?: string; - atfrom?: string; - atto?: string; - atprefix?: string; - atunique?: boolean; - atprop?: OneOrMore<"ids" | "title">; - atnamespace?: namespace; - atlimit?: limit; - atdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allusers} - */ -export interface ApiActionQueryListAllUsersParams extends ApiActionQueryParams { - aufrom?: string; - auto?: string; - auprefix?: string; - audir?: "ascending" | "descending"; - augroup?: string | string[]; - auexcludegroup?: string | string[]; - aurights?: string | string[]; - auprop?: OneOrMore< - | "blockinfo" - | "centralids" - | "editcount" - | "groups" - | "implicitgroups" - | "registration" - | "rights" - >; - aulimit?: limit; - auwitheditsonly?: boolean; - auactiveusers?: boolean; - auattachedwiki?: string; - auexcludenamed?: boolean; - auexcludetemp?: boolean; -} - -export interface ApiActionQueryListAutomaticTranslationDenseLanguagesParams - extends ApiActionQueryParams { - "qid": string; - "section-titles"?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks} - */ -export interface ApiActionQueryListBacklinksParams extends ApiActionQueryParams { - bltitle?: string; - blpageid?: number; - blcontinue?: string; - blnamespace?: namespace | namespace[]; - bldir?: "ascending" | "descending"; - blfilterredir?: "all" | "nonredirects" | "redirects"; - bllimit?: limit; - blredirect?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:BetaFeatures} - */ -export interface ApiActionQueryListBetaFeaturesParams extends ApiActionQueryParams { - bfcounts?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Blocks} - */ -export interface ApiActionQueryListBlocksParams extends ApiActionQueryParams { - bkstart?: timestamp; - bkend?: timestamp; - bkdir?: "newer" | "older"; - bkids?: number | number[]; - bkusers?: string | string[]; - bkip?: string; - bklimit?: limit; - bkprop?: OneOrMore< - | "by" - | "byid" - | "expiry" - | "flags" - | "id" - | "range" - | "reason" - | "restrictions" - | "timestamp" - | "user" - | "userid" - >; - bkshow?: OneOrMore< - "!account" | "!ip" | "!range" | "!temp" | "account" | "ip" | "range" | "temp" - >; - bkcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers} - */ -export interface ApiActionQueryListCategoryMembersParams extends ApiActionQueryParams { - cmtitle?: string; - cmpageid?: number; - cmprop?: OneOrMore<"ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type">; - cmnamespace?: namespace | namespace[]; - cmtype?: OneOrMore<"file" | "page" | "subcat">; - cmcontinue?: string; - cmlimit?: limit; - cmsort?: "sortkey" | "timestamp"; - cmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; - cmstart?: timestamp; - cmend?: timestamp; - cmstarthexsortkey?: string; - cmendhexsortkey?: string; - cmstartsortkeyprefix?: string; - cmendsortkeyprefix?: string; - /** - * @deprecated - */ - cmstartsortkey?: string; - /** - * @deprecated - */ - cmendsortkey?: string; -} - -export interface ApiActionQueryListCentralNoticeActiveCampaignsParams extends ApiActionQueryParams { - cnacincludefuture?: boolean; -} - -export interface ApiActionQueryListCentralNoticeLogsParams extends ApiActionQueryParams { - campaign?: string; - user?: string; - limit?: limit; - offset?: number; - start?: timestamp; - end?: timestamp; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:CheckUser#API} - */ -export interface ApiActionQueryListCheckUserParams extends ApiActionQueryParams { - curequest: "actions" | "ipusers" | "userips" | "edits"; - cutarget: string; - cureason: string; - culimit?: limit; - cutimecond?: string; - cuxff?: string; - cutoken?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:CheckUser#API} - */ -export interface ApiActionQueryListCheckUserLogParams extends ApiActionQueryParams { - culuser?: string; - cultarget?: string; - culreason?: string; - cullimit?: limit; - culdir?: "newer" | "older"; - culfrom?: timestamp; - culto?: timestamp; - culcontinue?: string; -} - -export interface ApiActionQueryListConfiguredpagesParams extends ApiActionQueryParams { - cpstart?: number; - cpend?: number; - cpdir?: "newer" | "older"; - cpnamespace?: namespace | namespace[]; - cpdefault?: "latest" | "stable"; - cpautoreview?: "none" | "sysop"; - cplimit?: limit; -} - -export interface ApiActionQueryListContentTranslationParams extends ApiActionQueryParams { - translationid?: string; - from?: string; - to?: string; - sourcetitle?: string; - sourcesectiontitle?: string; - limit?: limit; - offset?: string; - type?: "draft" | "published"; - usecase?: "desktop-editor-draft" | "translation-corpora-units" | "unified-dashboard"; -} - -export interface ApiActionQueryListContentTranslationCorporaParams extends ApiActionQueryParams { - translationid: number; - striphtml?: boolean; - types?: OneOrMore<"mt" | "source" | "user">; -} - -export interface ApiActionQueryListContentTranslationLangTrendParams extends ApiActionQueryParams { - source?: string; - target?: string; - interval?: "month" | "week"; -} - -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryListContentTranslationStatsParams extends ApiActionQueryParams {} - -export interface ApiActionQueryListContentTranslationSuggestionsParams - extends ApiActionQueryParams { - from?: string; - to?: string; - listid?: string; - limit?: limit; - offset?: string; - seed?: number; -} - -export interface ApiActionQueryListCXPublishedTranslationsParams extends ApiActionQueryParams { - from?: string; - to?: string; - limit?: limit; - offset?: string; -} - -export interface ApiActionQueryListCXTranslatorStatsParams extends ApiActionQueryParams { - translator?: string; -} - -/** - * @deprecated - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevs} - */ -export interface ApiActionQueryListDeletedrevsParams extends ApiActionQueryParams { - drstart?: timestamp; - drend?: timestamp; - drdir?: "newer" | "older"; - drfrom?: string; - drto?: string; - drprefix?: string; - drunique?: boolean; - drnamespace?: namespace; - drtag?: string; - druser?: string; - drexcludeuser?: string; - drprop?: OneOrMore< - | "comment" - | "content" - | "len" - | "minor" - | "parentid" - | "parsedcomment" - | "revid" - | "sha1" - | "tags" - | "user" - | "userid" - | "token" - >; - drlimit?: limit; - drcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin} - */ -export interface ApiActionQueryListEmbeddedinParams extends ApiActionQueryParams { - eititle?: string; - eipageid?: number; - eicontinue?: string; - einamespace?: namespace | namespace[]; - eidir?: "ascending" | "descending"; - eifilterredir?: "all" | "nonredirects" | "redirects"; - eilimit?: limit; -} - -/** - * @private - */ -export interface ApiActionQueryListExtDistBranchesParams extends ApiActionQueryParams { - edbexts?: string | string[]; - edbskins?: OneOrMore< - | "2018" - | "Aether" - | "Amethyst" - | "Anisa" - | "BlueSky" - | "BlueSpiceCalumma" - | "BlueSpiceDiscovery" - | "Bouquet" - | "Cavendish" - | "CologneBlue" - | "Cosmos" - | "DeskMessMirrored" - | "Dusk" - | "DuskToDawn" - | "Empty" - | "Example" - | "Foreground" - | "Freo" - | "Gamepress" - | "GreyStuff" - | "GuMaxDD" - | "HasSomeColours" - | "Mask" - | "Material" - | "MediaWikiWordpressThemes" - | "Metrolook" - | "MinervaNeue" - | "Mirage" - | "Modern" - | "MonoBook" - | "Nimbus" - | "Nostalgia" - | "Pivot" - | "Poncho" - | "Reflection" - | "Refreshed" - | "Schulenburg" - | "Splash" - | "Tempo" - | "Timeless" - | "Truglass" - | "TuleapSkin" - | "Vector" - | "WMAU" - | "WPtouch" - | "WikimediaApiPortal" - | "WoOgLeShades" - | "apex" - | "erudite" - | "mediawiki-strapping" - | "p2wiki" - | "shared" - | "webplatform" - >; -} - -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryListExtDistReposParams extends ApiActionQueryParams {} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage} - */ -export interface ApiActionQueryListExtUrlUsageParams extends ApiActionQueryParams { - euprop?: OneOrMore<"ids" | "title" | "url">; - eucontinue?: string; - euprotocol?: - | "" - | "bitcoin" - | "ftp" - | "ftps" - | "geo" - | "git" - | "gopher" - | "http" - | "https" - | "irc" - | "ircs" - | "magnet" - | "mailto" - | "matrix" - | "mms" - | "news" - | "nntp" - | "redis" - | "sftp" - | "sip" - | "sips" - | "sms" - | "ssh" - | "svn" - | "tel" - | "telnet" - | "urn" - | "worldwind" - | "xmpp"; - euquery?: string; - eunamespace?: namespace | namespace[]; - eulimit?: limit; - /** - * @deprecated - */ - euexpandurl?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Filearchive} - */ -export interface ApiActionQueryListFilearchiveParams extends ApiActionQueryParams { - fafrom?: string; - fato?: string; - faprefix?: string; - fadir?: "ascending" | "descending"; - fasha1?: string; - fasha1base36?: string; - faprop?: OneOrMore< - | "archivename" - | "bitdepth" - | "description" - | "dimensions" - | "mediatype" - | "metadata" - | "mime" - | "parseddescription" - | "sha1" - | "size" - | "timestamp" - | "user" - >; - falimit?: limit; - facontinue?: string; -} - -export interface ApiActionQueryListGadgetCategoriesParams extends ApiActionQueryParams { - gcprop?: OneOrMore<"members" | "name" | "title">; - gcnames?: string | string[]; -} - -export interface ApiActionQueryListGadgetsParams extends ApiActionQueryParams { - gaprop?: OneOrMore<"desc" | "id" | "metadata">; - gacategories?: string | string[]; - gaids?: string | string[]; - gaallowedonly?: boolean; - gaenabledonly?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch} - */ -export interface ApiActionQueryListGeoSearchParams extends ApiActionQueryParams { - gscoord?: string; - gspage?: string; - gsbbox?: string; - gsradius?: number; - gsmaxdim?: number; - gssort?: "distance" | "relevance"; - gslimit?: limit; - gsglobe?: "earth"; - gsnamespace?: namespace | namespace[]; - gsprop?: OneOrMore<"country" | "dim" | "globe" | "name" | "region" | "type">; - gsprimary?: "all" | "primary" | "secondary"; - gsdebug?: boolean; -} - -export interface ApiActionQueryListGlobalAllUsersParams extends ApiActionQueryParams { - agufrom?: string; - aguto?: string; - aguprefix?: string; - agudir?: "ascending" | "descending"; - agugroup?: OneOrMore< - | "abusefilter-helper" - | "abusefilter-maintainer" - | "apihighlimits-requestor" - | "captcha-exempt" - | "founder" - | "global-bot" - | "global-deleter" - | "global-flow-create" - | "global-interface-editor" - | "global-ipblock-exempt" - | "global-rollbacker" - | "global-sysop" - | "global-temporary-account-viewer" - | "new-wikis-importer" - | "oathauth-tester" - | "ombuds" - | "recursive-export" - | "staff" - | "steward" - | "sysadmin" - | "vrt-permissions" - | "wmf-email-block-override" - | "wmf-researcher" - >; - aguexcludegroup?: OneOrMore< - | "abusefilter-helper" - | "abusefilter-maintainer" - | "apihighlimits-requestor" - | "captcha-exempt" - | "founder" - | "global-bot" - | "global-deleter" - | "global-flow-create" - | "global-interface-editor" - | "global-ipblock-exempt" - | "global-rollbacker" - | "global-sysop" - | "global-temporary-account-viewer" - | "new-wikis-importer" - | "oathauth-tester" - | "ombuds" - | "recursive-export" - | "staff" - | "steward" - | "sysadmin" - | "vrt-permissions" - | "wmf-email-block-override" - | "wmf-researcher" - >; - aguprop?: OneOrMore<"existslocally" | "groups" | "lockinfo">; - agulimit?: limit; - aguexcludenamed?: boolean; - aguexcludetemp?: boolean; -} - -export interface ApiActionQueryListGlobalBlocksParams extends ApiActionQueryParams { - bgstart?: timestamp; - bgend?: timestamp; - bgdir?: "newer" | "older"; - bgids?: number | number[]; - /** - * @deprecated - */ - bgaddresses?: string | string[]; - bgtargets?: string | string[]; - bgip?: string; - bglimit?: limit; - bgprop?: OneOrMore< - "by" | "expiry" | "id" | "range" | "reason" | "target" | "timestamp" | "address" - >; -} - -export interface ApiActionQueryListGlobalGroupsParams extends ApiActionQueryParams { - ggpprop?: OneOrMore<"rights">; -} - -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryListGrowthMentorListParams extends ApiActionQueryParams {} - -export interface ApiActionQueryListGrowthMentorMenteeParams extends ApiActionQueryParams { - gemmmentor: string; -} - -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryListGrowthStarredMenteesParams extends ApiActionQueryParams {} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API} - */ -export interface ApiActionQueryListGrowthTasksParams extends ApiActionQueryParams { - gttasktypes?: OneOrMore< - | "copyedit" - | "expand" - | "image-recommendation" - | "link-recommendation" - | "links" - | "references" - | "section-image-recommendation" - | "update" - >; - gttopics?: OneOrMore< - | "africa" - | "architecture" - | "art" - | "asia" - | "biography" - | "biology" - | "business-and-economics" - | "central-america" - | "chemistry" - | "comics-and-anime" - | "computers-and-internet" - | "earth-and-environment" - | "education" - | "engineering" - | "entertainment" - | "europe" - | "fashion" - | "food-and-drink" - | "general-science" - | "history" - | "literature" - | "mathematics" - | "medicine-and-health" - | "military-and-warfare" - | "music" - | "north-america" - | "oceania" - | "performing-arts" - | "philosophy-and-religion" - | "physics" - | "politics-and-government" - | "society" - | "south-america" - | "sports" - | "technology" - | "transportation" - | "tv-and-film" - | "video-games" - | "women" - >; - gttopicsmode?: "AND" | "OR"; - gtlimit?: limit; - gtoffset?: number; - gtdebug?: boolean; - gtexcludepageids?: number | number[]; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage} - */ -export interface ApiActionQueryListImageUsageParams extends ApiActionQueryParams { - iutitle?: string; - iupageid?: number; - iucontinue?: string; - iunamespace?: namespace | namespace[]; - iudir?: "ascending" | "descending"; - iufilterredir?: "all" | "nonredirects" | "redirects"; - iulimit?: limit; - iuredirect?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks} - */ -export interface ApiActionQueryListIWBacklinksParams extends ApiActionQueryParams { - iwblprefix?: string; - iwbltitle?: string; - iwblcontinue?: string; - iwbllimit?: limit; - iwblprop?: OneOrMore<"iwprefix" | "iwtitle">; - iwbldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks} - */ -export interface ApiActionQueryListLangBacklinksParams extends ApiActionQueryParams { - lbllang?: string; - lbltitle?: string; - lblcontinue?: string; - lbllimit?: limit; - lblprop?: OneOrMore<"lllang" | "lltitle">; - lbldir?: "ascending" | "descending"; -} - -export interface ApiActionQueryListLintErrorsParams extends ApiActionQueryParams { - lntcategories?: OneOrMore< - | "bogus-image-options" - | "deletable-table-tag" - | "duplicate-ids" - | "fostered" - | "fostered-transparent" - | "html5-misnesting" - | "large-tables" - | "misc-tidy-replacement-issues" - | "misnested-tag" - | "missing-end-tag" - | "missing-end-tag-in-heading" - | "multi-colon-escape" - | "multiline-html-table-in-list" - | "multiple-unclosed-formatting-tags" - | "night-mode-unaware-background-color" - | "obsolete-tag" - | "pwrap-bug-workaround" - | "self-closed-tag" - | "stripped-tag" - | "tidy-font-bug" - | "tidy-whitespace-bug" - | "unclosed-quotes-in-heading" - | "wikilink-in-extlink" - >; - lntlimit?: limit; - lntnamespace?: namespace | namespace[]; - lntpageid?: number | number[]; - lnttitle?: string; - lntfrom?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Logevents} - */ -export interface ApiActionQueryListLogEventsParams extends ApiActionQueryParams { - leprop?: OneOrMore< - | "comment" - | "details" - | "ids" - | "parsedcomment" - | "tags" - | "timestamp" - | "title" - | "type" - | "user" - | "userid" - >; - letype?: string; - leaction?: string; - lestart?: timestamp; - leend?: timestamp; - ledir?: "newer" | "older"; - leuser?: string; - letitle?: string; - lenamespace?: namespace; - leprefix?: string; - letag?: string; - lelimit?: limit; - lecontinue?: string; -} - -export interface ApiActionQueryListMessageCollectionParams extends ApiActionQueryParams { - mcgroup: string; - mclanguage?: string; - mclimit?: limit; - mcoffset?: string; - mcfilter?: string | string[]; - mcprop?: OneOrMore<"definition" | "properties" | "tags" | "translation" | "revision">; -} - -/** - * @private - */ -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryListMessageGroupSubscriptionParams extends ApiActionQueryParams {} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo} - */ -export interface ApiActionQueryListMostViewedParams extends ApiActionQueryParams { - pvimmetric?: "pageviews"; - pvimlimit?: limit; - pvimoffset?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:mystashedfiles} - */ -export interface ApiActionQueryListMyStashedFilesParams extends ApiActionQueryParams { - msfprop?: OneOrMore<"size" | "type">; - msflimit?: limit; - msfcontinue?: string; -} - -export interface ApiActionQueryListOldreviewedpagesParams extends ApiActionQueryParams { - orstart?: timestamp; - orend?: timestamp; - ordir?: "newer" | "older"; - ormaxsize?: number; - orfilterwatched?: "all" | "watched"; - ornamespace?: namespace | namespace[]; - orcategory?: string; - orfilterredir?: "all" | "nonredirects" | "redirects"; - orlimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pagepropnames} - */ -export interface ApiActionQueryListPagePropNamesParams extends ApiActionQueryParams { - ppncontinue?: string; - ppnlimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop} - */ -export interface ApiActionQueryListPagesWithPropParams extends ApiActionQueryParams { - pwppropname: string; - pwpprop?: OneOrMore<"ids" | "title" | "value">; - pwpcontinue?: string; - pwplimit?: limit; - pwpdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch} - */ -export interface ApiActionQueryListPrefixSearchParams extends ApiActionQueryParams { - pssearch: string; - psnamespace?: namespace | namespace[]; - pslimit?: limit; - psoffset?: number; - psprofile?: - | "classic" - | "engine_autoselect" - | "fast-fuzzy" - | "fuzzy" - | "fuzzy-subphrases" - | "normal" - | "normal-subphrases" - | "strict"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments} - */ -export interface ApiActionQueryListProjectPagesParams extends ApiActionQueryParams { - wppassessments?: boolean; - wppprojects: string | string[]; - wpplimit?: limit; - wppcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments} - */ -export interface ApiActionQueryListProjectsParams extends ApiActionQueryParams { - pjsubprojects?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API} - */ -export interface ApiActionQueryListProofreadPagesInIndexParams extends ApiActionQueryParams { - prppiiprop?: OneOrMore<"formattedpagenumber" | "ids" | "title" | "formattedPageNumber">; - prppiititle?: string; - prppiipageid?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles} - */ -export interface ApiActionQueryListProtectedTitlesParams extends ApiActionQueryParams { - ptnamespace?: namespace | namespace[]; - ptlevel?: string | string[]; - ptlimit?: limit; - ptdir?: "newer" | "older"; - ptstart?: timestamp; - ptend?: timestamp; - ptprop?: OneOrMore< - "comment" | "expiry" | "level" | "parsedcomment" | "timestamp" | "user" | "userid" - >; - ptcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage} - */ -export interface ApiActionQueryListQueryPageParams extends ApiActionQueryParams { - qppage: string; - qpoffset?: number; - qplimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random} - */ -export interface ApiActionQueryListRandomParams extends ApiActionQueryParams { - rnnamespace?: namespace | namespace[]; - rnfilterredir?: "all" | "nonredirects" | "redirects"; - /** - * @deprecated - */ - rnredirect?: boolean; - rnlimit?: limit; - rncontinue?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionQueryListReadingListEntriesParams extends ApiActionQueryParams { - rlelists?: number | number[]; - rlechangedsince?: timestamp; - rlesort?: "name" | "updated"; - rledir?: "ascending" | "descending"; - rlelimit?: limit; - rlecontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges} - */ -export interface ApiActionQueryListRecentChangesParams extends ApiActionQueryParams { - rcstart?: timestamp; - rcend?: timestamp; - rcdir?: "newer" | "older"; - rcnamespace?: namespace | namespace[]; - rcuser?: string; - rcexcludeuser?: string; - rctag?: string; - rcprop?: OneOrMore< - | "comment" - | "flags" - | "ids" - | "loginfo" - | "oresscores" - | "parsedcomment" - | "patrolled" - | "redirect" - | "sha1" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - rcshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!redirect" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "redirect" - | "unpatrolled" - >; - rclimit?: limit; - rctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - rctoponly?: boolean; - rctitle?: string; - rccontinue?: string; - rcgeneraterevisions?: boolean; - rcslot?: "main" | "mediainfo"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search} - */ -export interface ApiActionQueryListSearchParams extends ApiActionQueryParams { - srsearch: string; - srnamespace?: namespace | namespace[]; - srlimit?: limit; - sroffset?: number; - srqiprofile?: string; - srwhat?: "nearmatch" | "text" | "title"; - srinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; - srprop?: OneOrMore< - | "categorysnippet" - | "extensiondata" - | "isfilematch" - | "redirectsnippet" - | "redirecttitle" - | "sectionsnippet" - | "sectiontitle" - | "size" - | "snippet" - | "timestamp" - | "titlesnippet" - | "wordcount" - | "hasrelated" - | "score" - >; - srinterwiki?: boolean; - srenablerewrites?: boolean; - srsort?: - | "create_timestamp_asc" - | "create_timestamp_desc" - | "incoming_links_asc" - | "incoming_links_desc" - | "just_match" - | "last_edit_asc" - | "last_edit_desc" - | "none" - | "random" - | "relevance" - | "user_random"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Tags} - */ -export interface ApiActionQueryListTagsParams extends ApiActionQueryParams { - tgcontinue?: string; - tglimit?: limit; - tgprop?: OneOrMore< - "active" | "defined" | "description" | "displayname" | "hitcount" | "source" - >; -} - -export interface ApiActionQueryListThreadsParams extends ApiActionQueryParams { - thstartid?: number; - thendid?: number; - thdir?: "newer" | "older"; - thshowdeleted?: boolean; - thlimit?: limit; - thprop?: OneOrMore< - | "ancestor" - | "author" - | "created" - | "id" - | "modified" - | "page" - | "parent" - | "reactions" - | "replies" - | "rootid" - | "signature" - | "subject" - | "summaryid" - | "type" - >; - thpage?: string | string[]; - thauthor?: string | string[]; - throot?: string | string[]; - thsummary?: string | string[]; - thid?: string | string[]; - thrender?: boolean; - threnderlevel?: number; - threnderthreadpos?: number; - threnderthreadcount?: number; - threndermaxthreadcount?: string; - threndermaxdepth?: string; - threnderstartrepliesat?: string; -} - -export interface ApiActionQueryListUnreviewedpagesParams extends ApiActionQueryParams { - urstart?: string; - urend?: string; - urdir?: "ascending" | "descending"; - urnamespace?: namespace | namespace[]; - urfilterredir?: "all" | "nonredirects" | "redirects"; - urfilterlevel?: number; - urlimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Usercontribs} - */ -export interface ApiActionQueryListUserContribsParams extends ApiActionQueryParams { - uclimit?: limit; - ucstart?: timestamp; - ucend?: timestamp; - uccontinue?: string; - ucuser?: string | string[]; - ucuserids?: number | number[]; - ucuserprefix?: string; - uciprange?: string; - ucdir?: "newer" | "older"; - ucnamespace?: namespace | namespace[]; - ucprop?: OneOrMore< - | "comment" - | "flags" - | "ids" - | "oresscores" - | "parsedcomment" - | "patrolled" - | "size" - | "sizediff" - | "tags" - | "timestamp" - | "title" - >; - ucshow?: OneOrMore< - | "!autopatrolled" - | "!minor" - | "!new" - | "!oresreview" - | "!patrolled" - | "!top" - | "autopatrolled" - | "minor" - | "new" - | "oresreview" - | "patrolled" - | "top" - >; - uctag?: string; - /** - * @deprecated - */ - uctoponly?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Users} - */ -export interface ApiActionQueryListUsersParams extends ApiActionQueryParams { - usprop?: OneOrMore< - | "blockinfo" - | "cancreate" - | "centralids" - | "editcount" - | "emailable" - | "gender" - | "groupmemberships" - | "groups" - | "implicitgroups" - | "registration" - | "rights" - >; - usattachedwiki?: string; - ususers?: string | string[]; - ususerids?: number | number[]; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist} - */ -export interface ApiActionQueryListWatchlistParams extends ApiActionQueryParams { - wlallrev?: boolean; - wlstart?: timestamp; - wlend?: timestamp; - wlnamespace?: namespace | namespace[]; - wluser?: string; - wlexcludeuser?: string; - wldir?: "newer" | "older"; - wllimit?: limit; - wlprop?: OneOrMore< - | "comment" - | "expiry" - | "flags" - | "ids" - | "loginfo" - | "notificationtimestamp" - | "oresscores" - | "parsedcomment" - | "patrol" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - wlshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!unread" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "unread" - >; - wltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - wlowner?: string; - wltoken?: string; - wlcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw} - */ -export interface ApiActionQueryListWatchlistRawParams extends ApiActionQueryParams { - wrcontinue?: string; - wrnamespace?: namespace | namespace[]; - wrlimit?: limit; - wrprop?: OneOrMore<"changed">; - wrshow?: OneOrMore<"!changed" | "changed">; - wrowner?: string; - wrtoken?: string; - wrdir?: "ascending" | "descending"; - wrfromtitle?: string; - wrtotitle?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API} - */ -export interface ApiActionQueryListWBListEntityUsageParams extends ApiActionQueryParams { - wbleuprop?: OneOrMore<"url">; - wbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; - wbleuentities: string | string[]; - wbleulimit?: limit; - wbleucontinue?: string; -} - -/** - * @private - */ -export interface ApiActionQueryListWBSearchParams extends ApiActionQueryParams { - wbssearch: string; - wbslanguage?: string; - wbsstrictlanguage?: boolean; - wbstype?: string; - wbslimit?: limit; - wbsprofile?: "default" | "language"; -} - -export interface ApiActionQueryListWBSubscribersParams extends ApiActionQueryParams { - wblsentities: string | string[]; - wblsprop?: OneOrMore<"url">; - wblslimit?: limit; - wblscontinue?: string; -} - -export interface ApiActionQueryListWikiLambdaFnSearchParams extends ApiActionQueryParams { - wikilambdafn_zfunction_id?: string; - wikilambdafn_type?: string; - wikilambdafn_limit?: limit; - wikilambdafn_continue?: string; -} - -export interface ApiActionQueryListWikiLambdaLoadZObjectsParams extends ApiActionQueryParams { - wikilambdaload_zids: string | string[]; - wikilambdaload_revisions?: string | string[]; - wikilambdaload_language?: string; - wikilambdaload_get_dependencies?: boolean; -} - -export interface ApiActionQueryListWikiLambdaSearchLabelsParams extends ApiActionQueryParams { - wikilambdasearch_search?: string; - wikilambdasearch_language: string; - wikilambdasearch_nofallback?: boolean; - wikilambdasearch_exact?: boolean; - wikilambdasearch_type?: string; - wikilambdasearch_return_type?: string; - wikilambdasearch_strict_return_type?: boolean; - wikilambdasearch_limit?: limit; - wikilambdasearch_continue?: string; -} - -export interface ApiActionQueryListWikiSetsParams extends ApiActionQueryParams { - wsfrom?: string; - wsprop?: OneOrMore<"type" | "wikisincluded" | "wikisnotincluded">; - wslimit?: limit; - wsorderbyname?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allmessages} - */ -export interface ApiActionQueryMetaAllMessagesParams extends ApiActionQueryParams { - ammessages?: string | string[]; - amprop?: OneOrMore<"default">; - amenableparser?: boolean; - amnocontent?: boolean; - amincludelocal?: boolean; - amargs?: string | string[]; - amfilter?: string; - amcustomised?: "all" | "modified" | "unmodified"; - amlang?: string; - amfrom?: string; - amto?: string; - amtitle?: string; - amprefix?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Authmanagerinfo} - */ -export interface ApiActionQueryMetaAuthManagerInfoParams extends ApiActionQueryParams { - amisecuritysensitiveoperation?: string; - amirequestsfor?: - | "change" - | "create" - | "create-continue" - | "link" - | "link-continue" - | "login" - | "login-continue" - | "remove" - | "unlink"; - amimergerequestfields?: boolean; - amimessageformat?: "html" | "none" | "raw" | "wikitext"; -} - -export interface ApiActionQueryMetaBabelParams extends ApiActionQueryParams { - babuser: string; -} - -export interface ApiActionQueryMetaCommunityConfigurationParams extends ApiActionQueryParams { - ccrprovider: - | "AutoModerator" - | "CommunityUpdates" - | "GrowthHomepage" - | "GrowthMentorList" - | "GrowthSuggestedEdits" - | "HelpPanel" - | "Mentorship"; - ccrassertversion?: string; -} - -/** - * @private - */ -export interface ApiActionQueryMetaCXDeletedTranslationsParams extends ApiActionQueryParams { - dtafter?: timestamp; - dtnamespace?: namespace; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ApiFeatureUsage} - */ -export interface ApiActionQueryMetaFeatureUsageParams extends ApiActionQueryParams { - afustart?: timestamp; - afuend?: timestamp; - afuagent?: string; - afufeatures?: string | string[]; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Filerepoinfo} - */ -export interface ApiActionQueryMetaFileRepoInfoParams extends ApiActionQueryParams { - friprop?: string | string[]; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GlobalPreferences/API} - */ -export interface ApiActionQueryMetaGlobalPreferencesParams extends ApiActionQueryParams { - gprprop?: OneOrMore<"localoverrides" | "preferences">; -} - -export interface ApiActionQueryMetaGlobalRenameStatusParams extends ApiActionQueryParams { - grsuser?: string; -} - -export interface ApiActionQueryMetaGlobalUserInfoParams extends ApiActionQueryParams { - guiuser?: string; - guiid?: number; - guiprop?: OneOrMore<"editcount" | "groups" | "merged" | "rights" | "unattached">; -} - -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryMetaGrowthMenteeStatusParams extends ApiActionQueryParams {} - -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryMetaGrowthMentorStatusParams extends ApiActionQueryParams {} - -/** - * @private - */ -export interface ApiActionQueryMetaGrowthNextSuggestedTaskTypeParams extends ApiActionQueryParams { - gnsttactivetasktype: - | "copyedit" - | "expand" - | "image-recommendation" - | "link-recommendation" - | "links" - | "references" - | "section-image-recommendation" - | "update"; -} - -export interface ApiActionQueryMetaLanguageinfoParams extends ApiActionQueryParams { - liprop?: OneOrMore< - "autonym" | "bcp47" | "code" | "dir" | "fallbacks" | "name" | "variantnames" | "variants" - >; - licode?: string | string[]; - licontinue?: string; -} - -export interface ApiActionQueryMetaLanguageStatsParams extends ApiActionQueryParams { - lsoffset?: string; - lslanguage: string; - lsgroup?: string; -} - -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryMetaLinterStatsParams extends ApiActionQueryParams {} - -export interface ApiActionQueryMetaManageMessageGroupsParams extends ApiActionQueryParams { - mmggroupId: string; - mmgmessageKey: string; - mmgchangesetName?: string; -} - -export interface ApiActionQueryMetaMessageGroupsParams extends ApiActionQueryParams { - mgdepth?: number; - mgfilter?: string | string[]; - mgformat?: "flat" | "tree"; - mgiconsize?: number; - mgprop?: OneOrMore< - | "class" - | "description" - | "exists" - | "icon" - | "id" - | "label" - | "namespace" - | "priority" - | "priorityforce" - | "prioritylangs" - | "sourcelanguage" - | "subscription" - | "workflowstates" - >; - mgroot?: string; - mglanguageFilter?: string; -} - -export interface ApiActionQueryMetaMessageGroupStatsParams extends ApiActionQueryParams { - mgsoffset?: string; - mgsgroup: string; - mgssuppresscomplete?: boolean; - mgssuppressempty?: boolean; -} - -export interface ApiActionQueryMetaMessageTranslationsParams extends ApiActionQueryParams { - mttitle: string; - mtoffset?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Echo_(Notifications)/API} - */ -export interface ApiActionQueryMetaNotificationsParams extends ApiActionQueryParams { - notwikis?: string | string[]; - notfilter?: OneOrMore<"!read" | "read">; - notprop?: OneOrMore<"count" | "list" | "seenTime">; - notsections?: OneOrMore<"alert" | "message">; - notgroupbysection?: boolean; - notformat?: "flyout" | "html" | "model" | "special"; - notlimit?: limit; - notcontinue?: string; - notunreadfirst?: boolean; - nottitles?: string | string[]; - notbundle?: boolean; - notnotifiertypes?: OneOrMore<"email" | "push" | "web">; - notalertcontinue?: string; - notalertunreadfirst?: boolean; - notmessagecontinue?: string; - notmessageunreadfirst?: boolean; - notcrosswikisummary?: boolean; -} - -/** - * @private - */ -export interface ApiActionQueryMetaOATHParams extends ApiActionQueryParams { - oathuser?: string; - oathreason?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ORES} - */ -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryMetaORESParams extends ApiActionQueryParams {} - -export interface ApiActionQueryMetaProofreadInfoParams extends ApiActionQueryParams { - prpiprop?: OneOrMore<"namespaces" | "qualitylevels">; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionQueryMetaReadingListsParams extends ApiActionQueryParams { - rllist?: number; - rlproject?: string; - rltitle?: string; - rlchangedsince?: timestamp; - rlsort?: "name" | "updated"; - rldir?: "ascending" | "descending"; - rllimit?: limit; - rlcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Siteinfo} - */ -export interface ApiActionQueryMetaSiteinfoParams extends ApiActionQueryParams { - siprop?: OneOrMore< - | "autocreatetempuser" - | "autopromote" - | "autopromoteonce" - | "clientlibraries" - | "dbrepllag" - | "defaultoptions" - | "extensions" - | "extensiontags" - | "fileextensions" - | "functionhooks" - | "general" - | "interwikimap" - | "languages" - | "languagevariants" - | "libraries" - | "magicwords" - | "namespacealiases" - | "namespaces" - | "protocols" - | "restrictions" - | "rightsinfo" - | "showhooks" - | "skins" - | "specialpagealiases" - | "statistics" - | "uploaddialog" - | "usergroups" - | "variables" - >; - sifilteriw?: "!local" | "local"; - sishowalldb?: boolean; - sinumberingroup?: boolean; - siinlanguagecode?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo} - */ -export interface ApiActionQueryMetaSiteViewsParams extends ApiActionQueryParams { - pvismetric?: "pageviews" | "uniques"; - pvisdays?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Tokens} - */ -export interface ApiActionQueryMetaTokensParams extends ApiActionQueryParams { - type?: OneOrMore< - | "createaccount" - | "csrf" - | "deleteglobalaccount" - | "login" - | "patrol" - | "rollback" - | "setglobalaccountstatus" - | "userrights" - | "watch" - | "*" - >; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Echo_(Notifications)/API} - */ -export interface ApiActionQueryMetaUnreadNotificationPagesParams extends ApiActionQueryParams { - unpwikis?: string | string[]; - unpgrouppages?: boolean; - unplimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Userinfo} - */ -export interface ApiActionQueryMetaUserInfoParams extends ApiActionQueryParams { - uiprop?: OneOrMore< - | "acceptlang" - | "blockinfo" - | "cancreateaccount" - | "centralids" - | "changeablegroups" - | "editcount" - | "email" - | "groupmemberships" - | "groups" - | "hasmsg" - | "implicitgroups" - | "latestcontrib" - | "options" - | "ratelimits" - | "realname" - | "registrationdate" - | "rights" - | "theoreticalratelimits" - | "unreadcount" - | "*" - >; - uiattachedwiki?: string; -} - -export interface ApiActionQueryMetaWBContentLanguagesParams extends ApiActionQueryParams { - wbclcontext?: "monolingualtext" | "term" | "term-lexicographical"; - wbclprop?: OneOrMore<"autonym" | "code" | "name">; -} - -/** - * @private - */ -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryMetaWBDataBridgeConfigParams extends ApiActionQueryParams {} - -export interface ApiActionQueryMetaWikibaseParams extends ApiActionQueryParams { - wbprop?: OneOrMore<"siteid" | "url">; -} - -/** - * @private - */ -// tslint:disable-next-line:no-empty-interface -export interface ApiActionQueryMetaWikimediaEditorTasksCountsParams extends ApiActionQueryParams {} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories} - */ -export interface ApiActionQueryGeneratorAllCategoriesParams extends ApiActionQueryParams { - generator?: "allcategories"; - gacfrom?: string; - gaccontinue?: string; - gacto?: string; - gacprefix?: string; - gacdir?: "ascending" | "descending"; - gacmin?: number; - gacmax?: number; - gaclimit?: limit; - gacprop?: OneOrMore<"hidden" | "size">; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions} - */ -export interface ApiActionQueryGeneratorAllDeletedRevisionsParams extends ApiActionQueryParams { - generator?: "alldeletedrevisions"; - gadrprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - gadrslots?: string | string[]; - [k: `gadrcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gadrlimit?: limit; - /** - * @deprecated - */ - gadrexpandtemplates?: boolean; - /** - * @deprecated - */ - gadrgeneratexml?: boolean; - /** - * @deprecated - */ - gadrparse?: boolean; - gadrsection?: string; - /** - * @deprecated - */ - gadrdiffto?: string; - /** - * @deprecated - */ - gadrdifftotext?: string; - /** - * @deprecated - */ - gadrdifftotextpst?: boolean; - /** - * @deprecated - */ - gadrcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gadruser?: string; - gadrnamespace?: namespace | namespace[]; - gadrstart?: timestamp; - gadrend?: timestamp; - gadrdir?: "newer" | "older"; - gadrfrom?: string; - gadrto?: string; - gadrprefix?: string; - gadrexcludeuser?: string; - gadrtag?: string; - gadrcontinue?: string; - gadrgeneratetitles?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages} - */ -export interface ApiActionQueryGeneratorAllFileUsagesParams extends ApiActionQueryParams { - generator?: "allfileusages"; - gafcontinue?: string; - gaffrom?: string; - gafto?: string; - gafprefix?: string; - gafunique?: boolean; - gafprop?: OneOrMore<"ids" | "title">; - gaflimit?: limit; - gafdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages} - */ -export interface ApiActionQueryGeneratorAllImagesParams extends ApiActionQueryParams { - generator?: "allimages"; - gaisort?: "name" | "timestamp"; - gaidir?: "ascending" | "descending" | "newer" | "older"; - gaifrom?: string; - gaito?: string; - gaicontinue?: string; - gaistart?: timestamp; - gaiend?: timestamp; - gaiprop?: OneOrMore< - | "badfile" - | "bitdepth" - | "canonicaltitle" - | "comment" - | "commonmetadata" - | "dimensions" - | "extmetadata" - | "mediatype" - | "metadata" - | "mime" - | "parsedcomment" - | "sha1" - | "size" - | "timestamp" - | "url" - | "user" - | "userid" - >; - gaiprefix?: string; - gaiminsize?: number; - gaimaxsize?: number; - gaisha1?: string; - gaisha1base36?: string; - gaiuser?: string; - gaifilterbots?: "all" | "bots" | "nobots"; - gaimime?: string | string[]; - gailimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks} - */ -export interface ApiActionQueryGeneratorAllLinksParams extends ApiActionQueryParams { - generator?: "alllinks"; - galcontinue?: string; - galfrom?: string; - galto?: string; - galprefix?: string; - galunique?: boolean; - galprop?: OneOrMore<"ids" | "title">; - galnamespace?: namespace; - gallimit?: limit; - galdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages} - */ -export interface ApiActionQueryGeneratorAllPagesParams extends ApiActionQueryParams { - generator?: "allpages"; - gapfrom?: string; - gapcontinue?: string; - gapto?: string; - gapprefix?: string; - gapnamespace?: namespace; - gapfilterredir?: "all" | "nonredirects" | "redirects"; - gapfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; - gapminsize?: number; - gapmaxsize?: number; - gapprtype?: OneOrMore<"edit" | "move" | "upload">; - gapprlevel?: string | string[]; - gapprfiltercascade?: "all" | "cascading" | "noncascading"; - gapprexpiry?: "all" | "definite" | "indefinite"; - gaplimit?: limit; - gapdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects} - */ -export interface ApiActionQueryGeneratorAllRedirectsParams extends ApiActionQueryParams { - generator?: "allredirects"; - garcontinue?: string; - garfrom?: string; - garto?: string; - garprefix?: string; - garunique?: boolean; - garprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; - garnamespace?: namespace; - garlimit?: limit; - gardir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions} - */ -export interface ApiActionQueryGeneratorAllRevisionsParams extends ApiActionQueryParams { - generator?: "allrevisions"; - garvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "oresscores" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - garvslots?: string | string[]; - [k: `garvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - garvlimit?: limit; - /** - * @deprecated - */ - garvexpandtemplates?: boolean; - /** - * @deprecated - */ - garvgeneratexml?: boolean; - /** - * @deprecated - */ - garvparse?: boolean; - garvsection?: string; - /** - * @deprecated - */ - garvdiffto?: string; - /** - * @deprecated - */ - garvdifftotext?: string; - /** - * @deprecated - */ - garvdifftotextpst?: boolean; - /** - * @deprecated - */ - garvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - garvuser?: string; - garvnamespace?: namespace | namespace[]; - garvstart?: timestamp; - garvend?: timestamp; - garvdir?: "newer" | "older"; - garvexcludeuser?: string; - garvcontinue?: string; - garvgeneratetitles?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions} - */ -export interface ApiActionQueryGeneratorAllTransclusionsParams extends ApiActionQueryParams { - generator?: "alltransclusions"; - gatcontinue?: string; - gatfrom?: string; - gatto?: string; - gatprefix?: string; - gatunique?: boolean; - gatprop?: OneOrMore<"ids" | "title">; - gatnamespace?: namespace; - gatlimit?: limit; - gatdir?: "ascending" | "descending"; -} - -export interface ApiActionQueryGeneratorAutomaticTranslationDenseLanguagesParams - extends ApiActionQueryParams { - "generator"?: "automatictranslationdenselanguages"; - "gqid": string; - "gsection-titles"?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks} - */ -export interface ApiActionQueryGeneratorBacklinksParams extends ApiActionQueryParams { - generator?: "backlinks"; - gbltitle?: string; - gblpageid?: number; - gblcontinue?: string; - gblnamespace?: namespace | namespace[]; - gbldir?: "ascending" | "descending"; - gblfilterredir?: "all" | "nonredirects" | "redirects"; - gbllimit?: limit; - gblredirect?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories} - */ -export interface ApiActionQueryGeneratorCategoriesParams extends ApiActionQueryParams { - generator?: "categories"; - gclprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; - gclshow?: OneOrMore<"!hidden" | "hidden">; - gcllimit?: limit; - gclcontinue?: string; - gclcategories?: string | string[]; - gcldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers} - */ -export interface ApiActionQueryGeneratorCategoryMembersParams extends ApiActionQueryParams { - generator?: "categorymembers"; - gcmtitle?: string; - gcmpageid?: number; - gcmprop?: OneOrMore<"ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type">; - gcmnamespace?: namespace | namespace[]; - gcmtype?: OneOrMore<"file" | "page" | "subcat">; - gcmcontinue?: string; - gcmlimit?: limit; - gcmsort?: "sortkey" | "timestamp"; - gcmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; - gcmstart?: timestamp; - gcmend?: timestamp; - gcmstarthexsortkey?: string; - gcmendhexsortkey?: string; - gcmstartsortkeyprefix?: string; - gcmendsortkeyprefix?: string; - /** - * @deprecated - */ - gcmstartsortkey?: string; - /** - * @deprecated - */ - gcmendsortkey?: string; -} - -export interface ApiActionQueryGeneratorConfiguredpagesParams extends ApiActionQueryParams { - generator?: "configuredpages"; - gcpstart?: number; - gcpend?: number; - gcpdir?: "newer" | "older"; - gcpnamespace?: namespace | namespace[]; - gcpdefault?: "latest" | "stable"; - gcpautoreview?: "none" | "sysop"; - gcplimit?: limit; -} - -export interface ApiActionQueryGeneratorContentTranslationParams extends ApiActionQueryParams { - generator?: "contenttranslation"; - gtranslationid?: string; - gfrom?: string; - gto?: string; - gsourcetitle?: string; - gsourcesectiontitle?: string; - glimit?: limit; - goffset?: string; - gtype?: "draft" | "published"; - gusecase?: "desktop-editor-draft" | "translation-corpora-units" | "unified-dashboard"; -} - -export interface ApiActionQueryGeneratorContentTranslationSuggestionsParams - extends ApiActionQueryParams { - generator?: "contenttranslationsuggestions"; - gfrom?: string; - gto?: string; - glistid?: string; - glimit?: limit; - goffset?: string; - gseed?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions} - */ -export interface ApiActionQueryGeneratorDeletedRevisionsParams extends ApiActionQueryParams { - generator?: "deletedrevisions"; - gdrvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - gdrvslots?: string | string[]; - [k: `gdrvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gdrvlimit?: limit; - /** - * @deprecated - */ - gdrvexpandtemplates?: boolean; - /** - * @deprecated - */ - gdrvgeneratexml?: boolean; - /** - * @deprecated - */ - gdrvparse?: boolean; - gdrvsection?: string; - /** - * @deprecated - */ - gdrvdiffto?: string; - /** - * @deprecated - */ - gdrvdifftotext?: string; - /** - * @deprecated - */ - gdrvdifftotextpst?: boolean; - /** - * @deprecated - */ - gdrvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gdrvstart?: timestamp; - gdrvend?: timestamp; - gdrvdir?: "newer" | "older"; - gdrvtag?: string; - gdrvuser?: string; - gdrvexcludeuser?: string; - gdrvcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles} - */ -export interface ApiActionQueryGeneratorDuplicateFilesParams extends ApiActionQueryParams { - generator?: "duplicatefiles"; - gdflimit?: limit; - gdfcontinue?: string; - gdfdir?: "ascending" | "descending"; - gdflocalonly?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin} - */ -export interface ApiActionQueryGeneratorEmbeddedinParams extends ApiActionQueryParams { - generator?: "embeddedin"; - geititle?: string; - geipageid?: number; - geicontinue?: string; - geinamespace?: namespace | namespace[]; - geidir?: "ascending" | "descending"; - geifilterredir?: "all" | "nonredirects" | "redirects"; - geilimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage} - */ -export interface ApiActionQueryGeneratorExtUrlUsageParams extends ApiActionQueryParams { - generator?: "exturlusage"; - geuprop?: OneOrMore<"ids" | "title" | "url">; - geucontinue?: string; - geuprotocol?: - | "" - | "bitcoin" - | "ftp" - | "ftps" - | "geo" - | "git" - | "gopher" - | "http" - | "https" - | "irc" - | "ircs" - | "magnet" - | "mailto" - | "matrix" - | "mms" - | "news" - | "nntp" - | "redis" - | "sftp" - | "sip" - | "sips" - | "sms" - | "ssh" - | "svn" - | "tel" - | "telnet" - | "urn" - | "worldwind" - | "xmpp"; - geuquery?: string; - geunamespace?: namespace | namespace[]; - geulimit?: limit; - /** - * @deprecated - */ - geuexpandurl?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage} - */ -export interface ApiActionQueryGeneratorFileUsageParams extends ApiActionQueryParams { - generator?: "fileusage"; - gfuprop?: OneOrMore<"pageid" | "redirect" | "title">; - gfunamespace?: namespace | namespace[]; - gfushow?: OneOrMore<"!redirect" | "redirect">; - gfulimit?: limit; - gfucontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch} - */ -export interface ApiActionQueryGeneratorGeoSearchParams extends ApiActionQueryParams { - generator?: "geosearch"; - ggscoord?: string; - ggspage?: string; - ggsbbox?: string; - ggsradius?: number; - ggsmaxdim?: number; - ggssort?: "distance" | "relevance"; - ggslimit?: limit; - ggsglobe?: "earth"; - ggsnamespace?: namespace | namespace[]; - ggsprop?: OneOrMore<"country" | "dim" | "globe" | "name" | "region" | "type">; - ggsprimary?: "all" | "primary" | "secondary"; - ggsdebug?: boolean; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API} - */ -export interface ApiActionQueryGeneratorGrowthTasksParams extends ApiActionQueryParams { - generator?: "growthtasks"; - ggttasktypes?: OneOrMore< - | "copyedit" - | "expand" - | "image-recommendation" - | "link-recommendation" - | "links" - | "references" - | "section-image-recommendation" - | "update" - >; - ggttopics?: OneOrMore< - | "africa" - | "architecture" - | "art" - | "asia" - | "biography" - | "biology" - | "business-and-economics" - | "central-america" - | "chemistry" - | "comics-and-anime" - | "computers-and-internet" - | "earth-and-environment" - | "education" - | "engineering" - | "entertainment" - | "europe" - | "fashion" - | "food-and-drink" - | "general-science" - | "history" - | "literature" - | "mathematics" - | "medicine-and-health" - | "military-and-warfare" - | "music" - | "north-america" - | "oceania" - | "performing-arts" - | "philosophy-and-religion" - | "physics" - | "politics-and-government" - | "society" - | "south-america" - | "sports" - | "technology" - | "transportation" - | "tv-and-film" - | "video-games" - | "women" - >; - ggttopicsmode?: "AND" | "OR"; - ggtlimit?: limit; - ggtoffset?: number; - ggtdebug?: boolean; - ggtexcludepageids?: number | number[]; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images} - */ -export interface ApiActionQueryGeneratorImagesParams extends ApiActionQueryParams { - generator?: "images"; - gimlimit?: limit; - gimcontinue?: string; - gimimages?: string | string[]; - gimdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage} - */ -export interface ApiActionQueryGeneratorImageUsageParams extends ApiActionQueryParams { - generator?: "imageusage"; - giutitle?: string; - giupageid?: number; - giucontinue?: string; - giunamespace?: namespace | namespace[]; - giudir?: "ascending" | "descending"; - giufilterredir?: "all" | "nonredirects" | "redirects"; - giulimit?: limit; - giuredirect?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks} - */ -export interface ApiActionQueryGeneratorIWBacklinksParams extends ApiActionQueryParams { - generator?: "iwbacklinks"; - giwblprefix?: string; - giwbltitle?: string; - giwblcontinue?: string; - giwbllimit?: limit; - giwblprop?: OneOrMore<"iwprefix" | "iwtitle">; - giwbldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks} - */ -export interface ApiActionQueryGeneratorLangBacklinksParams extends ApiActionQueryParams { - generator?: "langbacklinks"; - glbllang?: string; - glbltitle?: string; - glblcontinue?: string; - glbllimit?: limit; - glblprop?: OneOrMore<"lllang" | "lltitle">; - glbldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links} - */ -export interface ApiActionQueryGeneratorLinksParams extends ApiActionQueryParams { - generator?: "links"; - gplnamespace?: namespace | namespace[]; - gpllimit?: limit; - gplcontinue?: string; - gpltitles?: string | string[]; - gpldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere} - */ -export interface ApiActionQueryGeneratorLinksHereParams extends ApiActionQueryParams { - generator?: "linkshere"; - glhprop?: OneOrMore<"pageid" | "redirect" | "title">; - glhnamespace?: namespace | namespace[]; - glhshow?: OneOrMore<"!redirect" | "redirect">; - glhlimit?: limit; - glhcontinue?: string; -} - -export interface ApiActionQueryGeneratorMessageCollectionParams extends ApiActionQueryParams { - generator?: "messagecollection"; - gmcgroup: string; - gmclanguage?: string; - gmclimit?: limit; - gmcoffset?: string; - gmcfilter?: string | string[]; - gmcprop?: OneOrMore<"definition" | "properties" | "tags" | "translation" | "revision">; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo} - */ -export interface ApiActionQueryGeneratorMostViewedParams extends ApiActionQueryParams { - generator?: "mostviewed"; - gpvimmetric?: "pageviews"; - gpvimlimit?: limit; - gpvimoffset?: number; -} - -export interface ApiActionQueryGeneratorOldreviewedpagesParams extends ApiActionQueryParams { - generator?: "oldreviewedpages"; - gorstart?: timestamp; - gorend?: timestamp; - gordir?: "newer" | "older"; - gormaxsize?: number; - gorfilterwatched?: "all" | "watched"; - gornamespace?: namespace | namespace[]; - gorcategory?: string; - gorfilterredir?: "all" | "nonredirects" | "redirects"; - gorlimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop} - */ -export interface ApiActionQueryGeneratorPagesWithPropParams extends ApiActionQueryParams { - generator?: "pageswithprop"; - gpwppropname: string; - gpwpprop?: OneOrMore<"ids" | "title" | "value">; - gpwpcontinue?: string; - gpwplimit?: limit; - gpwpdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch} - */ -export interface ApiActionQueryGeneratorPrefixSearchParams extends ApiActionQueryParams { - generator?: "prefixsearch"; - gpssearch: string; - gpsnamespace?: namespace | namespace[]; - gpslimit?: limit; - gpsoffset?: number; - gpsprofile?: - | "classic" - | "engine_autoselect" - | "fast-fuzzy" - | "fuzzy" - | "fuzzy-subphrases" - | "normal" - | "normal-subphrases" - | "strict"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments} - */ -export interface ApiActionQueryGeneratorProjectPagesParams extends ApiActionQueryParams { - generator?: "projectpages"; - gwppassessments?: boolean; - gwppprojects: string | string[]; - gwpplimit?: limit; - gwppcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API} - */ -export interface ApiActionQueryGeneratorProofreadPagesInIndexParams extends ApiActionQueryParams { - generator?: "proofreadpagesinindex"; - gprppiiprop?: OneOrMore<"formattedpagenumber" | "ids" | "title" | "formattedPageNumber">; - gprppiititle?: string; - gprppiipageid?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles} - */ -export interface ApiActionQueryGeneratorProtectedTitlesParams extends ApiActionQueryParams { - generator?: "protectedtitles"; - gptnamespace?: namespace | namespace[]; - gptlevel?: string | string[]; - gptlimit?: limit; - gptdir?: "newer" | "older"; - gptstart?: timestamp; - gptend?: timestamp; - gptprop?: OneOrMore< - "comment" | "expiry" | "level" | "parsedcomment" | "timestamp" | "user" | "userid" - >; - gptcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage} - */ -export interface ApiActionQueryGeneratorQueryPageParams extends ApiActionQueryParams { - generator?: "querypage"; - gqppage: string; - gqpoffset?: number; - gqplimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random} - */ -export interface ApiActionQueryGeneratorRandomParams extends ApiActionQueryParams { - generator?: "random"; - grnnamespace?: namespace | namespace[]; - grnfilterredir?: "all" | "nonredirects" | "redirects"; - /** - * @deprecated - */ - grnredirect?: boolean; - grnlimit?: limit; - grncontinue?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionQueryGeneratorReadingListEntriesParams extends ApiActionQueryParams { - generator?: "readinglistentries"; - grlelists?: number | number[]; - grlechangedsince?: timestamp; - grlesort?: "name" | "updated"; - grledir?: "ascending" | "descending"; - grlelimit?: limit; - grlecontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges} - */ -export interface ApiActionQueryGeneratorRecentChangesParams extends ApiActionQueryParams { - generator?: "recentchanges"; - grcstart?: timestamp; - grcend?: timestamp; - grcdir?: "newer" | "older"; - grcnamespace?: namespace | namespace[]; - grcuser?: string; - grcexcludeuser?: string; - grctag?: string; - grcprop?: OneOrMore< - | "comment" - | "flags" - | "ids" - | "loginfo" - | "oresscores" - | "parsedcomment" - | "patrolled" - | "redirect" - | "sha1" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - grcshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!redirect" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "redirect" - | "unpatrolled" - >; - grclimit?: limit; - grctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - grctoponly?: boolean; - grctitle?: string; - grccontinue?: string; - grcgeneraterevisions?: boolean; - grcslot?: "main" | "mediainfo"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects} - */ -export interface ApiActionQueryGeneratorRedirectsParams extends ApiActionQueryParams { - generator?: "redirects"; - grdprop?: OneOrMore<"fragment" | "pageid" | "title">; - grdnamespace?: namespace | namespace[]; - grdshow?: OneOrMore<"!fragment" | "fragment">; - grdlimit?: limit; - grdcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions} - */ -export interface ApiActionQueryGeneratorRevisionsParams extends ApiActionQueryParams { - generator?: "revisions"; - grvprop?: string | string[]; - grvslots?: string | string[]; - [k: `grvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - grvlimit?: limit; - /** - * @deprecated - */ - grvexpandtemplates?: boolean; - /** - * @deprecated - */ - grvgeneratexml?: boolean; - /** - * @deprecated - */ - grvparse?: boolean; - grvsection?: string; - /** - * @deprecated - */ - grvdiffto?: string; - /** - * @deprecated - */ - grvdifftotext?: string; - /** - * @deprecated - */ - grvdifftotextpst?: boolean; - /** - * @deprecated - */ - grvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - grvstartid?: number; - grvendid?: number; - grvstart?: timestamp; - grvend?: timestamp; - grvdir?: "newer" | "older"; - grvuser?: string; - grvexcludeuser?: string; - grvtag?: string; - grvcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search} - */ -export interface ApiActionQueryGeneratorSearchParams extends ApiActionQueryParams { - generator?: "search"; - gsrsearch: string; - gsrnamespace?: namespace | namespace[]; - gsrlimit?: limit; - gsroffset?: number; - gsrqiprofile?: string; - gsrwhat?: "nearmatch" | "text" | "title"; - gsrinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; - gsrprop?: OneOrMore< - | "categorysnippet" - | "extensiondata" - | "isfilematch" - | "redirectsnippet" - | "redirecttitle" - | "sectionsnippet" - | "sectiontitle" - | "size" - | "snippet" - | "timestamp" - | "titlesnippet" - | "wordcount" - | "hasrelated" - | "score" - >; - gsrinterwiki?: boolean; - gsrenablerewrites?: boolean; - gsrsort?: - | "create_timestamp_asc" - | "create_timestamp_desc" - | "incoming_links_asc" - | "incoming_links_desc" - | "just_match" - | "last_edit_asc" - | "last_edit_desc" - | "none" - | "random" - | "relevance" - | "user_random"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates} - */ -export interface ApiActionQueryGeneratorTemplatesParams extends ApiActionQueryParams { - generator?: "templates"; - gtlnamespace?: namespace | namespace[]; - gtllimit?: limit; - gtlcontinue?: string; - gtltemplates?: string | string[]; - gtldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin} - */ -export interface ApiActionQueryGeneratorTranscludedinParams extends ApiActionQueryParams { - generator?: "transcludedin"; - gtiprop?: OneOrMore<"pageid" | "redirect" | "title">; - gtinamespace?: namespace | namespace[]; - gtishow?: OneOrMore<"!redirect" | "redirect">; - gtilimit?: limit; - gticontinue?: string; -} - -export interface ApiActionQueryGeneratorUnreviewedpagesParams extends ApiActionQueryParams { - generator?: "unreviewedpages"; - gurstart?: string; - gurend?: string; - gurdir?: "ascending" | "descending"; - gurnamespace?: namespace | namespace[]; - gurfilterredir?: "all" | "nonredirects" | "redirects"; - gurfilterlevel?: number; - gurlimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist} - */ -export interface ApiActionQueryGeneratorWatchlistParams extends ApiActionQueryParams { - generator?: "watchlist"; - gwlallrev?: boolean; - gwlstart?: timestamp; - gwlend?: timestamp; - gwlnamespace?: namespace | namespace[]; - gwluser?: string; - gwlexcludeuser?: string; - gwldir?: "newer" | "older"; - gwllimit?: limit; - gwlprop?: OneOrMore< - | "comment" - | "expiry" - | "flags" - | "ids" - | "loginfo" - | "notificationtimestamp" - | "oresscores" - | "parsedcomment" - | "patrol" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - gwlshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!unread" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "unread" - >; - gwltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - gwlowner?: string; - gwltoken?: string; - gwlcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw} - */ -export interface ApiActionQueryGeneratorWatchlistRawParams extends ApiActionQueryParams { - generator?: "watchlistraw"; - gwrcontinue?: string; - gwrnamespace?: namespace | namespace[]; - gwrlimit?: limit; - gwrprop?: OneOrMore<"changed">; - gwrshow?: OneOrMore<"!changed" | "changed">; - gwrowner?: string; - gwrtoken?: string; - gwrdir?: "ascending" | "descending"; - gwrfromtitle?: string; - gwrtotitle?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API} - */ -export interface ApiActionQueryGeneratorWBListEntityUsageParams extends ApiActionQueryParams { - generator?: "wblistentityusage"; - gwbleuprop?: OneOrMore<"url">; - gwbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; - gwbleuentities: string | string[]; - gwbleulimit?: limit; - gwbleucontinue?: string; -} - -/** - * @private - */ -export interface ApiActionQueryGeneratorWBSearchParams extends ApiActionQueryParams { - generator?: "wbsearch"; - gwbssearch: string; - gwbslanguage?: string; - gwbsstrictlanguage?: boolean; - gwbstype?: string; - gwbslimit?: limit; - gwbsprofile?: "default" | "language"; -} - -export interface ApiActionQueryGeneratorWikiLambdaFnSearchParams extends ApiActionQueryParams { - generator?: "wikilambdafn_search"; - gwikilambdafn_zfunction_id?: string; - gwikilambdafn_type?: string; - gwikilambdafn_limit?: limit; - gwikilambdafn_continue?: string; -} - -export interface ApiActionQueryGeneratorWikiLambdaLoadZObjectsParams extends ApiActionQueryParams { - generator?: "wikilambdaload_zobjects"; - gwikilambdaload_zids: string | string[]; - gwikilambdaload_revisions?: string | string[]; - gwikilambdaload_language?: string; - gwikilambdaload_get_dependencies?: boolean; -} - -export interface ApiActionQueryGeneratorWikiLambdaSearchLabelsParams extends ApiActionQueryParams { - generator?: "wikilambdasearch_labels"; - gwikilambdasearch_search?: string; - gwikilambdasearch_language: string; - gwikilambdasearch_nofallback?: boolean; - gwikilambdasearch_exact?: boolean; - gwikilambdasearch_type?: string; - gwikilambdasearch_return_type?: string; - gwikilambdasearch_strict_return_type?: boolean; - gwikilambdasearch_limit?: limit; - gwikilambdasearch_continue?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionReadingListsParams extends ApiParams { - action?: "readinglists"; - command: string; - token?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionReadingListsCommandCreateParams extends ApiActionReadingListsParams { - command: "create"; - name?: string; - description?: string; - batch?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionReadingListsCommandCreateEntryParams extends ApiActionReadingListsParams { - command: "createentry"; - list: number; - project?: string; - title?: string; - batch?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionReadingListsCommandDeleteParams extends ApiActionReadingListsParams { - command: "delete"; - list?: number; - batch?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionReadingListsCommandDeleteEntryParams extends ApiActionReadingListsParams { - command: "deleteentry"; - entry?: number; - batch?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionReadingListsCommandSetupParams extends ApiActionReadingListsParams { - command: "setup"; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionReadingListsCommandTeardownParams extends ApiActionReadingListsParams { - command: "teardown"; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionReadingListsCommandUpdateParams extends ApiActionReadingListsParams { - command: "update"; - list?: number; - name?: string; - description?: string; - batch?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Manage_authentication_data} - */ -export interface ApiActionRemoveAuthenticationDataParams extends ApiParams { - action?: "removeauthenticationdata"; - request: string; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Manage_authentication_data} - */ -export interface ApiActionResetPasswordParams extends ApiParams { - action?: "resetpassword"; - user?: string; - email?: string; - token?: string; -} - -export interface ApiActionReviewParams extends ApiParams { - action?: "review"; - revid?: string; - comment?: string; - unapprove?: boolean; - flag_value?: "0" | "1" | "2" | "3"; - flag_accuracy?: "0" | "1" | "2"; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisiondelete} - */ -export interface ApiActionRevisionDeleteParams extends ApiParams { - action?: "revisiondelete"; - type: "archive" | "filearchive" | "logging" | "oldimage" | "revision"; - target?: string; - ids: string | string[]; - hide?: OneOrMore<"comment" | "content" | "user">; - show?: OneOrMore<"comment" | "content" | "user">; - suppress?: "no" | "nochange" | "yes"; - reason?: string; - tags?: string | string[]; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Rollback} - */ -export interface ApiActionRollbackParams extends ApiParams { - action?: "rollback"; - title?: string; - pageid?: number; - tags?: string | string[]; - user: string; - summary?: string; - markbot?: boolean; - watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; - watchlistexpiry?: expiry; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Rsd} - */ -export interface ApiActionRsdParams extends ApiParams { - action?: "rsd"; -} - -/** - * @private - */ -export interface ApiActionSanitizeMapDataParams extends ApiParams { - action?: "sanitize-mapdata"; - title?: string; - text: string; -} - -/** - * @private - */ -export interface ApiActionScribuntoConsoleParams extends ApiParams { - action?: "scribunto-console"; - title?: string; - content?: string; - session?: number; - question: string; - clear?: boolean; - token?: string; -} - -export interface ApiActionSearchTranslationsParams extends ApiParams { - action?: "searchtranslations"; - service?: "codfw" | "default" | "eqiad"; - query: string; - sourcelanguage?: string; - language?: string; - group?: string; - filter?: "" | "fuzzy" | "translated" | "untranslated"; - match?: string; - case?: string; - offset?: number; - limit?: limit; -} - -/** - * @private - */ -export interface ApiActionSecurePollAuthParams extends ApiParams { - action?: "securepollauth"; - token: string; - id: number; -} - -export interface ApiActionSetGlobalAccountStatusParams extends ApiParams { - action?: "setglobalaccountstatus"; - user: string; - locked?: "" | "lock" | "unlock"; - hidden?: "" | "lists" | "suppressed"; - reason?: string; - statecheck?: string; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:SetNotificationTimestamp} - */ -export interface ApiActionSetNotificationTimestampParams extends ApiParams { - action?: "setnotificationtimestamp"; - entirewatchlist?: boolean; - timestamp?: timestamp; - torevid?: number; - newerthanrevid?: number; - continue?: string; - titles?: string | string[]; - pageids?: number | number[]; - revids?: number | number[]; - generator?: string; - redirects?: boolean; - converttitles?: boolean; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories} - */ -export interface ApiActionSetNotificationTimestampGeneratorAllCategoriesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "allcategories"; - gacfrom?: string; - gaccontinue?: string; - gacto?: string; - gacprefix?: string; - gacdir?: "ascending" | "descending"; - gacmin?: number; - gacmax?: number; - gaclimit?: limit; - gacprop?: OneOrMore<"hidden" | "size">; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions} - */ -export interface ApiActionSetNotificationTimestampGeneratorAllDeletedRevisionsParams - extends ApiActionSetNotificationTimestampParams { - generator?: "alldeletedrevisions"; - gadrprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - gadrslots?: string | string[]; - [k: `gadrcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gadrlimit?: limit; - /** - * @deprecated - */ - gadrexpandtemplates?: boolean; - /** - * @deprecated - */ - gadrgeneratexml?: boolean; - /** - * @deprecated - */ - gadrparse?: boolean; - gadrsection?: string; - /** - * @deprecated - */ - gadrdiffto?: string; - /** - * @deprecated - */ - gadrdifftotext?: string; - /** - * @deprecated - */ - gadrdifftotextpst?: boolean; - /** - * @deprecated - */ - gadrcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gadruser?: string; - gadrnamespace?: namespace | namespace[]; - gadrstart?: timestamp; - gadrend?: timestamp; - gadrdir?: "newer" | "older"; - gadrfrom?: string; - gadrto?: string; - gadrprefix?: string; - gadrexcludeuser?: string; - gadrtag?: string; - gadrcontinue?: string; - gadrgeneratetitles?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages} - */ -export interface ApiActionSetNotificationTimestampGeneratorAllFileUsagesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "allfileusages"; - gafcontinue?: string; - gaffrom?: string; - gafto?: string; - gafprefix?: string; - gafunique?: boolean; - gafprop?: OneOrMore<"ids" | "title">; - gaflimit?: limit; - gafdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages} - */ -export interface ApiActionSetNotificationTimestampGeneratorAllImagesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "allimages"; - gaisort?: "name" | "timestamp"; - gaidir?: "ascending" | "descending" | "newer" | "older"; - gaifrom?: string; - gaito?: string; - gaicontinue?: string; - gaistart?: timestamp; - gaiend?: timestamp; - gaiprop?: OneOrMore< - | "badfile" - | "bitdepth" - | "canonicaltitle" - | "comment" - | "commonmetadata" - | "dimensions" - | "extmetadata" - | "mediatype" - | "metadata" - | "mime" - | "parsedcomment" - | "sha1" - | "size" - | "timestamp" - | "url" - | "user" - | "userid" - >; - gaiprefix?: string; - gaiminsize?: number; - gaimaxsize?: number; - gaisha1?: string; - gaisha1base36?: string; - gaiuser?: string; - gaifilterbots?: "all" | "bots" | "nobots"; - gaimime?: string | string[]; - gailimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks} - */ -export interface ApiActionSetNotificationTimestampGeneratorAllLinksParams - extends ApiActionSetNotificationTimestampParams { - generator?: "alllinks"; - galcontinue?: string; - galfrom?: string; - galto?: string; - galprefix?: string; - galunique?: boolean; - galprop?: OneOrMore<"ids" | "title">; - galnamespace?: namespace; - gallimit?: limit; - galdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages} - */ -export interface ApiActionSetNotificationTimestampGeneratorAllPagesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "allpages"; - gapfrom?: string; - gapcontinue?: string; - gapto?: string; - gapprefix?: string; - gapnamespace?: namespace; - gapfilterredir?: "all" | "nonredirects" | "redirects"; - gapfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; - gapminsize?: number; - gapmaxsize?: number; - gapprtype?: OneOrMore<"edit" | "move" | "upload">; - gapprlevel?: string | string[]; - gapprfiltercascade?: "all" | "cascading" | "noncascading"; - gapprexpiry?: "all" | "definite" | "indefinite"; - gaplimit?: limit; - gapdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects} - */ -export interface ApiActionSetNotificationTimestampGeneratorAllRedirectsParams - extends ApiActionSetNotificationTimestampParams { - generator?: "allredirects"; - garcontinue?: string; - garfrom?: string; - garto?: string; - garprefix?: string; - garunique?: boolean; - garprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; - garnamespace?: namespace; - garlimit?: limit; - gardir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions} - */ -export interface ApiActionSetNotificationTimestampGeneratorAllRevisionsParams - extends ApiActionSetNotificationTimestampParams { - generator?: "allrevisions"; - garvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "oresscores" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - garvslots?: string | string[]; - [k: `garvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - garvlimit?: limit; - /** - * @deprecated - */ - garvexpandtemplates?: boolean; - /** - * @deprecated - */ - garvgeneratexml?: boolean; - /** - * @deprecated - */ - garvparse?: boolean; - garvsection?: string; - /** - * @deprecated - */ - garvdiffto?: string; - /** - * @deprecated - */ - garvdifftotext?: string; - /** - * @deprecated - */ - garvdifftotextpst?: boolean; - /** - * @deprecated - */ - garvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - garvuser?: string; - garvnamespace?: namespace | namespace[]; - garvstart?: timestamp; - garvend?: timestamp; - garvdir?: "newer" | "older"; - garvexcludeuser?: string; - garvcontinue?: string; - garvgeneratetitles?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions} - */ -export interface ApiActionSetNotificationTimestampGeneratorAllTransclusionsParams - extends ApiActionSetNotificationTimestampParams { - generator?: "alltransclusions"; - gatcontinue?: string; - gatfrom?: string; - gatto?: string; - gatprefix?: string; - gatunique?: boolean; - gatprop?: OneOrMore<"ids" | "title">; - gatnamespace?: namespace; - gatlimit?: limit; - gatdir?: "ascending" | "descending"; -} - -export interface ApiActionSetNotificationTimestampGeneratorAutomaticTranslationDenseLanguagesParams - extends ApiActionSetNotificationTimestampParams { - "generator"?: "automatictranslationdenselanguages"; - "gqid": string; - "gsection-titles"?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks} - */ -export interface ApiActionSetNotificationTimestampGeneratorBacklinksParams - extends ApiActionSetNotificationTimestampParams { - generator?: "backlinks"; - gbltitle?: string; - gblpageid?: number; - gblcontinue?: string; - gblnamespace?: namespace | namespace[]; - gbldir?: "ascending" | "descending"; - gblfilterredir?: "all" | "nonredirects" | "redirects"; - gbllimit?: limit; - gblredirect?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories} - */ -export interface ApiActionSetNotificationTimestampGeneratorCategoriesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "categories"; - gclprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; - gclshow?: OneOrMore<"!hidden" | "hidden">; - gcllimit?: limit; - gclcontinue?: string; - gclcategories?: string | string[]; - gcldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers} - */ -export interface ApiActionSetNotificationTimestampGeneratorCategoryMembersParams - extends ApiActionSetNotificationTimestampParams { - generator?: "categorymembers"; - gcmtitle?: string; - gcmpageid?: number; - gcmprop?: OneOrMore<"ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type">; - gcmnamespace?: namespace | namespace[]; - gcmtype?: OneOrMore<"file" | "page" | "subcat">; - gcmcontinue?: string; - gcmlimit?: limit; - gcmsort?: "sortkey" | "timestamp"; - gcmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; - gcmstart?: timestamp; - gcmend?: timestamp; - gcmstarthexsortkey?: string; - gcmendhexsortkey?: string; - gcmstartsortkeyprefix?: string; - gcmendsortkeyprefix?: string; - /** - * @deprecated - */ - gcmstartsortkey?: string; - /** - * @deprecated - */ - gcmendsortkey?: string; -} - -export interface ApiActionSetNotificationTimestampGeneratorConfiguredpagesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "configuredpages"; - gcpstart?: number; - gcpend?: number; - gcpdir?: "newer" | "older"; - gcpnamespace?: namespace | namespace[]; - gcpdefault?: "latest" | "stable"; - gcpautoreview?: "none" | "sysop"; - gcplimit?: limit; -} - -export interface ApiActionSetNotificationTimestampGeneratorContentTranslationParams - extends ApiActionSetNotificationTimestampParams { - generator?: "contenttranslation"; - gtranslationid?: string; - gfrom?: string; - gto?: string; - gsourcetitle?: string; - gsourcesectiontitle?: string; - glimit?: limit; - goffset?: string; - gtype?: "draft" | "published"; - gusecase?: "desktop-editor-draft" | "translation-corpora-units" | "unified-dashboard"; -} - -export interface ApiActionSetNotificationTimestampGeneratorContentTranslationSuggestionsParams - extends ApiActionSetNotificationTimestampParams { - generator?: "contenttranslationsuggestions"; - gfrom?: string; - gto?: string; - glistid?: string; - glimit?: limit; - goffset?: string; - gseed?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions} - */ -export interface ApiActionSetNotificationTimestampGeneratorDeletedRevisionsParams - extends ApiActionSetNotificationTimestampParams { - generator?: "deletedrevisions"; - gdrvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - gdrvslots?: string | string[]; - [k: `gdrvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gdrvlimit?: limit; - /** - * @deprecated - */ - gdrvexpandtemplates?: boolean; - /** - * @deprecated - */ - gdrvgeneratexml?: boolean; - /** - * @deprecated - */ - gdrvparse?: boolean; - gdrvsection?: string; - /** - * @deprecated - */ - gdrvdiffto?: string; - /** - * @deprecated - */ - gdrvdifftotext?: string; - /** - * @deprecated - */ - gdrvdifftotextpst?: boolean; - /** - * @deprecated - */ - gdrvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gdrvstart?: timestamp; - gdrvend?: timestamp; - gdrvdir?: "newer" | "older"; - gdrvtag?: string; - gdrvuser?: string; - gdrvexcludeuser?: string; - gdrvcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles} - */ -export interface ApiActionSetNotificationTimestampGeneratorDuplicateFilesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "duplicatefiles"; - gdflimit?: limit; - gdfcontinue?: string; - gdfdir?: "ascending" | "descending"; - gdflocalonly?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin} - */ -export interface ApiActionSetNotificationTimestampGeneratorEmbeddedinParams - extends ApiActionSetNotificationTimestampParams { - generator?: "embeddedin"; - geititle?: string; - geipageid?: number; - geicontinue?: string; - geinamespace?: namespace | namespace[]; - geidir?: "ascending" | "descending"; - geifilterredir?: "all" | "nonredirects" | "redirects"; - geilimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage} - */ -export interface ApiActionSetNotificationTimestampGeneratorExtUrlUsageParams - extends ApiActionSetNotificationTimestampParams { - generator?: "exturlusage"; - geuprop?: OneOrMore<"ids" | "title" | "url">; - geucontinue?: string; - geuprotocol?: - | "" - | "bitcoin" - | "ftp" - | "ftps" - | "geo" - | "git" - | "gopher" - | "http" - | "https" - | "irc" - | "ircs" - | "magnet" - | "mailto" - | "matrix" - | "mms" - | "news" - | "nntp" - | "redis" - | "sftp" - | "sip" - | "sips" - | "sms" - | "ssh" - | "svn" - | "tel" - | "telnet" - | "urn" - | "worldwind" - | "xmpp"; - geuquery?: string; - geunamespace?: namespace | namespace[]; - geulimit?: limit; - /** - * @deprecated - */ - geuexpandurl?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage} - */ -export interface ApiActionSetNotificationTimestampGeneratorFileUsageParams - extends ApiActionSetNotificationTimestampParams { - generator?: "fileusage"; - gfuprop?: OneOrMore<"pageid" | "redirect" | "title">; - gfunamespace?: namespace | namespace[]; - gfushow?: OneOrMore<"!redirect" | "redirect">; - gfulimit?: limit; - gfucontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch} - */ -export interface ApiActionSetNotificationTimestampGeneratorGeoSearchParams - extends ApiActionSetNotificationTimestampParams { - generator?: "geosearch"; - ggscoord?: string; - ggspage?: string; - ggsbbox?: string; - ggsradius?: number; - ggsmaxdim?: number; - ggssort?: "distance" | "relevance"; - ggslimit?: limit; - ggsglobe?: "earth"; - ggsnamespace?: namespace | namespace[]; - ggsprop?: OneOrMore<"country" | "dim" | "globe" | "name" | "region" | "type">; - ggsprimary?: "all" | "primary" | "secondary"; - ggsdebug?: boolean; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API} - */ -export interface ApiActionSetNotificationTimestampGeneratorGrowthTasksParams - extends ApiActionSetNotificationTimestampParams { - generator?: "growthtasks"; - ggttasktypes?: OneOrMore< - | "copyedit" - | "expand" - | "image-recommendation" - | "link-recommendation" - | "links" - | "references" - | "section-image-recommendation" - | "update" - >; - ggttopics?: OneOrMore< - | "africa" - | "architecture" - | "art" - | "asia" - | "biography" - | "biology" - | "business-and-economics" - | "central-america" - | "chemistry" - | "comics-and-anime" - | "computers-and-internet" - | "earth-and-environment" - | "education" - | "engineering" - | "entertainment" - | "europe" - | "fashion" - | "food-and-drink" - | "general-science" - | "history" - | "literature" - | "mathematics" - | "medicine-and-health" - | "military-and-warfare" - | "music" - | "north-america" - | "oceania" - | "performing-arts" - | "philosophy-and-religion" - | "physics" - | "politics-and-government" - | "society" - | "south-america" - | "sports" - | "technology" - | "transportation" - | "tv-and-film" - | "video-games" - | "women" - >; - ggttopicsmode?: "AND" | "OR"; - ggtlimit?: limit; - ggtoffset?: number; - ggtdebug?: boolean; - ggtexcludepageids?: number | number[]; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images} - */ -export interface ApiActionSetNotificationTimestampGeneratorImagesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "images"; - gimlimit?: limit; - gimcontinue?: string; - gimimages?: string | string[]; - gimdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage} - */ -export interface ApiActionSetNotificationTimestampGeneratorImageUsageParams - extends ApiActionSetNotificationTimestampParams { - generator?: "imageusage"; - giutitle?: string; - giupageid?: number; - giucontinue?: string; - giunamespace?: namespace | namespace[]; - giudir?: "ascending" | "descending"; - giufilterredir?: "all" | "nonredirects" | "redirects"; - giulimit?: limit; - giuredirect?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks} - */ -export interface ApiActionSetNotificationTimestampGeneratorIWBacklinksParams - extends ApiActionSetNotificationTimestampParams { - generator?: "iwbacklinks"; - giwblprefix?: string; - giwbltitle?: string; - giwblcontinue?: string; - giwbllimit?: limit; - giwblprop?: OneOrMore<"iwprefix" | "iwtitle">; - giwbldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks} - */ -export interface ApiActionSetNotificationTimestampGeneratorLangBacklinksParams - extends ApiActionSetNotificationTimestampParams { - generator?: "langbacklinks"; - glbllang?: string; - glbltitle?: string; - glblcontinue?: string; - glbllimit?: limit; - glblprop?: OneOrMore<"lllang" | "lltitle">; - glbldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links} - */ -export interface ApiActionSetNotificationTimestampGeneratorLinksParams - extends ApiActionSetNotificationTimestampParams { - generator?: "links"; - gplnamespace?: namespace | namespace[]; - gpllimit?: limit; - gplcontinue?: string; - gpltitles?: string | string[]; - gpldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere} - */ -export interface ApiActionSetNotificationTimestampGeneratorLinksHereParams - extends ApiActionSetNotificationTimestampParams { - generator?: "linkshere"; - glhprop?: OneOrMore<"pageid" | "redirect" | "title">; - glhnamespace?: namespace | namespace[]; - glhshow?: OneOrMore<"!redirect" | "redirect">; - glhlimit?: limit; - glhcontinue?: string; -} - -export interface ApiActionSetNotificationTimestampGeneratorMessageCollectionParams - extends ApiActionSetNotificationTimestampParams { - generator?: "messagecollection"; - gmcgroup: string; - gmclanguage?: string; - gmclimit?: limit; - gmcoffset?: string; - gmcfilter?: string | string[]; - gmcprop?: OneOrMore<"definition" | "properties" | "tags" | "translation" | "revision">; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo} - */ -export interface ApiActionSetNotificationTimestampGeneratorMostViewedParams - extends ApiActionSetNotificationTimestampParams { - generator?: "mostviewed"; - gpvimmetric?: "pageviews"; - gpvimlimit?: limit; - gpvimoffset?: number; -} - -export interface ApiActionSetNotificationTimestampGeneratorOldreviewedpagesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "oldreviewedpages"; - gorstart?: timestamp; - gorend?: timestamp; - gordir?: "newer" | "older"; - gormaxsize?: number; - gorfilterwatched?: "all" | "watched"; - gornamespace?: namespace | namespace[]; - gorcategory?: string; - gorfilterredir?: "all" | "nonredirects" | "redirects"; - gorlimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop} - */ -export interface ApiActionSetNotificationTimestampGeneratorPagesWithPropParams - extends ApiActionSetNotificationTimestampParams { - generator?: "pageswithprop"; - gpwppropname: string; - gpwpprop?: OneOrMore<"ids" | "title" | "value">; - gpwpcontinue?: string; - gpwplimit?: limit; - gpwpdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch} - */ -export interface ApiActionSetNotificationTimestampGeneratorPrefixSearchParams - extends ApiActionSetNotificationTimestampParams { - generator?: "prefixsearch"; - gpssearch: string; - gpsnamespace?: namespace | namespace[]; - gpslimit?: limit; - gpsoffset?: number; - gpsprofile?: - | "classic" - | "engine_autoselect" - | "fast-fuzzy" - | "fuzzy" - | "fuzzy-subphrases" - | "normal" - | "normal-subphrases" - | "strict"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments} - */ -export interface ApiActionSetNotificationTimestampGeneratorProjectPagesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "projectpages"; - gwppassessments?: boolean; - gwppprojects: string | string[]; - gwpplimit?: limit; - gwppcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API} - */ -export interface ApiActionSetNotificationTimestampGeneratorProofreadPagesInIndexParams - extends ApiActionSetNotificationTimestampParams { - generator?: "proofreadpagesinindex"; - gprppiiprop?: OneOrMore<"formattedpagenumber" | "ids" | "title" | "formattedPageNumber">; - gprppiititle?: string; - gprppiipageid?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles} - */ -export interface ApiActionSetNotificationTimestampGeneratorProtectedTitlesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "protectedtitles"; - gptnamespace?: namespace | namespace[]; - gptlevel?: string | string[]; - gptlimit?: limit; - gptdir?: "newer" | "older"; - gptstart?: timestamp; - gptend?: timestamp; - gptprop?: OneOrMore< - "comment" | "expiry" | "level" | "parsedcomment" | "timestamp" | "user" | "userid" - >; - gptcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage} - */ -export interface ApiActionSetNotificationTimestampGeneratorQueryPageParams - extends ApiActionSetNotificationTimestampParams { - generator?: "querypage"; - gqppage: string; - gqpoffset?: number; - gqplimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random} - */ -export interface ApiActionSetNotificationTimestampGeneratorRandomParams - extends ApiActionSetNotificationTimestampParams { - generator?: "random"; - grnnamespace?: namespace | namespace[]; - grnfilterredir?: "all" | "nonredirects" | "redirects"; - /** - * @deprecated - */ - grnredirect?: boolean; - grnlimit?: limit; - grncontinue?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionSetNotificationTimestampGeneratorReadingListEntriesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "readinglistentries"; - grlelists?: number | number[]; - grlechangedsince?: timestamp; - grlesort?: "name" | "updated"; - grledir?: "ascending" | "descending"; - grlelimit?: limit; - grlecontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges} - */ -export interface ApiActionSetNotificationTimestampGeneratorRecentChangesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "recentchanges"; - grcstart?: timestamp; - grcend?: timestamp; - grcdir?: "newer" | "older"; - grcnamespace?: namespace | namespace[]; - grcuser?: string; - grcexcludeuser?: string; - grctag?: string; - grcprop?: OneOrMore< - | "comment" - | "flags" - | "ids" - | "loginfo" - | "oresscores" - | "parsedcomment" - | "patrolled" - | "redirect" - | "sha1" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - grcshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!redirect" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "redirect" - | "unpatrolled" - >; - grclimit?: limit; - grctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - grctoponly?: boolean; - grctitle?: string; - grccontinue?: string; - grcgeneraterevisions?: boolean; - grcslot?: "main" | "mediainfo"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects} - */ -export interface ApiActionSetNotificationTimestampGeneratorRedirectsParams - extends ApiActionSetNotificationTimestampParams { - generator?: "redirects"; - grdprop?: OneOrMore<"fragment" | "pageid" | "title">; - grdnamespace?: namespace | namespace[]; - grdshow?: OneOrMore<"!fragment" | "fragment">; - grdlimit?: limit; - grdcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions} - */ -export interface ApiActionSetNotificationTimestampGeneratorRevisionsParams - extends ApiActionSetNotificationTimestampParams { - generator?: "revisions"; - grvprop?: string | string[]; - grvslots?: string | string[]; - [k: `grvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - grvlimit?: limit; - /** - * @deprecated - */ - grvexpandtemplates?: boolean; - /** - * @deprecated - */ - grvgeneratexml?: boolean; - /** - * @deprecated - */ - grvparse?: boolean; - grvsection?: string; - /** - * @deprecated - */ - grvdiffto?: string; - /** - * @deprecated - */ - grvdifftotext?: string; - /** - * @deprecated - */ - grvdifftotextpst?: boolean; - /** - * @deprecated - */ - grvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - grvstartid?: number; - grvendid?: number; - grvstart?: timestamp; - grvend?: timestamp; - grvdir?: "newer" | "older"; - grvuser?: string; - grvexcludeuser?: string; - grvtag?: string; - grvcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search} - */ -export interface ApiActionSetNotificationTimestampGeneratorSearchParams - extends ApiActionSetNotificationTimestampParams { - generator?: "search"; - gsrsearch: string; - gsrnamespace?: namespace | namespace[]; - gsrlimit?: limit; - gsroffset?: number; - gsrqiprofile?: string; - gsrwhat?: "nearmatch" | "text" | "title"; - gsrinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; - gsrprop?: OneOrMore< - | "categorysnippet" - | "extensiondata" - | "isfilematch" - | "redirectsnippet" - | "redirecttitle" - | "sectionsnippet" - | "sectiontitle" - | "size" - | "snippet" - | "timestamp" - | "titlesnippet" - | "wordcount" - | "hasrelated" - | "score" - >; - gsrinterwiki?: boolean; - gsrenablerewrites?: boolean; - gsrsort?: - | "create_timestamp_asc" - | "create_timestamp_desc" - | "incoming_links_asc" - | "incoming_links_desc" - | "just_match" - | "last_edit_asc" - | "last_edit_desc" - | "none" - | "random" - | "relevance" - | "user_random"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates} - */ -export interface ApiActionSetNotificationTimestampGeneratorTemplatesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "templates"; - gtlnamespace?: namespace | namespace[]; - gtllimit?: limit; - gtlcontinue?: string; - gtltemplates?: string | string[]; - gtldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin} - */ -export interface ApiActionSetNotificationTimestampGeneratorTranscludedinParams - extends ApiActionSetNotificationTimestampParams { - generator?: "transcludedin"; - gtiprop?: OneOrMore<"pageid" | "redirect" | "title">; - gtinamespace?: namespace | namespace[]; - gtishow?: OneOrMore<"!redirect" | "redirect">; - gtilimit?: limit; - gticontinue?: string; -} - -export interface ApiActionSetNotificationTimestampGeneratorUnreviewedpagesParams - extends ApiActionSetNotificationTimestampParams { - generator?: "unreviewedpages"; - gurstart?: string; - gurend?: string; - gurdir?: "ascending" | "descending"; - gurnamespace?: namespace | namespace[]; - gurfilterredir?: "all" | "nonredirects" | "redirects"; - gurfilterlevel?: number; - gurlimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist} - */ -export interface ApiActionSetNotificationTimestampGeneratorWatchlistParams - extends ApiActionSetNotificationTimestampParams { - generator?: "watchlist"; - gwlallrev?: boolean; - gwlstart?: timestamp; - gwlend?: timestamp; - gwlnamespace?: namespace | namespace[]; - gwluser?: string; - gwlexcludeuser?: string; - gwldir?: "newer" | "older"; - gwllimit?: limit; - gwlprop?: OneOrMore< - | "comment" - | "expiry" - | "flags" - | "ids" - | "loginfo" - | "notificationtimestamp" - | "oresscores" - | "parsedcomment" - | "patrol" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - gwlshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!unread" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "unread" - >; - gwltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - gwlowner?: string; - gwltoken?: string; - gwlcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw} - */ -export interface ApiActionSetNotificationTimestampGeneratorWatchlistRawParams - extends ApiActionSetNotificationTimestampParams { - generator?: "watchlistraw"; - gwrcontinue?: string; - gwrnamespace?: namespace | namespace[]; - gwrlimit?: limit; - gwrprop?: OneOrMore<"changed">; - gwrshow?: OneOrMore<"!changed" | "changed">; - gwrowner?: string; - gwrtoken?: string; - gwrdir?: "ascending" | "descending"; - gwrfromtitle?: string; - gwrtotitle?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API} - */ -export interface ApiActionSetNotificationTimestampGeneratorWBListEntityUsageParams - extends ApiActionSetNotificationTimestampParams { - generator?: "wblistentityusage"; - gwbleuprop?: OneOrMore<"url">; - gwbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; - gwbleuentities: string | string[]; - gwbleulimit?: limit; - gwbleucontinue?: string; -} - -/** - * @private - */ -export interface ApiActionSetNotificationTimestampGeneratorWBSearchParams - extends ApiActionSetNotificationTimestampParams { - generator?: "wbsearch"; - gwbssearch: string; - gwbslanguage?: string; - gwbsstrictlanguage?: boolean; - gwbstype?: string; - gwbslimit?: limit; - gwbsprofile?: "default" | "language"; -} - -export interface ApiActionSetNotificationTimestampGeneratorWikiLambdaFnSearchParams - extends ApiActionSetNotificationTimestampParams { - generator?: "wikilambdafn_search"; - gwikilambdafn_zfunction_id?: string; - gwikilambdafn_type?: string; - gwikilambdafn_limit?: limit; - gwikilambdafn_continue?: string; -} - -export interface ApiActionSetNotificationTimestampGeneratorWikiLambdaLoadZObjectsParams - extends ApiActionSetNotificationTimestampParams { - generator?: "wikilambdaload_zobjects"; - gwikilambdaload_zids: string | string[]; - gwikilambdaload_revisions?: string | string[]; - gwikilambdaload_language?: string; - gwikilambdaload_get_dependencies?: boolean; -} - -export interface ApiActionSetNotificationTimestampGeneratorWikiLambdaSearchLabelsParams - extends ApiActionSetNotificationTimestampParams { - generator?: "wikilambdasearch_labels"; - gwikilambdasearch_search?: string; - gwikilambdasearch_language: string; - gwikilambdasearch_nofallback?: boolean; - gwikilambdasearch_exact?: boolean; - gwikilambdasearch_type?: string; - gwikilambdasearch_return_type?: string; - gwikilambdasearch_strict_return_type?: boolean; - gwikilambdasearch_limit?: limit; - gwikilambdasearch_continue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:SetPageLanguage} - */ -export interface ApiActionSetPageLanguageParams extends ApiParams { - action?: "setpagelanguage"; - title?: string; - pageid?: number; - lang: string; - reason?: string; - tags?: string | string[]; - token?: string; -} - -export interface ApiActionShortenUrlParams extends ApiParams { - action?: "shortenurl"; - url: string; - qrcode?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Sitematrix} - */ -export interface ApiActionSiteMatrixParams extends ApiParams { - action?: "sitematrix"; - smtype?: OneOrMore<"language" | "special">; - smstate?: OneOrMore<"all" | "closed" | "fishbowl" | "nonglobal" | "private">; - smlangprop?: OneOrMore<"code" | "dir" | "localname" | "name" | "site">; - smsiteprop?: OneOrMore<"code" | "dbname" | "lang" | "sitename" | "url">; - smlimit?: limit; - smcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:SpamBlacklist/API} - */ -export interface ApiActionSpamBlacklistParams extends ApiParams { - action?: "spamblacklist"; - url: string | string[]; -} - -export interface ApiActionStabilizeParams extends ApiParams { - action?: "stabilize"; - default: "latest" | "stable"; - autoreview?: "none" | "sysop"; - protectlevel?: "autoconfirmed" | "none"; - expiry?: string; - reason?: string; - review?: boolean; - title: string; - token?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Stashedit} - */ -export interface ApiActionStashEditParams extends ApiParams { - action?: "stashedit"; - title: string; - section?: string; - sectiontitle?: string; - text?: string; - stashedtexthash?: string; - summary?: string; - contentmodel: string; - contentformat: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - baserevid: number; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:EventStreamConfig} - */ -export interface ApiActionStreamConfigSParams extends ApiParams { - action?: "streamconfigs"; - streams?: string | string[]; - constraints?: string | string[]; - /** - * @deprecated - */ - all_settings?: boolean; -} - -export interface ApiActionStrikeVoteParams extends ApiParams { - action?: "strikevote"; - option: "strike" | "unstrike"; - reason: string; - voteid: number; - token?: string; -} - -export interface ApiActionSXDeleteParams extends ApiParams { - action?: "sxdelete"; - sectiontranslationid: number; - translationid: number; - sectionid: string; - token?: string; -} - -/** - * @private - */ -export interface ApiActionSXSaveParams extends ApiParams { - action?: "sxsave"; - sourcelanguage: string; - targetlanguage: string; - sourcetitle: string; - targettitle: string; - content: string; - sourcerevision: number; - sourcesectiontitle: string; - targetsectiontitle: string; - sectionid: string; - issandbox?: boolean; - progress: string; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Tag} - */ -export interface ApiActionTagParams extends ApiParams { - action?: "tag"; - rcid?: number | number[]; - revid?: number | number[]; - logid?: number | number[]; - add?: string | string[]; - remove?: string | string[]; - reason?: string; - tags?: string | string[]; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:TemplateData} - */ -export interface ApiActionTemplateDataParams extends ApiParams { - action?: "templatedata"; - includeMissingTitles?: boolean; - /** - * @deprecated - */ - doNotIgnoreMissingTitles?: boolean; - lang?: string; - titles?: string | string[]; - pageids?: number | number[]; - revids?: number | number[]; - generator?: string; - redirects?: boolean; - converttitles?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories} - */ -export interface ApiActionTemplateDataGeneratorAllCategoriesParams - extends ApiActionTemplateDataParams { - generator?: "allcategories"; - gacfrom?: string; - gaccontinue?: string; - gacto?: string; - gacprefix?: string; - gacdir?: "ascending" | "descending"; - gacmin?: number; - gacmax?: number; - gaclimit?: limit; - gacprop?: OneOrMore<"hidden" | "size">; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions} - */ -export interface ApiActionTemplateDataGeneratorAllDeletedRevisionsParams - extends ApiActionTemplateDataParams { - generator?: "alldeletedrevisions"; - gadrprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - gadrslots?: string | string[]; - [k: `gadrcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gadrlimit?: limit; - /** - * @deprecated - */ - gadrexpandtemplates?: boolean; - /** - * @deprecated - */ - gadrgeneratexml?: boolean; - /** - * @deprecated - */ - gadrparse?: boolean; - gadrsection?: string; - /** - * @deprecated - */ - gadrdiffto?: string; - /** - * @deprecated - */ - gadrdifftotext?: string; - /** - * @deprecated - */ - gadrdifftotextpst?: boolean; - /** - * @deprecated - */ - gadrcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gadruser?: string; - gadrnamespace?: namespace | namespace[]; - gadrstart?: timestamp; - gadrend?: timestamp; - gadrdir?: "newer" | "older"; - gadrfrom?: string; - gadrto?: string; - gadrprefix?: string; - gadrexcludeuser?: string; - gadrtag?: string; - gadrcontinue?: string; - gadrgeneratetitles?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages} - */ -export interface ApiActionTemplateDataGeneratorAllFileUsagesParams - extends ApiActionTemplateDataParams { - generator?: "allfileusages"; - gafcontinue?: string; - gaffrom?: string; - gafto?: string; - gafprefix?: string; - gafunique?: boolean; - gafprop?: OneOrMore<"ids" | "title">; - gaflimit?: limit; - gafdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.SiteViews `Partial`} instead. */ +export type PageViewInfoApiQuerySiteViewsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages} - */ -export interface ApiActionTemplateDataGeneratorAllImagesParams extends ApiActionTemplateDataParams { - generator?: "allimages"; - gaisort?: "name" | "timestamp"; - gaidir?: "ascending" | "descending" | "newer" | "older"; - gaifrom?: string; - gaito?: string; - gaicontinue?: string; - gaistart?: timestamp; - gaiend?: timestamp; - gaiprop?: OneOrMore< - | "badfile" - | "bitdepth" - | "canonicaltitle" - | "comment" - | "commonmetadata" - | "dimensions" - | "extmetadata" - | "mediatype" - | "metadata" - | "mime" - | "parsedcomment" - | "sha1" - | "size" - | "timestamp" - | "url" - | "user" - | "userid" - >; - gaiprefix?: string; - gaiminsize?: number; - gaimaxsize?: number; - gaisha1?: string; - gaisha1base36?: string; - gaiuser?: string; - gaifilterbots?: "all" | "bots" | "nobots"; - gaimime?: string | string[]; - gailimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks} - */ -export interface ApiActionTemplateDataGeneratorAllLinksParams extends ApiActionTemplateDataParams { - generator?: "alllinks"; - galcontinue?: string; - galfrom?: string; - galto?: string; - galprefix?: string; - galunique?: boolean; - galprop?: OneOrMore<"ids" | "title">; - galnamespace?: namespace; - gallimit?: limit; - galdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages} - */ -export interface ApiActionTemplateDataGeneratorAllPagesParams extends ApiActionTemplateDataParams { - generator?: "allpages"; - gapfrom?: string; - gapcontinue?: string; - gapto?: string; - gapprefix?: string; - gapnamespace?: namespace; - gapfilterredir?: "all" | "nonredirects" | "redirects"; - gapfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; - gapminsize?: number; - gapmaxsize?: number; - gapprtype?: OneOrMore<"edit" | "move" | "upload">; - gapprlevel?: string | string[]; - gapprfiltercascade?: "all" | "cascading" | "noncascading"; - gapprexpiry?: "all" | "definite" | "indefinite"; - gaplimit?: limit; - gapdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects} - */ -export interface ApiActionTemplateDataGeneratorAllRedirectsParams - extends ApiActionTemplateDataParams { - generator?: "allredirects"; - garcontinue?: string; - garfrom?: string; - garto?: string; - garprefix?: string; - garunique?: boolean; - garprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; - garnamespace?: namespace; - garlimit?: limit; - gardir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions} - */ -export interface ApiActionTemplateDataGeneratorAllRevisionsParams - extends ApiActionTemplateDataParams { - generator?: "allrevisions"; - garvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "oresscores" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - garvslots?: string | string[]; - [k: `garvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - garvlimit?: limit; - /** - * @deprecated - */ - garvexpandtemplates?: boolean; - /** - * @deprecated - */ - garvgeneratexml?: boolean; - /** - * @deprecated - */ - garvparse?: boolean; - garvsection?: string; - /** - * @deprecated - */ - garvdiffto?: string; - /** - * @deprecated - */ - garvdifftotext?: string; - /** - * @deprecated - */ - garvdifftotextpst?: boolean; - /** - * @deprecated - */ - garvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - garvuser?: string; - garvnamespace?: namespace | namespace[]; - garvstart?: timestamp; - garvend?: timestamp; - garvdir?: "newer" | "older"; - garvexcludeuser?: string; - garvcontinue?: string; - garvgeneratetitles?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions} - */ -export interface ApiActionTemplateDataGeneratorAllTransclusionsParams - extends ApiActionTemplateDataParams { - generator?: "alltransclusions"; - gatcontinue?: string; - gatfrom?: string; - gatto?: string; - gatprefix?: string; - gatunique?: boolean; - gatprop?: OneOrMore<"ids" | "title">; - gatnamespace?: namespace; - gatlimit?: limit; - gatdir?: "ascending" | "descending"; -} - -export interface ApiActionTemplateDataGeneratorAutomaticTranslationDenseLanguagesParams - extends ApiActionTemplateDataParams { - "generator"?: "automatictranslationdenselanguages"; - "gqid": string; - "gsection-titles"?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks} - */ -export interface ApiActionTemplateDataGeneratorBacklinksParams extends ApiActionTemplateDataParams { - generator?: "backlinks"; - gbltitle?: string; - gblpageid?: number; - gblcontinue?: string; - gblnamespace?: namespace | namespace[]; - gbldir?: "ascending" | "descending"; - gblfilterredir?: "all" | "nonredirects" | "redirects"; - gbllimit?: limit; - gblredirect?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories} - */ -export interface ApiActionTemplateDataGeneratorCategoriesParams - extends ApiActionTemplateDataParams { - generator?: "categories"; - gclprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; - gclshow?: OneOrMore<"!hidden" | "hidden">; - gcllimit?: limit; - gclcontinue?: string; - gclcategories?: string | string[]; - gcldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers} - */ -export interface ApiActionTemplateDataGeneratorCategoryMembersParams - extends ApiActionTemplateDataParams { - generator?: "categorymembers"; - gcmtitle?: string; - gcmpageid?: number; - gcmprop?: OneOrMore<"ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type">; - gcmnamespace?: namespace | namespace[]; - gcmtype?: OneOrMore<"file" | "page" | "subcat">; - gcmcontinue?: string; - gcmlimit?: limit; - gcmsort?: "sortkey" | "timestamp"; - gcmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; - gcmstart?: timestamp; - gcmend?: timestamp; - gcmstarthexsortkey?: string; - gcmendhexsortkey?: string; - gcmstartsortkeyprefix?: string; - gcmendsortkeyprefix?: string; - /** - * @deprecated - */ - gcmstartsortkey?: string; - /** - * @deprecated - */ - gcmendsortkey?: string; -} - -export interface ApiActionTemplateDataGeneratorConfiguredpagesParams - extends ApiActionTemplateDataParams { - generator?: "configuredpages"; - gcpstart?: number; - gcpend?: number; - gcpdir?: "newer" | "older"; - gcpnamespace?: namespace | namespace[]; - gcpdefault?: "latest" | "stable"; - gcpautoreview?: "none" | "sysop"; - gcplimit?: limit; -} - -export interface ApiActionTemplateDataGeneratorContentTranslationParams - extends ApiActionTemplateDataParams { - generator?: "contenttranslation"; - gtranslationid?: string; - gfrom?: string; - gto?: string; - gsourcetitle?: string; - gsourcesectiontitle?: string; - glimit?: limit; - goffset?: string; - gtype?: "draft" | "published"; - gusecase?: "desktop-editor-draft" | "translation-corpora-units" | "unified-dashboard"; -} - -export interface ApiActionTemplateDataGeneratorContentTranslationSuggestionsParams - extends ApiActionTemplateDataParams { - generator?: "contenttranslationsuggestions"; - gfrom?: string; - gto?: string; - glistid?: string; - glimit?: limit; - goffset?: string; - gseed?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions} - */ -export interface ApiActionTemplateDataGeneratorDeletedRevisionsParams - extends ApiActionTemplateDataParams { - generator?: "deletedrevisions"; - gdrvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - gdrvslots?: string | string[]; - [k: `gdrvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gdrvlimit?: limit; - /** - * @deprecated - */ - gdrvexpandtemplates?: boolean; - /** - * @deprecated - */ - gdrvgeneratexml?: boolean; - /** - * @deprecated - */ - gdrvparse?: boolean; - gdrvsection?: string; - /** - * @deprecated - */ - gdrvdiffto?: string; - /** - * @deprecated - */ - gdrvdifftotext?: string; - /** - * @deprecated - */ - gdrvdifftotextpst?: boolean; - /** - * @deprecated - */ - gdrvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gdrvstart?: timestamp; - gdrvend?: timestamp; - gdrvdir?: "newer" | "older"; - gdrvtag?: string; - gdrvuser?: string; - gdrvexcludeuser?: string; - gdrvcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles} - */ -export interface ApiActionTemplateDataGeneratorDuplicateFilesParams - extends ApiActionTemplateDataParams { - generator?: "duplicatefiles"; - gdflimit?: limit; - gdfcontinue?: string; - gdfdir?: "ascending" | "descending"; - gdflocalonly?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin} - */ -export interface ApiActionTemplateDataGeneratorEmbeddedinParams - extends ApiActionTemplateDataParams { - generator?: "embeddedin"; - geititle?: string; - geipageid?: number; - geicontinue?: string; - geinamespace?: namespace | namespace[]; - geidir?: "ascending" | "descending"; - geifilterredir?: "all" | "nonredirects" | "redirects"; - geilimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage} - */ -export interface ApiActionTemplateDataGeneratorExtUrlUsageParams - extends ApiActionTemplateDataParams { - generator?: "exturlusage"; - geuprop?: OneOrMore<"ids" | "title" | "url">; - geucontinue?: string; - geuprotocol?: - | "" - | "bitcoin" - | "ftp" - | "ftps" - | "geo" - | "git" - | "gopher" - | "http" - | "https" - | "irc" - | "ircs" - | "magnet" - | "mailto" - | "matrix" - | "mms" - | "news" - | "nntp" - | "redis" - | "sftp" - | "sip" - | "sips" - | "sms" - | "ssh" - | "svn" - | "tel" - | "telnet" - | "urn" - | "worldwind" - | "xmpp"; - geuquery?: string; - geunamespace?: namespace | namespace[]; - geulimit?: limit; - /** - * @deprecated - */ - geuexpandurl?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage} - */ -export interface ApiActionTemplateDataGeneratorFileUsageParams extends ApiActionTemplateDataParams { - generator?: "fileusage"; - gfuprop?: OneOrMore<"pageid" | "redirect" | "title">; - gfunamespace?: namespace | namespace[]; - gfushow?: OneOrMore<"!redirect" | "redirect">; - gfulimit?: limit; - gfucontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch} - */ -export interface ApiActionTemplateDataGeneratorGeoSearchParams extends ApiActionTemplateDataParams { - generator?: "geosearch"; - ggscoord?: string; - ggspage?: string; - ggsbbox?: string; - ggsradius?: number; - ggsmaxdim?: number; - ggssort?: "distance" | "relevance"; - ggslimit?: limit; - ggsglobe?: "earth"; - ggsnamespace?: namespace | namespace[]; - ggsprop?: OneOrMore<"country" | "dim" | "globe" | "name" | "region" | "type">; - ggsprimary?: "all" | "primary" | "secondary"; - ggsdebug?: boolean; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API} - */ -export interface ApiActionTemplateDataGeneratorGrowthTasksParams - extends ApiActionTemplateDataParams { - generator?: "growthtasks"; - ggttasktypes?: OneOrMore< - | "copyedit" - | "expand" - | "image-recommendation" - | "link-recommendation" - | "links" - | "references" - | "section-image-recommendation" - | "update" - >; - ggttopics?: OneOrMore< - | "africa" - | "architecture" - | "art" - | "asia" - | "biography" - | "biology" - | "business-and-economics" - | "central-america" - | "chemistry" - | "comics-and-anime" - | "computers-and-internet" - | "earth-and-environment" - | "education" - | "engineering" - | "entertainment" - | "europe" - | "fashion" - | "food-and-drink" - | "general-science" - | "history" - | "literature" - | "mathematics" - | "medicine-and-health" - | "military-and-warfare" - | "music" - | "north-america" - | "oceania" - | "performing-arts" - | "philosophy-and-religion" - | "physics" - | "politics-and-government" - | "society" - | "south-america" - | "sports" - | "technology" - | "transportation" - | "tv-and-film" - | "video-games" - | "women" - >; - ggttopicsmode?: "AND" | "OR"; - ggtlimit?: limit; - ggtoffset?: number; - ggtdebug?: boolean; - ggtexcludepageids?: number | number[]; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images} - */ -export interface ApiActionTemplateDataGeneratorImagesParams extends ApiActionTemplateDataParams { - generator?: "images"; - gimlimit?: limit; - gimcontinue?: string; - gimimages?: string | string[]; - gimdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage} - */ -export interface ApiActionTemplateDataGeneratorImageUsageParams - extends ApiActionTemplateDataParams { - generator?: "imageusage"; - giutitle?: string; - giupageid?: number; - giucontinue?: string; - giunamespace?: namespace | namespace[]; - giudir?: "ascending" | "descending"; - giufilterredir?: "all" | "nonredirects" | "redirects"; - giulimit?: limit; - giuredirect?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks} - */ -export interface ApiActionTemplateDataGeneratorIWBacklinksParams - extends ApiActionTemplateDataParams { - generator?: "iwbacklinks"; - giwblprefix?: string; - giwbltitle?: string; - giwblcontinue?: string; - giwbllimit?: limit; - giwblprop?: OneOrMore<"iwprefix" | "iwtitle">; - giwbldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks} - */ -export interface ApiActionTemplateDataGeneratorLangBacklinksParams - extends ApiActionTemplateDataParams { - generator?: "langbacklinks"; - glbllang?: string; - glbltitle?: string; - glblcontinue?: string; - glbllimit?: limit; - glblprop?: OneOrMore<"lllang" | "lltitle">; - glbldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links} - */ -export interface ApiActionTemplateDataGeneratorLinksParams extends ApiActionTemplateDataParams { - generator?: "links"; - gplnamespace?: namespace | namespace[]; - gpllimit?: limit; - gplcontinue?: string; - gpltitles?: string | string[]; - gpldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere} - */ -export interface ApiActionTemplateDataGeneratorLinksHereParams extends ApiActionTemplateDataParams { - generator?: "linkshere"; - glhprop?: OneOrMore<"pageid" | "redirect" | "title">; - glhnamespace?: namespace | namespace[]; - glhshow?: OneOrMore<"!redirect" | "redirect">; - glhlimit?: limit; - glhcontinue?: string; -} - -export interface ApiActionTemplateDataGeneratorMessageCollectionParams - extends ApiActionTemplateDataParams { - generator?: "messagecollection"; - gmcgroup: string; - gmclanguage?: string; - gmclimit?: limit; - gmcoffset?: string; - gmcfilter?: string | string[]; - gmcprop?: OneOrMore<"definition" | "properties" | "tags" | "translation" | "revision">; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo} - */ -export interface ApiActionTemplateDataGeneratorMostViewedParams - extends ApiActionTemplateDataParams { - generator?: "mostviewed"; - gpvimmetric?: "pageviews"; - gpvimlimit?: limit; - gpvimoffset?: number; -} - -export interface ApiActionTemplateDataGeneratorOldreviewedpagesParams - extends ApiActionTemplateDataParams { - generator?: "oldreviewedpages"; - gorstart?: timestamp; - gorend?: timestamp; - gordir?: "newer" | "older"; - gormaxsize?: number; - gorfilterwatched?: "all" | "watched"; - gornamespace?: namespace | namespace[]; - gorcategory?: string; - gorfilterredir?: "all" | "nonredirects" | "redirects"; - gorlimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop} - */ -export interface ApiActionTemplateDataGeneratorPagesWithPropParams - extends ApiActionTemplateDataParams { - generator?: "pageswithprop"; - gpwppropname: string; - gpwpprop?: OneOrMore<"ids" | "title" | "value">; - gpwpcontinue?: string; - gpwplimit?: limit; - gpwpdir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch} - */ -export interface ApiActionTemplateDataGeneratorPrefixSearchParams - extends ApiActionTemplateDataParams { - generator?: "prefixsearch"; - gpssearch: string; - gpsnamespace?: namespace | namespace[]; - gpslimit?: limit; - gpsoffset?: number; - gpsprofile?: - | "classic" - | "engine_autoselect" - | "fast-fuzzy" - | "fuzzy" - | "fuzzy-subphrases" - | "normal" - | "normal-subphrases" - | "strict"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments} - */ -export interface ApiActionTemplateDataGeneratorProjectPagesParams - extends ApiActionTemplateDataParams { - generator?: "projectpages"; - gwppassessments?: boolean; - gwppprojects: string | string[]; - gwpplimit?: limit; - gwppcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API} - */ -export interface ApiActionTemplateDataGeneratorProofreadPagesInIndexParams - extends ApiActionTemplateDataParams { - generator?: "proofreadpagesinindex"; - gprppiiprop?: OneOrMore<"formattedpagenumber" | "ids" | "title" | "formattedPageNumber">; - gprppiititle?: string; - gprppiipageid?: number; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles} - */ -export interface ApiActionTemplateDataGeneratorProtectedTitlesParams - extends ApiActionTemplateDataParams { - generator?: "protectedtitles"; - gptnamespace?: namespace | namespace[]; - gptlevel?: string | string[]; - gptlimit?: limit; - gptdir?: "newer" | "older"; - gptstart?: timestamp; - gptend?: timestamp; - gptprop?: OneOrMore< - "comment" | "expiry" | "level" | "parsedcomment" | "timestamp" | "user" | "userid" - >; - gptcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage} - */ -export interface ApiActionTemplateDataGeneratorQueryPageParams extends ApiActionTemplateDataParams { - generator?: "querypage"; - gqppage: string; - gqpoffset?: number; - gqplimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random} - */ -export interface ApiActionTemplateDataGeneratorRandomParams extends ApiActionTemplateDataParams { - generator?: "random"; - grnnamespace?: namespace | namespace[]; - grnfilterredir?: "all" | "nonredirects" | "redirects"; - /** - * @deprecated - */ - grnredirect?: boolean; - grnlimit?: limit; - grncontinue?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionTemplateDataGeneratorReadingListEntriesParams - extends ApiActionTemplateDataParams { - generator?: "readinglistentries"; - grlelists?: number | number[]; - grlechangedsince?: timestamp; - grlesort?: "name" | "updated"; - grledir?: "ascending" | "descending"; - grlelimit?: limit; - grlecontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges} - */ -export interface ApiActionTemplateDataGeneratorRecentChangesParams - extends ApiActionTemplateDataParams { - generator?: "recentchanges"; - grcstart?: timestamp; - grcend?: timestamp; - grcdir?: "newer" | "older"; - grcnamespace?: namespace | namespace[]; - grcuser?: string; - grcexcludeuser?: string; - grctag?: string; - grcprop?: OneOrMore< - | "comment" - | "flags" - | "ids" - | "loginfo" - | "oresscores" - | "parsedcomment" - | "patrolled" - | "redirect" - | "sha1" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - grcshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!redirect" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "redirect" - | "unpatrolled" - >; - grclimit?: limit; - grctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - grctoponly?: boolean; - grctitle?: string; - grccontinue?: string; - grcgeneraterevisions?: boolean; - grcslot?: "main" | "mediainfo"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects} - */ -export interface ApiActionTemplateDataGeneratorRedirectsParams extends ApiActionTemplateDataParams { - generator?: "redirects"; - grdprop?: OneOrMore<"fragment" | "pageid" | "title">; - grdnamespace?: namespace | namespace[]; - grdshow?: OneOrMore<"!fragment" | "fragment">; - grdlimit?: limit; - grdcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions} - */ -export interface ApiActionTemplateDataGeneratorRevisionsParams extends ApiActionTemplateDataParams { - generator?: "revisions"; - grvprop?: string | string[]; - grvslots?: string | string[]; - [k: `grvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - grvlimit?: limit; - /** - * @deprecated - */ - grvexpandtemplates?: boolean; - /** - * @deprecated - */ - grvgeneratexml?: boolean; - /** - * @deprecated - */ - grvparse?: boolean; - grvsection?: string; - /** - * @deprecated - */ - grvdiffto?: string; - /** - * @deprecated - */ - grvdifftotext?: string; - /** - * @deprecated - */ - grvdifftotextpst?: boolean; - /** - * @deprecated - */ - grvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - grvstartid?: number; - grvendid?: number; - grvstart?: timestamp; - grvend?: timestamp; - grvdir?: "newer" | "older"; - grvuser?: string; - grvexcludeuser?: string; - grvtag?: string; - grvcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search} - */ -export interface ApiActionTemplateDataGeneratorSearchParams extends ApiActionTemplateDataParams { - generator?: "search"; - gsrsearch: string; - gsrnamespace?: namespace | namespace[]; - gsrlimit?: limit; - gsroffset?: number; - gsrqiprofile?: string; - gsrwhat?: "nearmatch" | "text" | "title"; - gsrinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; - gsrprop?: OneOrMore< - | "categorysnippet" - | "extensiondata" - | "isfilematch" - | "redirectsnippet" - | "redirecttitle" - | "sectionsnippet" - | "sectiontitle" - | "size" - | "snippet" - | "timestamp" - | "titlesnippet" - | "wordcount" - | "hasrelated" - | "score" - >; - gsrinterwiki?: boolean; - gsrenablerewrites?: boolean; - gsrsort?: - | "create_timestamp_asc" - | "create_timestamp_desc" - | "incoming_links_asc" - | "incoming_links_desc" - | "just_match" - | "last_edit_asc" - | "last_edit_desc" - | "none" - | "random" - | "relevance" - | "user_random"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates} - */ -export interface ApiActionTemplateDataGeneratorTemplatesParams extends ApiActionTemplateDataParams { - generator?: "templates"; - gtlnamespace?: namespace | namespace[]; - gtllimit?: limit; - gtlcontinue?: string; - gtltemplates?: string | string[]; - gtldir?: "ascending" | "descending"; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin} - */ -export interface ApiActionTemplateDataGeneratorTranscludedinParams - extends ApiActionTemplateDataParams { - generator?: "transcludedin"; - gtiprop?: OneOrMore<"pageid" | "redirect" | "title">; - gtinamespace?: namespace | namespace[]; - gtishow?: OneOrMore<"!redirect" | "redirect">; - gtilimit?: limit; - gticontinue?: string; -} - -export interface ApiActionTemplateDataGeneratorUnreviewedpagesParams - extends ApiActionTemplateDataParams { - generator?: "unreviewedpages"; - gurstart?: string; - gurend?: string; - gurdir?: "ascending" | "descending"; - gurnamespace?: namespace | namespace[]; - gurfilterredir?: "all" | "nonredirects" | "redirects"; - gurfilterlevel?: number; - gurlimit?: limit; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist} - */ -export interface ApiActionTemplateDataGeneratorWatchlistParams extends ApiActionTemplateDataParams { - generator?: "watchlist"; - gwlallrev?: boolean; - gwlstart?: timestamp; - gwlend?: timestamp; - gwlnamespace?: namespace | namespace[]; - gwluser?: string; - gwlexcludeuser?: string; - gwldir?: "newer" | "older"; - gwllimit?: limit; - gwlprop?: OneOrMore< - | "comment" - | "expiry" - | "flags" - | "ids" - | "loginfo" - | "notificationtimestamp" - | "oresscores" - | "parsedcomment" - | "patrol" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - gwlshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!unread" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "unread" - >; - gwltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - gwlowner?: string; - gwltoken?: string; - gwlcontinue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw} - */ -export interface ApiActionTemplateDataGeneratorWatchlistRawParams - extends ApiActionTemplateDataParams { - generator?: "watchlistraw"; - gwrcontinue?: string; - gwrnamespace?: namespace | namespace[]; - gwrlimit?: limit; - gwrprop?: OneOrMore<"changed">; - gwrshow?: OneOrMore<"!changed" | "changed">; - gwrowner?: string; - gwrtoken?: string; - gwrdir?: "ascending" | "descending"; - gwrfromtitle?: string; - gwrtotitle?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API} - */ -export interface ApiActionTemplateDataGeneratorWBListEntityUsageParams - extends ApiActionTemplateDataParams { - generator?: "wblistentityusage"; - gwbleuprop?: OneOrMore<"url">; - gwbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; - gwbleuentities: string | string[]; - gwbleulimit?: limit; - gwbleucontinue?: string; -} - -/** - * @private - */ -export interface ApiActionTemplateDataGeneratorWBSearchParams extends ApiActionTemplateDataParams { - generator?: "wbsearch"; - gwbssearch: string; - gwbslanguage?: string; - gwbsstrictlanguage?: boolean; - gwbstype?: string; - gwbslimit?: limit; - gwbsprofile?: "default" | "language"; -} - -export interface ApiActionTemplateDataGeneratorWikiLambdaFnSearchParams - extends ApiActionTemplateDataParams { - generator?: "wikilambdafn_search"; - gwikilambdafn_zfunction_id?: string; - gwikilambdafn_type?: string; - gwikilambdafn_limit?: limit; - gwikilambdafn_continue?: string; -} - -export interface ApiActionTemplateDataGeneratorWikiLambdaLoadZObjectsParams - extends ApiActionTemplateDataParams { - generator?: "wikilambdaload_zobjects"; - gwikilambdaload_zids: string | string[]; - gwikilambdaload_revisions?: string | string[]; - gwikilambdaload_language?: string; - gwikilambdaload_get_dependencies?: boolean; -} - -export interface ApiActionTemplateDataGeneratorWikiLambdaSearchLabelsParams - extends ApiActionTemplateDataParams { - generator?: "wikilambdasearch_labels"; - gwikilambdasearch_search?: string; - gwikilambdasearch_language: string; - gwikilambdasearch_nofallback?: boolean; - gwikilambdasearch_exact?: boolean; - gwikilambdasearch_type?: string; - gwikilambdasearch_return_type?: string; - gwikilambdasearch_strict_return_type?: boolean; - gwikilambdasearch_limit?: limit; - gwikilambdasearch_continue?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Extension:Thanks#API_Documentation} - */ -export interface ApiActionThankParams extends ApiParams { - action?: "thank"; - rev?: number; - log?: number; - token?: string; - source?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Threadaction} - */ -export interface ApiActionThreadActionParams extends ApiParams { - action?: "threadaction"; - thread?: string | string[]; - talkpage?: string; - threadaction: - | "addreaction" - | "deletereaction" - | "edit" - | "inlineeditform" - | "markread" - | "markunread" - | "merge" - | "newthread" - | "reply" - | "setsortkey" - | "setsubject" - | "split"; - token?: string; - subject?: string; - reason?: string; - newparent?: string; - text?: string; - render?: string; - bump?: string; - sortkey?: string; - signature?: string; - type?: string; - value?: string; - method?: string; - operand?: string; - captchaword?: string; - captchaid?: string; -} - -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:TimedMediaHandler} - */ -export interface ApiActionTimedTextParams extends ApiParams { - action?: "timedtext"; - title?: string; - pageid?: number; - trackformat: "srt" | "vtt"; - lang?: string; -} - -export interface ApiActionTitleBlacklistParams extends ApiParams { - action?: "titleblacklist"; - tbtitle: string; - tbaction?: "create" | "createpage" | "createtalk" | "edit" | "move" | "new-account" | "upload"; - tbnooverride?: boolean; -} - -export interface ApiActionTorBlockParams extends ApiParams { - action?: "torblock"; - ip: string; -} - -export interface ApiActionTranscodeResetParams extends ApiParams { - action?: "transcodereset"; - title: string; - transcodekey?: string; - token?: string; -} - -export interface ApiActionTranslationAidsParams extends ApiParams { - action?: "translationaids"; - title: string; - group?: string; - prop?: OneOrMore< - | "definition" - | "definitiondiff" - | "documentation" - | "editsummaries" - | "gettext" - | "groups" - | "inotherlanguages" - | "insertables" - | "mt" - | "support" - | "translation" - | "ttmserver" - >; -} - -/** - * @private - */ -export interface ApiActionTranslationCheckParams extends ApiParams { - action?: "translationcheck"; - title: string; - translation: string; -} - -/** - * @private - */ -export interface ApiActionTranslationEntitySearchParams extends ApiParams { - action?: "translationentitysearch"; - entitytype?: OneOrMore<"groups" | "messages">; - query?: string; - limit?: limit; - grouptypes?: OneOrMore<"aggregate-groups" | "message-bundles" | "translatable-pages">; -} - -export interface ApiActionTranslationReviewParams extends ApiParams { - action?: "translationreview"; - revision: number; - token?: string; -} - -export interface ApiActionTranslationStatsParams extends ApiParams { - action?: "translationstats"; - count: "edits" | "reviewers" | "reviews" | "users"; - days: number; - group?: string | string[]; - language?: string | string[]; - scale?: "days" | "hours" | "months" | "weeks" | "years"; - start?: timestamp; -} - -export interface ApiActionTtmServerParams extends ApiParams { - action?: "ttmserver"; - service?: never; - sourcelanguage: string; - targetlanguage: string; - text: string; -} - -/** - * @private - */ -export interface ApiActionULSLocalizationParams extends ApiParams { - action?: "ulslocalization"; - language: string; -} - -/** - * @private - */ -export interface ApiActionULSSetLangParams extends ApiParams { - action?: "ulssetlang"; - languagecode: string; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Block} - */ -export interface ApiActionUnblockParams extends ApiParams { - action?: "unblock"; - id?: number; - user?: string; - /** - * @deprecated - */ - userid?: number; - reason?: string; - tags?: string | string[]; - watchuser?: boolean; - watchlistexpiry?: expiry; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Undelete} - */ -export interface ApiActionUndeleteParams extends ApiParams { - action?: "undelete"; - title: string; - reason?: string; - tags?: string | string[]; - timestamps?: timestamp | timestamp[]; - fileids?: number | number[]; - undeletetalk?: boolean; - watchlist?: "nochange" | "preferences" | "unwatch" | "watch"; - watchlistexpiry?: expiry; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Manage_authentication_data} - */ -export interface ApiActionUnlinkAccountParams extends ApiParams { - action?: "unlinkaccount"; - request: string; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Upload} - */ -export interface ApiActionUploadParams extends ApiParams { - action?: "upload"; - filename?: string; - comment?: string; - tags?: string | string[]; - text?: string; - /** - * @deprecated - */ - watch?: boolean; - watchlist?: "nochange" | "preferences" | "watch"; - watchlistexpiry?: expiry; - ignorewarnings?: boolean; - file?: upload; - url?: string; - filekey?: string; - /** - * @deprecated - */ - sessionkey?: string; - stash?: boolean; - filesize?: number; - offset?: number; - chunk?: upload; - async?: boolean; - checkstatus?: boolean; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:User_group_membership} - */ -export interface ApiActionUserrightsParams extends ApiParams { - action?: "userrights"; - user?: string; - /** - * @deprecated - */ - userid?: number; - add?: string | string[]; - expiry?: string | string[]; - remove?: string | string[]; - reason?: string; - token?: string; - tags?: string | string[]; - watchuser?: boolean; - watchlistexpiry?: expiry; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Validatepassword} - */ -export interface ApiActionValidatePasswordParams extends ApiParams { - action?: "validatepassword"; - password?: password; - user?: string; - email?: string; - realname?: string; -} - -/** - * @private - */ -export interface ApiActionVisualEditorParams extends ApiParams { - action?: "visualeditor"; - page: string; - badetag?: string; - format?: "json" | "jsonfm"; - paction: "metadata" | "parse" | "parsefragment" | "templatesused" | "wikitext"; - wikitext?: string; - section?: string; - stash?: boolean; - oldid?: number; - editintro?: string; - pst?: boolean; - preload?: string; - preloadparams?: string | string[]; -} - -/** - * @private - */ -export interface ApiActionVisualEditorEditParams extends ApiParams { - action?: "visualeditoredit"; - paction: "diff" | "save" | "serialize" | "serializeforcache"; - page: string; - token?: string; - wikitext?: string; - section?: string; - sectiontitle?: string; - basetimestamp?: timestamp; - starttimestamp?: timestamp; - oldid?: number; - minor?: string; - watchlist?: string; - html?: string; - etag?: string; - summary?: string; - captchaid?: string; - captchaword?: string; - cachekey?: string; - nocontent?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - useskin?: string; - tags?: string | string[]; - plugins?: string | string[]; - [k: `data-${string}`]: string; - mobileformat?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watch} - */ -export interface ApiActionWatchParams extends ApiParams { - action?: "watch"; - /** - * @deprecated - */ - title?: string; - expiry?: expiry; - unwatch?: boolean; - continue?: string; - titles?: string | string[]; - pageids?: number | number[]; - revids?: number | number[]; - generator?: string; - redirects?: boolean; - converttitles?: boolean; - token?: string; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allcategories} - */ -export interface ApiActionWatchGeneratorAllCategoriesParams extends ApiActionWatchParams { - generator?: "allcategories"; - gacfrom?: string; - gaccontinue?: string; - gacto?: string; - gacprefix?: string; - gacdir?: "ascending" | "descending"; - gacmin?: number; - gacmax?: number; - gaclimit?: limit; - gacprop?: OneOrMore<"hidden" | "size">; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alldeletedrevisions} - */ -export interface ApiActionWatchGeneratorAllDeletedRevisionsParams extends ApiActionWatchParams { - generator?: "alldeletedrevisions"; - gadrprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - gadrslots?: string | string[]; - [k: `gadrcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gadrlimit?: limit; - /** - * @deprecated - */ - gadrexpandtemplates?: boolean; - /** - * @deprecated - */ - gadrgeneratexml?: boolean; - /** - * @deprecated - */ - gadrparse?: boolean; - gadrsection?: string; - /** - * @deprecated - */ - gadrdiffto?: string; - /** - * @deprecated - */ - gadrdifftotext?: string; - /** - * @deprecated - */ - gadrdifftotextpst?: boolean; - /** - * @deprecated - */ - gadrcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gadruser?: string; - gadrnamespace?: namespace | namespace[]; - gadrstart?: timestamp; - gadrend?: timestamp; - gadrdir?: "newer" | "older"; - gadrfrom?: string; - gadrto?: string; - gadrprefix?: string; - gadrexcludeuser?: string; - gadrtag?: string; - gadrcontinue?: string; - gadrgeneratetitles?: boolean; -} - -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allfileusages} - */ -export interface ApiActionWatchGeneratorAllFileUsagesParams extends ApiActionWatchParams { - generator?: "allfileusages"; - gafcontinue?: string; - gaffrom?: string; - gafto?: string; - gafprefix?: string; - gafunique?: boolean; - gafprop?: OneOrMore<"ids" | "title">; - gaflimit?: limit; - gafdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.Tokens `Partial`} instead. */ +export type ApiQueryTokensParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allimages} - */ -export interface ApiActionWatchGeneratorAllImagesParams extends ApiActionWatchParams { - generator?: "allimages"; - gaisort?: "name" | "timestamp"; - gaidir?: "ascending" | "descending" | "newer" | "older"; - gaifrom?: string; - gaito?: string; - gaicontinue?: string; - gaistart?: timestamp; - gaiend?: timestamp; - gaiprop?: OneOrMore< - | "badfile" - | "bitdepth" - | "canonicaltitle" - | "comment" - | "commonmetadata" - | "dimensions" - | "extmetadata" - | "mediatype" - | "metadata" - | "mime" - | "parsedcomment" - | "sha1" - | "size" - | "timestamp" - | "url" - | "user" - | "userid" - >; - gaiprefix?: string; - gaiminsize?: number; - gaimaxsize?: number; - gaisha1?: string; - gaisha1base36?: string; - gaiuser?: string; - gaifilterbots?: "all" | "bots" | "nobots"; - gaimime?: string | string[]; - gailimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.UnreadNotificationPages `Partial`} instead. */ +export type NotificationsApiEchoUnreadNotificationPagesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alllinks} - */ -export interface ApiActionWatchGeneratorAllLinksParams extends ApiActionWatchParams { - generator?: "alllinks"; - galcontinue?: string; - galfrom?: string; - galto?: string; - galprefix?: string; - galunique?: boolean; - galprop?: OneOrMore<"ids" | "title">; - galnamespace?: namespace; - gallimit?: limit; - galdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.UserInfo `Partial`} instead. */ +export type ApiQueryUserInfoParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allpages} - */ -export interface ApiActionWatchGeneratorAllPagesParams extends ApiActionWatchParams { - generator?: "allpages"; - gapfrom?: string; - gapcontinue?: string; - gapto?: string; - gapprefix?: string; - gapnamespace?: namespace; - gapfilterredir?: "all" | "nonredirects" | "redirects"; - gapfilterlanglinks?: "all" | "withlanglinks" | "withoutlanglinks"; - gapminsize?: number; - gapmaxsize?: number; - gapprtype?: OneOrMore<"edit" | "move" | "upload">; - gapprlevel?: string | string[]; - gapprfiltercascade?: "all" | "cascading" | "noncascading"; - gapprexpiry?: "all" | "definite" | "indefinite"; - gaplimit?: limit; - gapdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.WBContentLanguages `Partial`} instead. */ +export type WikibaseRepoApiMetaContentLanguagesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allredirects} - */ -export interface ApiActionWatchGeneratorAllRedirectsParams extends ApiActionWatchParams { - generator?: "allredirects"; - garcontinue?: string; - garfrom?: string; - garto?: string; - garprefix?: string; - garunique?: boolean; - garprop?: OneOrMore<"fragment" | "ids" | "interwiki" | "title">; - garnamespace?: namespace; - garlimit?: limit; - gardir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.WBDataBridgeConfig `Partial`} instead. */ +export type WikibaseRepoApiMetaDataBridgeConfigParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Allrevisions} - */ -export interface ApiActionWatchGeneratorAllRevisionsParams extends ApiActionWatchParams { - generator?: "allrevisions"; - garvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "oresscores" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - garvslots?: string | string[]; - [k: `garvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - garvlimit?: limit; - /** - * @deprecated - */ - garvexpandtemplates?: boolean; - /** - * @deprecated - */ - garvgeneratexml?: boolean; - /** - * @deprecated - */ - garvparse?: boolean; - garvsection?: string; - /** - * @deprecated - */ - garvdiffto?: string; - /** - * @deprecated - */ - garvdifftotext?: string; - /** - * @deprecated - */ - garvdifftotextpst?: boolean; - /** - * @deprecated - */ - garvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - garvuser?: string; - garvnamespace?: namespace | namespace[]; - garvstart?: timestamp; - garvend?: timestamp; - garvdir?: "newer" | "older"; - garvexcludeuser?: string; - garvcontinue?: string; - garvgeneratetitles?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.Wikibase `Partial`} instead. */ +export type WikibaseClientApiClientInfoParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Alltransclusions} - */ -export interface ApiActionWatchGeneratorAllTransclusionsParams extends ApiActionWatchParams { - generator?: "alltransclusions"; - gatcontinue?: string; - gatfrom?: string; - gatto?: string; - gatprefix?: string; - gatunique?: boolean; - gatprop?: OneOrMore<"ids" | "title">; - gatnamespace?: namespace; - gatlimit?: limit; - gatdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query.Meta.WikimediaEditorTasksCounts `Partial`} instead. */ +export type WikimediaEditorTasksApiQueryWikimediaEditorTasksCountsParams = Partial; -export interface ApiActionWatchGeneratorAutomaticTranslationDenseLanguagesParams - extends ApiActionWatchParams { - "generator"?: "automatictranslationdenselanguages"; - "gqid": string; - "gsection-titles"?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Query `Partial`} instead. */ +export type ApiQueryParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Backlinks} - */ -export interface ApiActionWatchGeneratorBacklinksParams extends ApiActionWatchParams { - generator?: "backlinks"; - gbltitle?: string; - gblpageid?: number; - gblcontinue?: string; - gblnamespace?: namespace | namespace[]; - gbldir?: "ascending" | "descending"; - gblfilterredir?: "all" | "nonredirects" | "redirects"; - gbllimit?: limit; - gblredirect?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.ReadingLists `Partial`} instead. */ +export type ReadingListsApiReadingListsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categories} - */ -export interface ApiActionWatchGeneratorCategoriesParams extends ApiActionWatchParams { - generator?: "categories"; - gclprop?: OneOrMore<"hidden" | "sortkey" | "timestamp">; - gclshow?: OneOrMore<"!hidden" | "hidden">; - gcllimit?: limit; - gclcontinue?: string; - gclcategories?: string | string[]; - gcldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.RemoveAuthenticationData `Partial`} / {@link mw.Api.Params.Action.UnlinkAccount `Partial`} instead. */ +export type ApiRemoveAuthenticationDataParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categorymembers} - */ -export interface ApiActionWatchGeneratorCategoryMembersParams extends ApiActionWatchParams { - generator?: "categorymembers"; - gcmtitle?: string; - gcmpageid?: number; - gcmprop?: OneOrMore<"ids" | "sortkey" | "sortkeyprefix" | "timestamp" | "title" | "type">; - gcmnamespace?: namespace | namespace[]; - gcmtype?: OneOrMore<"file" | "page" | "subcat">; - gcmcontinue?: string; - gcmlimit?: limit; - gcmsort?: "sortkey" | "timestamp"; - gcmdir?: "asc" | "ascending" | "desc" | "descending" | "newer" | "older"; - gcmstart?: timestamp; - gcmend?: timestamp; - gcmstarthexsortkey?: string; - gcmendhexsortkey?: string; - gcmstartsortkeyprefix?: string; - gcmendsortkeyprefix?: string; - /** - * @deprecated - */ - gcmstartsortkey?: string; - /** - * @deprecated - */ - gcmendsortkey?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ResetPassword `Partial`} instead. */ +export type ApiResetPasswordParams = Partial; -export interface ApiActionWatchGeneratorConfiguredpagesParams extends ApiActionWatchParams { - generator?: "configuredpages"; - gcpstart?: number; - gcpend?: number; - gcpdir?: "newer" | "older"; - gcpnamespace?: namespace | namespace[]; - gcpdefault?: "latest" | "stable"; - gcpautoreview?: "none" | "sysop"; - gcplimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.Review `Partial`} instead. */ +export type ApiReviewParams = Partial; -export interface ApiActionWatchGeneratorContentTranslationParams extends ApiActionWatchParams { - generator?: "contenttranslation"; - gtranslationid?: string; - gfrom?: string; - gto?: string; - gsourcetitle?: string; - gsourcesectiontitle?: string; - glimit?: limit; - goffset?: string; - gtype?: "draft" | "published"; - gusecase?: "desktop-editor-draft" | "translation-corpora-units" | "unified-dashboard"; -} +/** @deprecated Use {@link mw.Api.Params.Action.RevisionDelete `Partial`} instead. */ +export type ApiRevisionDeleteParams = Partial; -export interface ApiActionWatchGeneratorContentTranslationSuggestionsParams - extends ApiActionWatchParams { - generator?: "contenttranslationsuggestions"; - gfrom?: string; - gto?: string; - glistid?: string; - glimit?: limit; - goffset?: string; - gseed?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.Rollback `Partial`} instead. */ +export type ApiRollbackParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevisions} - */ -export interface ApiActionWatchGeneratorDeletedRevisionsParams extends ApiActionWatchParams { - generator?: "deletedrevisions"; - gdrvprop?: OneOrMore< - | "comment" - | "content" - | "contentmodel" - | "flags" - | "ids" - | "parsedcomment" - | "roles" - | "sha1" - | "size" - | "slotsha1" - | "slotsize" - | "tags" - | "timestamp" - | "user" - | "userid" - | "parsetree" - >; - gdrvslots?: string | string[]; - [k: `gdrvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gdrvlimit?: limit; - /** - * @deprecated - */ - gdrvexpandtemplates?: boolean; - /** - * @deprecated - */ - gdrvgeneratexml?: boolean; - /** - * @deprecated - */ - gdrvparse?: boolean; - gdrvsection?: string; - /** - * @deprecated - */ - gdrvdiffto?: string; - /** - * @deprecated - */ - gdrvdifftotext?: string; - /** - * @deprecated - */ - gdrvdifftotextpst?: boolean; - /** - * @deprecated - */ - gdrvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - gdrvstart?: timestamp; - gdrvend?: timestamp; - gdrvdir?: "newer" | "older"; - gdrvtag?: string; - gdrvuser?: string; - gdrvexcludeuser?: string; - gdrvcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Rsd `Partial`} instead. */ +export type ApiRsdParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Duplicatefiles} - */ -export interface ApiActionWatchGeneratorDuplicateFilesParams extends ApiActionWatchParams { - generator?: "duplicatefiles"; - gdflimit?: limit; - gdfcontinue?: string; - gdfdir?: "ascending" | "descending"; - gdflocalonly?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.SanitizeMapData `Partial`} instead. */ +export type KartographerApiSanitizeMapDataParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Embeddedin} - */ -export interface ApiActionWatchGeneratorEmbeddedinParams extends ApiActionWatchParams { - generator?: "embeddedin"; - geititle?: string; - geipageid?: number; - geicontinue?: string; - geinamespace?: namespace | namespace[]; - geidir?: "ascending" | "descending"; - geifilterredir?: "all" | "nonredirects" | "redirects"; - geilimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.ScribuntoConsole `Partial`} instead. */ +export type ScribuntoApiScribuntoConsoleParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Exturlusage} - */ -export interface ApiActionWatchGeneratorExtUrlUsageParams extends ApiActionWatchParams { - generator?: "exturlusage"; - geuprop?: OneOrMore<"ids" | "title" | "url">; - geucontinue?: string; - geuprotocol?: - | "" - | "bitcoin" - | "ftp" - | "ftps" - | "geo" - | "git" - | "gopher" - | "http" - | "https" - | "irc" - | "ircs" - | "magnet" - | "mailto" - | "matrix" - | "mms" - | "news" - | "nntp" - | "redis" - | "sftp" - | "sip" - | "sips" - | "sms" - | "ssh" - | "svn" - | "tel" - | "telnet" - | "urn" - | "worldwind" - | "xmpp"; - geuquery?: string; - geunamespace?: namespace | namespace[]; - geulimit?: limit; - /** - * @deprecated - */ - geuexpandurl?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.SearchTranslations `Partial`} instead. */ +export type TranslateTtmServerSearchTranslationsActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Fileusage} - */ -export interface ApiActionWatchGeneratorFileUsageParams extends ApiActionWatchParams { - generator?: "fileusage"; - gfuprop?: OneOrMore<"pageid" | "redirect" | "title">; - gfunamespace?: namespace | namespace[]; - gfushow?: OneOrMore<"!redirect" | "redirect">; - gfulimit?: limit; - gfucontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.SecurePollAuth `Partial`} instead. */ +export type SecurePollApiSecurePollAuthParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GeoData#list.3Dgeosearch} - */ -export interface ApiActionWatchGeneratorGeoSearchParams extends ApiActionWatchParams { - generator?: "geosearch"; - ggscoord?: string; - ggspage?: string; - ggsbbox?: string; - ggsradius?: number; - ggsmaxdim?: number; - ggssort?: "distance" | "relevance"; - ggslimit?: limit; - ggsglobe?: "earth"; - ggsnamespace?: namespace | namespace[]; - ggsprop?: OneOrMore<"country" | "dim" | "globe" | "name" | "region" | "type">; - ggsprimary?: "all" | "primary" | "secondary"; - ggsdebug?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.SetGlobalAccountStatus `Partial`} instead. */ +export type CentralAuthApiSetGlobalAccountStatusParams = Partial; -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:GrowthExperiments#API} - */ -export interface ApiActionWatchGeneratorGrowthTasksParams extends ApiActionWatchParams { - generator?: "growthtasks"; - ggttasktypes?: OneOrMore< - | "copyedit" - | "expand" - | "image-recommendation" - | "link-recommendation" - | "links" - | "references" - | "section-image-recommendation" - | "update" - >; - ggttopics?: OneOrMore< - | "africa" - | "architecture" - | "art" - | "asia" - | "biography" - | "biology" - | "business-and-economics" - | "central-america" - | "chemistry" - | "comics-and-anime" - | "computers-and-internet" - | "earth-and-environment" - | "education" - | "engineering" - | "entertainment" - | "europe" - | "fashion" - | "food-and-drink" - | "general-science" - | "history" - | "literature" - | "mathematics" - | "medicine-and-health" - | "military-and-warfare" - | "music" - | "north-america" - | "oceania" - | "performing-arts" - | "philosophy-and-religion" - | "physics" - | "politics-and-government" - | "society" - | "south-america" - | "sports" - | "technology" - | "transportation" - | "tv-and-film" - | "video-games" - | "women" - >; - ggttopicsmode?: "AND" | "OR"; - ggtlimit?: limit; - ggtoffset?: number; - ggtdebug?: boolean; - ggtexcludepageids?: number | number[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.SetNotificationTimestamp `Partial`} instead. */ +export type ApiSetNotificationTimestampParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Images} - */ -export interface ApiActionWatchGeneratorImagesParams extends ApiActionWatchParams { - generator?: "images"; - gimlimit?: limit; - gimcontinue?: string; - gimimages?: string | string[]; - gimdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.SetPageLanguage `Partial`} instead. */ +export type ApiSetPageLanguageParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Imageusage} - */ -export interface ApiActionWatchGeneratorImageUsageParams extends ApiActionWatchParams { - generator?: "imageusage"; - giutitle?: string; - giupageid?: number; - giucontinue?: string; - giunamespace?: namespace | namespace[]; - giudir?: "ascending" | "descending"; - giufilterredir?: "all" | "nonredirects" | "redirects"; - giulimit?: limit; - giuredirect?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.ShortenUrl `Partial`} instead. */ +export type UrlShortenerApiShortenUrlParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Iwbacklinks} - */ -export interface ApiActionWatchGeneratorIWBacklinksParams extends ApiActionWatchParams { - generator?: "iwbacklinks"; - giwblprefix?: string; - giwbltitle?: string; - giwblcontinue?: string; - giwbllimit?: limit; - giwblprop?: OneOrMore<"iwprefix" | "iwtitle">; - giwbldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.SiteMatrix `Partial`} instead. */ +export type SiteMatrixApiSiteMatrixParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Langbacklinks} - */ -export interface ApiActionWatchGeneratorLangBacklinksParams extends ApiActionWatchParams { - generator?: "langbacklinks"; - glbllang?: string; - glbltitle?: string; - glblcontinue?: string; - glbllimit?: limit; - glblprop?: OneOrMore<"lllang" | "lltitle">; - glbldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.SpamBlacklist `Partial`} instead. */ +export type SpamBlacklistApiSpamBlacklistParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Links} - */ -export interface ApiActionWatchGeneratorLinksParams extends ApiActionWatchParams { - generator?: "links"; - gplnamespace?: namespace | namespace[]; - gpllimit?: limit; - gplcontinue?: string; - gpltitles?: string | string[]; - gpldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Stabilize `Partial`} instead. */ +export type ApiStabilizeGeneralParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Linkshere} - */ -export interface ApiActionWatchGeneratorLinksHereParams extends ApiActionWatchParams { - generator?: "linkshere"; - glhprop?: OneOrMore<"pageid" | "redirect" | "title">; - glhnamespace?: namespace | namespace[]; - glhshow?: OneOrMore<"!redirect" | "redirect">; - glhlimit?: limit; - glhcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.StashEdit `Partial`} instead. */ +export type ApiStashEditParams = Partial; -export interface ApiActionWatchGeneratorMessageCollectionParams extends ApiActionWatchParams { - generator?: "messagecollection"; - gmcgroup: string; - gmclanguage?: string; - gmclimit?: limit; - gmcoffset?: string; - gmcfilter?: string | string[]; - gmcprop?: OneOrMore<"definition" | "properties" | "tags" | "translation" | "revision">; -} +/** @deprecated Use {@link mw.Api.Params.Action.StreamConfigS `Partial`} instead. */ +export type EventStreamConfigApiStreamConfigsParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageViewInfo} - */ -export interface ApiActionWatchGeneratorMostViewedParams extends ApiActionWatchParams { - generator?: "mostviewed"; - gpvimmetric?: "pageviews"; - gpvimlimit?: limit; - gpvimoffset?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.StrikeVote `Partial`} instead. */ +export type SecurePollApiStrikeVoteParams = Partial; -export interface ApiActionWatchGeneratorOldreviewedpagesParams extends ApiActionWatchParams { - generator?: "oldreviewedpages"; - gorstart?: timestamp; - gorend?: timestamp; - gordir?: "newer" | "older"; - gormaxsize?: number; - gorfilterwatched?: "all" | "watched"; - gornamespace?: namespace | namespace[]; - gorcategory?: string; - gorfilterredir?: "all" | "nonredirects" | "redirects"; - gorlimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.SXDelete `Partial`} instead. */ +export type ContentTranslationActionApiSectionTranslationDeleteParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Pageswithprop} - */ -export interface ApiActionWatchGeneratorPagesWithPropParams extends ApiActionWatchParams { - generator?: "pageswithprop"; - gpwppropname: string; - gpwpprop?: OneOrMore<"ids" | "title" | "value">; - gpwpcontinue?: string; - gpwplimit?: limit; - gpwpdir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.SXSave `Partial`} instead. */ +export type ContentTranslationActionApiSectionTranslationSaveParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Prefixsearch} - */ -export interface ApiActionWatchGeneratorPrefixSearchParams extends ApiActionWatchParams { - generator?: "prefixsearch"; - gpssearch: string; - gpsnamespace?: namespace | namespace[]; - gpslimit?: limit; - gpsoffset?: number; - gpsprofile?: - | "classic" - | "engine_autoselect" - | "fast-fuzzy" - | "fuzzy" - | "fuzzy-subphrases" - | "normal" - | "normal-subphrases" - | "strict"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Tag `Partial`} instead. */ +export type ApiTagParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:PageAssessments} - */ -export interface ApiActionWatchGeneratorProjectPagesParams extends ApiActionWatchParams { - generator?: "projectpages"; - gwppassessments?: boolean; - gwppprojects: string | string[]; - gwpplimit?: limit; - gwppcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.TemplateData `Partial`} instead. */ +export type TemplateDataApiTemplateDataParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ProofreadPage/Index pagination API} - */ -export interface ApiActionWatchGeneratorProofreadPagesInIndexParams extends ApiActionWatchParams { - generator?: "proofreadpagesinindex"; - gprppiiprop?: OneOrMore<"formattedpagenumber" | "ids" | "title" | "formattedPageNumber">; - gprppiititle?: string; - gprppiipageid?: number; -} +/** @deprecated Use {@link mw.Api.Params.Action.Thank `Partial`} instead. */ +export type ThanksApiCoreThankParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Protectedtitles} - */ -export interface ApiActionWatchGeneratorProtectedTitlesParams extends ApiActionWatchParams { - generator?: "protectedtitles"; - gptnamespace?: namespace | namespace[]; - gptlevel?: string | string[]; - gptlimit?: limit; - gptdir?: "newer" | "older"; - gptstart?: timestamp; - gptend?: timestamp; - gptprop?: OneOrMore< - "comment" | "expiry" | "level" | "parsedcomment" | "timestamp" | "user" | "userid" - >; - gptcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ThreadAction `Partial`} instead. */ +export type LiquidThreadsApiThreadActionParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Querypage} - */ -export interface ApiActionWatchGeneratorQueryPageParams extends ApiActionWatchParams { - generator?: "querypage"; - gqppage: string; - gqpoffset?: number; - gqplimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.TimedText `Partial`} instead. */ +export type MediaWikiTimedMediaHandlerApiTimedTextParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Random} - */ -export interface ApiActionWatchGeneratorRandomParams extends ApiActionWatchParams { - generator?: "random"; - grnnamespace?: namespace | namespace[]; - grnfilterredir?: "all" | "nonredirects" | "redirects"; - /** - * @deprecated - */ - grnredirect?: boolean; - grnlimit?: limit; - grncontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.TitleBlacklist `Partial`} instead. */ +export type TitleBlacklistApiTitleBlacklistParams = Partial; -/** - * @private - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ReadingLists#API} - */ -export interface ApiActionWatchGeneratorReadingListEntriesParams extends ApiActionWatchParams { - generator?: "readinglistentries"; - grlelists?: number | number[]; - grlechangedsince?: timestamp; - grlesort?: "name" | "updated"; - grledir?: "ascending" | "descending"; - grlelimit?: limit; - grlecontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.TorBlock `Partial`} instead. */ +export type TorBlockApiTorBlockParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Recentchanges} - */ -export interface ApiActionWatchGeneratorRecentChangesParams extends ApiActionWatchParams { - generator?: "recentchanges"; - grcstart?: timestamp; - grcend?: timestamp; - grcdir?: "newer" | "older"; - grcnamespace?: namespace | namespace[]; - grcuser?: string; - grcexcludeuser?: string; - grctag?: string; - grcprop?: OneOrMore< - | "comment" - | "flags" - | "ids" - | "loginfo" - | "oresscores" - | "parsedcomment" - | "patrolled" - | "redirect" - | "sha1" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - grcshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!redirect" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "redirect" - | "unpatrolled" - >; - grclimit?: limit; - grctype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - grctoponly?: boolean; - grctitle?: string; - grccontinue?: string; - grcgeneraterevisions?: boolean; - grcslot?: "main" | "mediainfo"; -} +/** @deprecated Use {@link mw.Api.Params.Action.TranscodeReset `Partial`} instead. */ +export type MediaWikiTimedMediaHandlerApiTranscodeResetParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Redirects} - */ -export interface ApiActionWatchGeneratorRedirectsParams extends ApiActionWatchParams { - generator?: "redirects"; - grdprop?: OneOrMore<"fragment" | "pageid" | "title">; - grdnamespace?: namespace | namespace[]; - grdshow?: OneOrMore<"!fragment" | "fragment">; - grdlimit?: limit; - grdcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.TranslationAids `Partial`} instead. */ +export type TranslateTranslatorInterfaceAidTranslationAidsActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Revisions} - */ -export interface ApiActionWatchGeneratorRevisionsParams extends ApiActionWatchParams { - generator?: "revisions"; - grvprop?: string | string[]; - grvslots?: string | string[]; - [k: `grvcontentformat-${string}`]: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - grvlimit?: limit; - /** - * @deprecated - */ - grvexpandtemplates?: boolean; - /** - * @deprecated - */ - grvgeneratexml?: boolean; - /** - * @deprecated - */ - grvparse?: boolean; - grvsection?: string; - /** - * @deprecated - */ - grvdiffto?: string; - /** - * @deprecated - */ - grvdifftotext?: string; - /** - * @deprecated - */ - grvdifftotextpst?: boolean; - /** - * @deprecated - */ - grvcontentformat?: - | "application/json" - | "application/octet-stream" - | "application/unknown" - | "application/vnd.php.serialized" - | "application/x-binary" - | "text/css" - | "text/javascript" - | "text/plain" - | "text/unknown" - | "text/x-wiki" - | "unknown/unknown"; - grvstartid?: number; - grvendid?: number; - grvstart?: timestamp; - grvend?: timestamp; - grvdir?: "newer" | "older"; - grvuser?: string; - grvexcludeuser?: string; - grvtag?: string; - grvcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.TranslationCheck `Partial`} instead. */ +export type TranslateValidationCheckTranslationActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Search} - */ -export interface ApiActionWatchGeneratorSearchParams extends ApiActionWatchParams { - generator?: "search"; - gsrsearch: string; - gsrnamespace?: namespace | namespace[]; - gsrlimit?: limit; - gsroffset?: number; - gsrqiprofile?: string; - gsrwhat?: "nearmatch" | "text" | "title"; - gsrinfo?: OneOrMore<"rewrittenquery" | "suggestion" | "totalhits">; - gsrprop?: OneOrMore< - | "categorysnippet" - | "extensiondata" - | "isfilematch" - | "redirectsnippet" - | "redirecttitle" - | "sectionsnippet" - | "sectiontitle" - | "size" - | "snippet" - | "timestamp" - | "titlesnippet" - | "wordcount" - | "hasrelated" - | "score" - >; - gsrinterwiki?: boolean; - gsrenablerewrites?: boolean; - gsrsort?: - | "create_timestamp_asc" - | "create_timestamp_desc" - | "incoming_links_asc" - | "incoming_links_desc" - | "just_match" - | "last_edit_asc" - | "last_edit_desc" - | "none" - | "random" - | "relevance" - | "user_random"; -} +/** @deprecated Use {@link mw.Api.Params.Action.TranslationEntitySearch `Partial`} instead. */ +export type TranslateTranslatorInterfaceTranslationEntitySearchActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Templates} - */ -export interface ApiActionWatchGeneratorTemplatesParams extends ApiActionWatchParams { - generator?: "templates"; - gtlnamespace?: namespace | namespace[]; - gtllimit?: limit; - gtlcontinue?: string; - gtltemplates?: string | string[]; - gtldir?: "ascending" | "descending"; -} +/** @deprecated Use {@link mw.Api.Params.Action.TranslationReview `Partial`} instead. */ +export type TranslateTranslatorInterfaceReviewTranslationActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Transcludedin} - */ -export interface ApiActionWatchGeneratorTranscludedinParams extends ApiActionWatchParams { - generator?: "transcludedin"; - gtiprop?: OneOrMore<"pageid" | "redirect" | "title">; - gtinamespace?: namespace | namespace[]; - gtishow?: OneOrMore<"!redirect" | "redirect">; - gtilimit?: limit; - gticontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.TranslationStats `Partial`} instead. */ +export type TranslateStatisticsQueryTranslationStatsActionApiParams = Partial; -export interface ApiActionWatchGeneratorUnreviewedpagesParams extends ApiActionWatchParams { - generator?: "unreviewedpages"; - gurstart?: string; - gurend?: string; - gurdir?: "ascending" | "descending"; - gurnamespace?: namespace | namespace[]; - gurfilterredir?: "all" | "nonredirects" | "redirects"; - gurfilterlevel?: number; - gurlimit?: limit; -} +/** @deprecated Use {@link mw.Api.Params.Action.TtmServer `Partial`} instead. */ +export type TranslateTtmServerTtmServerActionApiParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlist} - */ -export interface ApiActionWatchGeneratorWatchlistParams extends ApiActionWatchParams { - generator?: "watchlist"; - gwlallrev?: boolean; - gwlstart?: timestamp; - gwlend?: timestamp; - gwlnamespace?: namespace | namespace[]; - gwluser?: string; - gwlexcludeuser?: string; - gwldir?: "newer" | "older"; - gwllimit?: limit; - gwlprop?: OneOrMore< - | "comment" - | "expiry" - | "flags" - | "ids" - | "loginfo" - | "notificationtimestamp" - | "oresscores" - | "parsedcomment" - | "patrol" - | "sizes" - | "tags" - | "timestamp" - | "title" - | "user" - | "userid" - >; - gwlshow?: OneOrMore< - | "!anon" - | "!autopatrolled" - | "!bot" - | "!minor" - | "!oresreview" - | "!patrolled" - | "!unread" - | "anon" - | "autopatrolled" - | "bot" - | "minor" - | "oresreview" - | "patrolled" - | "unread" - >; - gwltype?: OneOrMore<"categorize" | "edit" | "external" | "log" | "new">; - gwlowner?: string; - gwltoken?: string; - gwlcontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ULSLocalization `Partial`} instead. */ +export type UniversalLanguageSelectorApiULSLocalizationParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Watchlistraw} - */ -export interface ApiActionWatchGeneratorWatchlistRawParams extends ApiActionWatchParams { - generator?: "watchlistraw"; - gwrcontinue?: string; - gwrnamespace?: namespace | namespace[]; - gwrlimit?: limit; - gwrprop?: OneOrMore<"changed">; - gwrshow?: OneOrMore<"!changed" | "changed">; - gwrowner?: string; - gwrtoken?: string; - gwrdir?: "ascending" | "descending"; - gwrfromtitle?: string; - gwrtotitle?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ULSSetLang `Partial`} instead. */ +export type UniversalLanguageSelectorApiULSSetLanguageParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/Wikibase/API} - */ -export interface ApiActionWatchGeneratorWBListEntityUsageParams extends ApiActionWatchParams { - generator?: "wblistentityusage"; - gwbleuprop?: OneOrMore<"url">; - gwbleuaspect?: OneOrMore<"C" | "D" | "L" | "O" | "S" | "T" | "X">; - gwbleuentities: string | string[]; - gwbleulimit?: limit; - gwbleucontinue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Unblock `Partial`} instead. */ +export type ApiUnblockParams = Partial; -/** - * @private - */ -export interface ApiActionWatchGeneratorWBSearchParams extends ApiActionWatchParams { - generator?: "wbsearch"; - gwbssearch: string; - gwbslanguage?: string; - gwbsstrictlanguage?: boolean; - gwbstype?: string; - gwbslimit?: limit; - gwbsprofile?: "default" | "language"; -} +/** @deprecated Use {@link mw.Api.Params.Action.Undelete `Partial`} instead. */ +export type ApiUndeleteParams = Partial; -export interface ApiActionWatchGeneratorWikiLambdaFnSearchParams extends ApiActionWatchParams { - generator?: "wikilambdafn_search"; - gwikilambdafn_zfunction_id?: string; - gwikilambdafn_type?: string; - gwikilambdafn_limit?: limit; - gwikilambdafn_continue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.Upload `Partial`} instead. */ +export type ApiUploadParams = Partial; -export interface ApiActionWatchGeneratorWikiLambdaLoadZObjectsParams extends ApiActionWatchParams { - generator?: "wikilambdaload_zobjects"; - gwikilambdaload_zids: string | string[]; - gwikilambdaload_revisions?: string | string[]; - gwikilambdaload_language?: string; - gwikilambdaload_get_dependencies?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.Userrights `Partial`} instead. */ +export type ApiUserrightsParams = Partial; -export interface ApiActionWatchGeneratorWikiLambdaSearchLabelsParams extends ApiActionWatchParams { - generator?: "wikilambdasearch_labels"; - gwikilambdasearch_search?: string; - gwikilambdasearch_language: string; - gwikilambdasearch_nofallback?: boolean; - gwikilambdasearch_exact?: boolean; - gwikilambdasearch_type?: string; - gwikilambdasearch_return_type?: string; - gwikilambdasearch_strict_return_type?: boolean; - gwikilambdasearch_limit?: limit; - gwikilambdasearch_continue?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.ValidatePassword `Partial`} instead. */ +export type ApiValidatePasswordParams = Partial; -export interface ApiActionWBAvailableBadgesParams extends ApiParams { - action?: "wbavailablebadges"; -} +/** @deprecated Use {@link mw.Api.Params.Action.VisualEditor `Partial`} instead. */ +export type VisualEditorApiVisualEditorParams = Partial; -export interface ApiActionWBCheckConstraintParametersParams extends ApiParams { - action?: "wbcheckconstraintparameters"; - propertyid?: string | string[]; - constraintid?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.VisualEditorEdit `Partial`} instead. */ +export type VisualEditorApiVisualEditorEditParams = Partial; -export interface ApiActionWBCheckConstraintsParams extends ApiParams { - action?: "wbcheckconstraints"; - id?: string | string[]; - claimid?: string | string[]; - constraintid?: string | string[]; - status?: OneOrMore< - | "bad-parameters" - | "compliance" - | "deprecated" - | "exception" - | "not-in-scope" - | "suggestion" - | "todo" - | "violation" - | "warning" - | "*" - >; -} +/** @deprecated Use {@link mw.Api.Params.Action.Watch `Partial`} instead. */ +export type ApiWatchParams = Partial; -export interface ApiActionWBCreateClaimParams extends ApiParams { - action?: "wbcreateclaim"; - entity: string; - snaktype: "novalue" | "somevalue" | "value"; - property: string; - value?: string; - summary?: string; - tags?: string | string[]; - token?: string; - baserevid?: number; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBAvailableBadges `Partial`} instead. */ +export type WikibaseRepoApiAvailableBadgesParams = Partial; -export interface ApiActionWBCreateRedirectParams extends ApiParams { - action?: "wbcreateredirect"; - from: string; - to: string; - token?: string; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBCheckConstraintParameters `Partial`} instead. */ +export type WikibaseQualityConstraintReportApiCheckConstraintParametersParams = Partial; -export interface ApiActionWBEditEntityParams extends ApiParams { - action?: "wbeditentity"; - id?: string; - new?: string; - site?: string; - title?: string; - baserevid?: number; - summary?: string; - tags?: string | string[]; - token?: string; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - data: string; - clear?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBCheckConstraints `Partial`} instead. */ +export type WikibaseQualityConstraintReportApiCheckConstraintsParams = Partial; -export interface ApiActionWBFormatEntitiesParams extends ApiParams { - action?: "wbformatentities"; - ids?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBCreateClaim `Partial`} instead. */ +export type WikibaseRepoApiCreateClaimParams = Partial; -/** - * @private - */ -export interface ApiActionWBFormatReferenceParams extends ApiParams { - action?: "wbformatreference"; - reference: string; - style: "internal-data-bridge"; - outputformat: "html"; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBCreateRedirect `Partial`} instead. */ +export type WikibaseRepoApiCreateRedirectParams = Partial; -export interface ApiActionWBFormatValueParams extends ApiParams { - action?: "wbformatvalue"; - generate?: - | "text/html" - | "text/html; disposition=verbose" - | "text/html; disposition=verbose-preview" - | "text/plain" - | "text/x-wiki"; - datavalue: string; - datatype?: - | "commonsMedia" - | "entity-schema" - | "external-id" - | "geo-shape" - | "globe-coordinate" - | "math" - | "monolingualtext" - | "musical-notation" - | "quantity" - | "string" - | "tabular-data" - | "time" - | "url" - | "wikibase-form" - | "wikibase-item" - | "wikibase-lexeme" - | "wikibase-property" - | "wikibase-sense"; - property?: string; - options?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBEditEntity `Partial`} instead. */ +export type WikibaseRepoApiEditEntityParams = Partial; -export interface ApiActionWBGetClaimsParams extends ApiParams { - action?: "wbgetclaims"; - entity?: string; - property?: string; - claim?: string; - rank?: "deprecated" | "normal" | "preferred"; - props?: OneOrMore<"references">; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBFormatEntities `Partial`} instead. */ +export type WikibaseRepoApiFormatEntitiesParams = Partial; -export interface ApiActionWBGetEntitiesParams extends ApiParams { - action?: "wbgetentities"; - ids?: string | string[]; - sites?: string | string[]; - titles?: string | string[]; - redirects?: "no" | "yes"; - props?: OneOrMore< - | "aliases" - | "claims" - | "datatype" - | "descriptions" - | "info" - | "labels" - | "sitelinks" - | "sitelinks/urls" - >; - languages?: string | string[]; - languagefallback?: boolean; - normalize?: boolean; - sitefilter?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBFormatReference `Partial`} instead. */ +export type WikibaseClientApiFormatReferenceParams = Partial; -/** - * @private - */ -export interface ApiActionWBLAddFormParams extends ApiParams { - action?: "wbladdform"; - lexemeId: string; - data: string; - baserevid?: number; - tags?: string | string[]; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBFormatValue `Partial`} instead. */ +export type WikibaseRepoApiFormatSnakValueParams = Partial; -/** - * @private - */ -export interface ApiActionWBLAddSenseParams extends ApiParams { - action?: "wbladdsense"; - lexemeId: string; - data: string; - baserevid?: number; - tags?: string | string[]; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBGetClaims `Partial`} instead. */ +export type WikibaseRepoApiGetClaimsParams = Partial; -/** - * @private - */ -export interface ApiActionWBLEditFormElementsParams extends ApiParams { - action?: "wbleditformelements"; - formId: string; - data: string; - baserevid?: number; - tags?: string | string[]; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBGetEntities `Partial`} instead. */ +export type WikibaseRepoApiGetEntitiesParams = Partial; -/** - * @private - */ -export interface ApiActionWBLEditSenseElementsParams extends ApiParams { - action?: "wbleditsenseelements"; - senseId: string; - data: string; - baserevid?: number; - tags?: string | string[]; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBLAddForm `Partial`} instead. */ +export type WikibaseLexemeMediaWikiApiAddFormParams = Partial; -export interface ApiActionWBLinkTitlesParams extends ApiParams { - action?: "wblinktitles"; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - tosite: string; - totitle: string; - fromsite: string; - fromtitle: string; - token?: string; - bot?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBLAddSense `Partial`} instead. */ +export type WikibaseLexemeMediaWikiApiAddSenseParams = Partial; -export interface ApiActionWBLMergeLexemesParams extends ApiParams { - action?: "wblmergelexemes"; - source: string; - target: string; - summary?: string; - tags?: string | string[]; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBLEditFormElements `Partial`} instead. */ +export type WikibaseLexemeMediaWikiApiEditFormElementsParams = Partial; -/** - * @private - */ -export interface ApiActionWBLRemoveFormParams extends ApiParams { - action?: "wblremoveform"; - id: string; - tags?: string | string[]; - bot?: boolean; - baserevid?: number; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBLEditSenseElements `Partial`} instead. */ +export type WikibaseLexemeMediaWikiApiEditSenseElementsParams = Partial; -/** - * @private - */ -export interface ApiActionWBLRemoveSenseParams extends ApiParams { - action?: "wblremovesense"; - id: string; - baserevid?: number; - tags?: string | string[]; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBLinkTitles `Partial`} instead. */ +export type WikibaseRepoApiLinkTitlesParams = Partial; -export interface ApiActionWBMergeItemsParams extends ApiParams { - action?: "wbmergeitems"; - fromid: string; - toid: string; - ignoreconflicts?: OneOrMore<"description" | "sitelink" | "statement">; - summary?: string; - tags?: string | string[]; - bot?: boolean; - token?: string; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBLMergeLexemes `Partial`} instead. */ +export type WikibaseLexemeMediaWikiApiMergeLexemesParams = Partial; -export interface ApiActionWBParseValueParams extends ApiParams { - action?: "wbparsevalue"; - datatype?: - | "commonsMedia" - | "entity-schema" - | "external-id" - | "geo-shape" - | "globe-coordinate" - | "math" - | "monolingualtext" - | "musical-notation" - | "quantity" - | "string" - | "tabular-data" - | "time" - | "url" - | "wikibase-form" - | "wikibase-item" - | "wikibase-lexeme" - | "wikibase-property" - | "wikibase-sense"; - property?: string; - /** - * @deprecated - */ - parser?: - | "commonsMedia" - | "entity-schema" - | "external-id" - | "geo-shape" - | "globe-coordinate" - | "globecoordinate" - | "math" - | "monolingualtext" - | "musical-notation" - | "null" - | "quantity" - | "string" - | "tabular-data" - | "time" - | "url" - | "wikibase-entityid" - | "wikibase-form" - | "wikibase-item" - | "wikibase-lexeme" - | "wikibase-property" - | "wikibase-sense"; - values: string | string[]; - options?: string; - validate?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBLRemoveForm `Partial`} instead. */ +export type WikibaseLexemeMediaWikiApiRemoveFormParams = Partial; -export interface ApiActionWBRemoveClaimsParams extends ApiParams { - action?: "wbremoveclaims"; - claim: string | string[]; - summary?: string; - tags?: string | string[]; - token?: string; - baserevid?: number; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBLRemoveSense `Partial`} instead. */ +export type WikibaseLexemeMediaWikiApiRemoveSenseParams = Partial; -export interface ApiActionWBRemoveQualifiersParams extends ApiParams { - action?: "wbremovequalifiers"; - claim: string; - qualifiers: string | string[]; - summary?: string; - tags?: string | string[]; - token?: string; - baserevid?: number; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBMergeItems `Partial`} instead. */ +export type WikibaseRepoApiMergeItemsParams = Partial; -export interface ApiActionWBRemoveReferencesParams extends ApiParams { - action?: "wbremovereferences"; - statement: string; - references: string | string[]; - summary?: string; - tags?: string | string[]; - token?: string; - baserevid?: number; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBParseValue `Partial`} instead. */ +export type WikibaseRepoApiParseValueParams = Partial; -export interface ApiActionWBSearchEntitiesParams extends ApiParams { - action?: "wbsearchentities"; - search: string; - language: string; - strictlanguage?: boolean; - type?: "entity-schema" | "form" | "item" | "lexeme" | "property" | "sense"; - limit?: limit; - continue?: number; - props?: OneOrMore<"url">; - profile?: "default" | "language"; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBRemoveClaims `Partial`} instead. */ +export type WikibaseRepoApiRemoveClaimsParams = Partial; -export interface ApiActionWBSetAliasesParams extends ApiParams { - action?: "wbsetaliases"; - id?: string; - new?: "item" | "property"; - site?: string; - title?: string; - baserevid?: number; - summary?: string; - tags?: string | string[]; - token?: string; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - add?: string | string[]; - remove?: string | string[]; - set?: string | string[]; - language: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBRemoveQualifiers `Partial`} instead. */ +export type WikibaseRepoApiRemoveQualifiersParams = Partial; -export interface ApiActionWBSetClaimParams extends ApiParams { - action?: "wbsetclaim"; - claim: string; - index?: number; - summary?: string; - tags?: string | string[]; - token?: string; - baserevid?: number; - bot?: boolean; - ignoreduplicatemainsnak?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBRemoveReferences `Partial`} instead. */ +export type WikibaseRepoApiRemoveReferencesParams = Partial; -export interface ApiActionWBSetClaimValueParams extends ApiParams { - action?: "wbsetclaimvalue"; - claim: string; - value?: string; - snaktype: "novalue" | "somevalue" | "value"; - summary?: string; - tags?: string | string[]; - token?: string; - baserevid?: number; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBSearchEntities `Partial`} instead. */ +export type WikibaseRepoApiSearchEntitiesParams = Partial; -export interface ApiActionWBSetDescriptionParams extends ApiParams { - action?: "wbsetdescription"; - id?: string; - new?: string; - site?: string; - title?: string; - baserevid?: number; - summary?: string; - tags?: string | string[]; - token?: string; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - language: string; - value?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBSetAliases `Partial`} instead. */ +export type WikibaseRepoApiSetAliasesParams = Partial; -export interface ApiActionWBSetLabelParams extends ApiParams { - action?: "wbsetlabel"; - id?: string; - new?: string; - site?: string; - title?: string; - baserevid?: number; - summary?: string; - tags?: string | string[]; - token?: string; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - language: string; - value?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBSetClaim `Partial`} instead. */ +export type WikibaseRepoApiSetClaimParams = Partial; -export interface ApiActionWBSetQualifierParams extends ApiParams { - action?: "wbsetqualifier"; - claim: string; - property?: string; - value?: string; - snaktype?: "novalue" | "somevalue" | "value"; - snakhash?: string; - summary?: string; - tags?: string | string[]; - token?: string; - baserevid?: number; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBSetClaimValue `Partial`} instead. */ +export type WikibaseRepoApiSetClaimValueParams = Partial; -export interface ApiActionWBSetReferenceParams extends ApiParams { - "action"?: "wbsetreference"; - "statement": string; - "snaks": string; - "snaks-order"?: string; - "reference"?: string; - "index"?: number; - "summary"?: string; - "tags"?: string | string[]; - "token"?: string; - "baserevid"?: number; - "bot"?: boolean; - "returnto"?: string; - "returntoquery"?: string; - "returntoanchor"?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBSetDescription `Partial`} instead. */ +export type WikibaseRepoApiSetDescriptionParams = Partial; -export interface ApiActionWBSetSiteLinkParams extends ApiParams { - action?: "wbsetsitelink"; - id?: string; - new?: string; - site?: string; - title?: string; - baserevid?: number; - summary?: string; - tags?: string | string[]; - token?: string; - bot?: boolean; - returnto?: string; - returntoquery?: string; - returntoanchor?: string; - linksite: string; - linktitle?: string; - badges?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBSetLabel `Partial`} instead. */ +export type WikibaseRepoApiSetLabelParams = Partial; -export interface ApiActionWBSGetSuggestionsParams extends ApiParams { - action?: "wbsgetsuggestions"; - entity?: string; - properties?: string | string[]; - types?: string | string[]; - limit?: limit; - continue?: number; - language?: string; - context?: "item" | "qualifier" | "reference"; - include?: "" | "all"; - search?: string; - event?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBSetQualifier `Partial`} instead. */ +export type WikibaseRepoApiSetQualifierParams = Partial; -export interface ApiActionWebappManifestParams extends ApiParams { - action?: "webapp-manifest"; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBSetReference `Partial`} instead. */ +export type WikibaseRepoApiSetReferenceParams = Partial; -export interface ApiActionWebAuthnParams extends ApiParams { - action?: "webauthn"; - func: "getAuthInfo" | "getRegisterInfo"; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBSetSiteLink `Partial`} instead. */ +export type WikibaseRepoApiSetSiteLinkParams = Partial; -export interface ApiActionWikiFunctionsRunParams extends ApiParams { - action?: "wikifunctions_run"; - function_call: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WBSGetSuggestions `Partial`} instead. */ +export type PropertySuggesterGetSuggestionsParams = Partial; -/** - * @private - */ -export interface ApiActionWikiLambdaEditParams extends ApiParams { - action?: "wikilambda_edit"; - summary?: string; - zid?: string; - zobject: string; - token?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WebappManifest `Partial`} instead. */ +export type MobileFrontendApiWebappManifestParams = Partial; -export interface ApiActionWikiLambdaFetchParams extends ApiParams { - action?: "wikilambda_fetch"; - zids: string | string[]; - revisions?: string | string[]; - language?: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WebAuthn `Partial`} instead. */ +export type WebAuthnApiWebAuthnParams = Partial; -/** - * @private - */ -export interface ApiActionWikiLambdaFunctionCallParams extends ApiParams { - action?: "wikilambda_function_call"; - wikilambda_function_call_zobject: string; -} +/** @deprecated Use {@link mw.Api.Params.Action.WikiFunctionsRun `Partial`} instead. */ +export type WikiLambdaPublicAPIPublicApiRunParams = Partial; -/** - * @private - */ -export interface ApiActionWikiLambdaPerformTestParams extends ApiParams { - action?: "wikilambda_perform_test"; - wikilambda_perform_test_zfunction: string; - wikilambda_perform_test_zimplementations?: string | string[]; - wikilambda_perform_test_ztesters?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.WikiLambdaEdit `Partial`} instead. */ +export type WikiLambdaActionAPIApiZObjectEditorParams = Partial; -/** - * @private - */ -export interface ApiActionWikiLambdaSupportedProgrammingLanguagesParams extends ApiParams { - action?: "wikilambda_supported_programming_languages"; -} +/** @deprecated Use {@link mw.Api.Params.Action.WikiLambdaFetch `Partial`} instead. */ +export type WikiLambdaActionAPIApiZObjectFetcherParams = Partial; -export interface ApiActionWikiLoveParams extends ApiParams { - action?: "wikilove"; - title: string; - text: string; - message?: string; - token?: string; - subject: string; - type?: string; - email?: string; - tags?: string | string[]; -} +/** @deprecated Use {@link mw.Api.Params.Action.WikiLambdaFunctionCall `Partial`} instead. */ +export type WikiLambdaActionAPIApiFunctionCallParams = Partial; -/** - * @private - */ -export interface ApiActionWikimediaEventsBlockedEditParams extends ApiParams { - action?: "wikimediaeventsblockededit"; - page: string; - interface: "discussiontools" | "mobilefrontend" | "other" | "visualeditor" | "wikieditor"; - platform: "desktop" | "mobile"; -} +/** @deprecated Use {@link mw.Api.Params.Action.WikiLambdaPerformTest `Partial`} instead. */ +export type WikiLambdaActionAPIApiPerformTestParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats} - */ -export interface ApiFormatJsonParams extends ApiParams { - format?: "json"; - callback?: string; - utf8?: boolean; - ascii?: boolean; - formatversion?: "1" | "2" | "latest"; -} +/** @deprecated Use {@link mw.Api.Params.Action.WikiLambdaSupportedProgrammingLanguages `Partial`} instead. */ +export type WikiLambdaActionAPIApiSupportedProgrammingLanguagesParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats} - */ -export interface ApiFormatJsonFMParams extends ApiParams { - format?: "jsonfm"; - wrappedhtml?: boolean; - callback?: string; - utf8?: boolean; - ascii?: boolean; - formatversion?: "1" | "2" | "latest"; -} +/** @deprecated Use {@link mw.Api.Params.Action.WikiLove `Partial`} instead. */ +export type WikiLoveApiWikiLoveParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats} - */ -export interface ApiFormatNoneParams extends ApiParams { - format?: "none"; -} +/** @deprecated Use {@link mw.Api.Params.Action.WikimediaEventsBlockedEdit `Partial`} instead. */ +export type WikimediaEventsApiWikimediaEventsBlockedEditParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats} - */ -export interface ApiFormatPhpParams extends ApiParams { - format?: "php"; - formatversion?: "1" | "2" | "latest"; -} +/** @deprecated Use {@link mw.Api.Params.Format.Json `Partial`} / {@link mw.Api.Params.Format.JsonFM `Partial`} / {@link mw.Api.Params.Format.RawFM `Partial`} instead. */ +export type ApiFormatJsonParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats} - */ -export interface ApiFormatPhpFMParams extends ApiParams { - format?: "phpfm"; - wrappedhtml?: boolean; - formatversion?: "1" | "2" | "latest"; -} +/** @deprecated Use {@link mw.Api.Params.Format.None `Partial`} instead. */ +export type ApiFormatNoneParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats} - */ -export interface ApiFormatRawFMParams extends ApiParams { - format?: "rawfm"; - wrappedhtml?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Format.Php `Partial`} / {@link mw.Api.Params.Format.PhpFM `Partial`} instead. */ +export type ApiFormatPhpParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats} - */ -export interface ApiFormatXmlParams extends ApiParams { - format?: "xml"; - xslt?: string; - includexmlnamespace?: boolean; -} +/** @deprecated Use {@link mw.Api.Params.Format.Xml `Partial`} / {@link mw.Api.Params.Format.XmlFM `Partial`} instead. */ +export type ApiFormatXmlParams = Partial; -/** - * @see {@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Data_formats} - */ -export interface ApiFormatXmlFMParams extends ApiParams { - format?: "xmlfm"; - wrappedhtml?: boolean; - xslt?: string; - includexmlnamespace?: boolean; -} +/** @deprecated Use {@link mw.Api.Params `Partial`} instead. */ +export type ApiMainParams = Partial; export {}; diff --git a/mw/Api.d.ts b/mw/Api.d.ts index d82c6e6..87ff94e 100644 --- a/mw/Api.d.ts +++ b/mw/Api.d.ts @@ -1,15 +1,4 @@ -import { - ApiActionEditParams, - ApiActionParseParams, - ApiActionQueryMetaAllMessagesParams, - ApiActionQueryMetaTokensParams, - ApiActionRollbackParams, - ApiActionUploadParams, - ApiAssert, - ApiLegacyTokenType, - ApiParams, - ApiTokenType, -} from "../api_params"; +import { ApiAssert, ApiLegacyTokenType, ApiTokenType } from "../api_params"; import { TitleLike } from "./Title"; type TypeOrArray = T extends any ? T | T[] : never; // T[] would be a mixed array @@ -80,10 +69,10 @@ interface FinishUpload { /** * Call this function to finish the upload. * - * @param {ApiActionUploadParams} data Additional data for the upload. + * @param {Api.Params.Action.Upload} data Additional data for the upload. * @returns {JQuery.Promise} API promise for the final upload. */ - (data?: ApiActionUploadParams): JQuery.Promise; + (data?: mw.Api.Params.Action.Upload): JQuery.Promise; } declare global { @@ -139,7 +128,7 @@ declare global { /** * Perform the API call. * - * @param {ApiParams} parameters Parameters to the API. See also {@link mw.Api.Options.parameters}. + * @param {Api.Params} parameters Parameters to the API. See also {@link mw.Api.Options.parameters}. * @param {JQuery.AjaxSettings} [ajaxOptions] Parameters to pass to jQuery.ajax. See also {@link mw.Api.Options.ajax}. * @returns {JQuery.Promise} A promise that settles when the API response is processed. * Has an 'abort' method which can be used to abort the request. @@ -166,7 +155,7 @@ declare global { * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#ajax */ ajax( - parameters: ApiParams, + parameters: Api.Params, ajaxOptions?: JQuery.AjaxSettings ): JQuery.Promise; @@ -221,7 +210,7 @@ declare global { * Upload a file in several chunks. * * @param {File} file - * @param {ApiActionUploadParams} data Other upload options, see `action=upload` API docs for more + * @param {Api.Params.Action.Upload} data Other upload options, see `action=upload` API docs for more * @param {number} [chunkSize] Size (in bytes) per chunk (default: 5MB) * @param {number} [chunkRetries] Amount of times to retry a failed chunk (default: 1) * @returns {JQuery.Promise} @@ -230,7 +219,7 @@ declare global { chunkedUpload( file: File, data: Omit< - Require, + Require, "chunk" | "filesize" | "offset" >, chunkSize?: number, @@ -244,7 +233,7 @@ declare global { * See {@link uploadToStash}. * * @param {File|HTMLInputElement} file - * @param {ApiActionUploadParams} [data] + * @param {Api.Params.Action.Upload} [data] * @param {number} [chunkSize] Size (in bytes) per chunk (default: 5MB) * @param {number} [chunkRetries] Amount of times to retry a failed chunk (default: 1) * @returns {JQuery.Promise} Promise that resolves with a @@ -254,7 +243,7 @@ declare global { chunkedUploadToStash( file: File | HTMLInputElement, data?: Pick< - Require, + Require, "filename" | "ignorewarnings" >, chunkSize?: number, @@ -273,14 +262,14 @@ declare global { * ``` * @since 1.28 * @param {TitleLike} title Page title - * @param {ApiActionEditParams} params Edit API parameters + * @param {Api.Params.Action.Edit} params Edit API parameters * @param {string} content Page content * @returns {JQuery.Promise} API response * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#create */ create( title: TitleLike, - params: Omit, + params: Omit, content: string ): JQuery.Promise; @@ -350,13 +339,13 @@ declare global { /** * Perform API get request. See {@link ajax()} for details. * - * @param {ApiParams} parameters + * @param {Api.Params} parameters * @param {JQuery.AjaxSettings} [ajaxOptions] * @returns {JQuery.Promise} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#get */ get( - parameters: ApiParams, + parameters: Api.Params, ajaxOptions?: JQuery.AjaxSettings ): JQuery.Promise; @@ -430,14 +419,14 @@ declare global { * @since 1.27 * @since 1.37 - accepts a single string message as parameter. * @param {string|string[]} messages Messages to retrieve - * @param {ApiActionQueryMetaAllMessagesParams} [options] Additional parameters for the API call + * @param {Api.Params.Action.Query.Meta.AllMessages} [options] Additional parameters for the API call * @returns {JQuery.Promise>} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#getMessages */ getMessages( messages: T | T[], options?: Omit< - ApiActionQueryMetaAllMessagesParams, + Api.Params.Action.Query.Meta.AllMessages, "action" | "ammessages" | "meta" > ): JQuery.Promise>>; @@ -449,22 +438,22 @@ declare global { * @since 1.25 - assert parameter can be passed. * @since 1.35 - additional parameters can be passed as an object instead of `assert`. * @param {string} type Token type - * @param {ApiActionQueryMetaTokensParams|ApiAssert} [additionalParams] Additional parameters for the API. When given a string, it's treated as the `assert` parameter. + * @param {Api.Params.Action.Query.Meta.Tokens|ApiAssert} [additionalParams] Additional parameters for the API. When given a string, it's treated as the `assert` parameter. * @returns {JQuery.Promise} Received token. * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#getToken */ getToken( type: ApiTokenType, - additionalParams?: ApiActionQueryMetaTokensParams | ApiAssert + additionalParams?: Api.Params.Action.Query.Meta.Tokens | ApiAssert ): JQuery.Promise; /** @deprecated Use `getToken('csrf')` instead */ getToken( type: ApiLegacyTokenType, - additionalParams?: ApiActionQueryMetaTokensParams | ApiAssert + additionalParams?: Api.Params.Action.Query.Meta.Tokens | ApiAssert ): JQuery.Promise; getToken( type: string, - additionalParams?: ApiActionQueryMetaTokensParams | ApiAssert + additionalParams?: Api.Params.Action.Query.Meta.Tokens | ApiAssert ): JQuery.Promise; /** @@ -490,14 +479,14 @@ declare global { * * @since 1.37 - accepts a single string message as parameter. * @param {string|string[]} messages Messages to retrieve - * @param {ApiActionQueryMetaAllMessagesParams} [options] Additional parameters for the API call + * @param {Api.Params.Action.Query.Meta.AllMessages} [options] Additional parameters for the API call * @returns {JQuery.Promise} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#loadMessages */ loadMessages( messages: string | string[], options?: Omit< - ApiActionQueryMetaAllMessagesParams, + Api.Params.Action.Query.Meta.AllMessages, "action" | "ammessages" | "meta" > ): JQuery.Promise; @@ -509,14 +498,14 @@ declare global { * @since 1.27 * @since 1.42 - accepts a single string message as parameter. * @param {string|string[]} messages Messages to retrieve - * @param {ApiActionQueryMetaAllMessagesParams} [options] Additional parameters for the API call + * @param {Api.Params.Action.Query.Meta.AllMessages} [options] Additional parameters for the API call * @returns {JQuery.Promise} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#loadMessagesIfMissing */ loadMessagesIfMissing( messages: string | string[], options?: Omit< - ApiActionQueryMetaAllMessagesParams, + Api.Params.Action.Query.Meta.AllMessages, "action" | "ammessages" | "meta" > ): JQuery.Promise; @@ -535,7 +524,7 @@ declare global { * @param {TitleLike} title Target page * @param {string} header * @param {string} message Wikitext message - * @param {ApiActionEditParams} additionalParams Additional API parameters + * @param {Api.Params.Action.Edit} additionalParams Additional API parameters * @returns {JQuery.Promise} See {@link postWithEditToken} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#newSection */ @@ -544,7 +533,7 @@ declare global { header: string, message: string, additionalParams?: Omit< - ApiActionEditParams, + Api.Params.Action.Edit, "action" | "section" | "summary" | "text" | "title" > ): JQuery.Promise; @@ -553,39 +542,42 @@ declare global { * Convenience method for `action=parse`. * * @param {TitleLike} content Content to parse, either as a wikitext string or a {@link mw.Title} - * @param {ApiActionParseParams} [additionalParams] Parameters object to set custom settings, e.g. + * @param {Api.Params.Action.Parse} [additionalParams] Parameters object to set custom settings, e.g. * `redirects`, `sectionpreview`. `prop` should not be overridden. * @returns {JQuery.Promise} Promise that resolves with the parsed HTML of `wikitext` * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#parse */ parse( content: TitleLike, - additionalParams?: Omit + additionalParams?: Omit< + Api.Params.Action.Parse, + "action" | "page" | "prop" | "text" + > ): JQuery.Promise; /** * Perform API post request. See {@link ajax()} for details. * - * @param {ApiParams} parameters + * @param {Api.Params} parameters * @param {JQuery.AjaxSettings} [ajaxOptions] * @returns {JQuery.Promise} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#post */ post( - parameters: ApiParams, + parameters: Api.Params, ajaxOptions?: JQuery.AjaxSettings ): JQuery.Promise; /** * Post to API with csrf token. If we have no token, get one and try to post. If we have a cached token try using that, and if it fails, blank out the cached token and start over. * - * @param {ApiParams} params API parameters + * @param {Api.Params} params API parameters * @param {JQuery.AjaxSettings} [ajaxOptions] * @returns {JQuery.Promise} See {@link post} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#postWithEditToken */ postWithEditToken( - params: ApiParams, + params: Api.Params, ajaxOptions?: JQuery.AjaxSettings ): JQuery.Promise; @@ -604,25 +596,25 @@ declare global { * ``` * @since 1.22 * @param {string} tokenType The name of the token, like `options` or `edit`. - * @param {ApiParams} params API parameters + * @param {Api.Params} params API parameters * @param {JQuery.AjaxSettings} [ajaxOptions] * @returns {JQuery.Promise} See {@link post()} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#postWithToken */ postWithToken( tokenType: ApiTokenType, - params: ApiParams, + params: Api.Params, ajaxOptions?: JQuery.AjaxSettings ): JQuery.Promise; /** @deprecated Use `postWithToken('csrf', params)` instead */ postWithToken( tokenType: ApiLegacyTokenType, - params: ApiParams, + params: Api.Params, ajaxOptions?: JQuery.AjaxSettings ): JQuery.Promise; postWithToken( tokenType: string, - params: ApiParams, + params: Api.Params, ajaxOptions?: JQuery.AjaxSettings ): JQuery.Promise; @@ -632,14 +624,14 @@ declare global { * @since 1.28 * @param {TitleLike} page * @param {string} user - * @param {ApiActionRollbackParams} [params] Additional parameters + * @param {Api.Params.Action.Rollback} [params] Additional parameters * @returns {JQuery.Promise} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#rollback */ rollback( page: TitleLike, user: string, - params?: Omit + params?: Omit ): JQuery.Promise; /** @@ -695,26 +687,29 @@ declare global { * The file will be uploaded using AJAX and FormData. * * @param {File|Blob|HTMLInputElement} file HTML `input type=file` element with a file already inside of it, or a File object. - * @param {ApiActionUploadParams} data Other upload options, see `action=upload` API docs for more + * @param {Api.Params.Action.Upload} data Other upload options, see `action=upload` API docs for more * @returns {JQuery.Promise} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#upload */ upload( file: File | Blob | HTMLInputElement, - data: Omit, "action" | "file"> + data: Omit< + Require, + "action" | "file" + > ): JQuery.Promise; /** * Finish an upload in the stash. * * @param {string} filekey - * @param {ApiActionUploadParams} data + * @param {Api.Params.Action.Upload} data * @returns {JQuery.Promise} * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#uploadFromStash */ uploadFromStash( filekey: string, - data: Omit, "action" | "filekey"> + data: Omit, "action" | "filekey"> ): JQuery.Promise; /** @@ -736,14 +731,14 @@ declare global { * } ); * ``` * @param {File|HTMLInputElement} file - * @param {ApiActionUploadParams} [data] + * @param {Api.Params.Action.Upload} [data] * @returns {JQuery.Promise} Promise that resolves with a * function that should be called to finish the upload. * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.Api.html#uploadToStash */ uploadToStash( file: File | HTMLInputElement, - data?: ApiActionUploadParams + data?: Api.Params.Action.Upload ): JQuery.Promise; /** @@ -768,10 +763,10 @@ declare global { /** * Massage parameters from the nice format we accept into a format suitable for the API. * - * @param {ApiParams} parameters (modified in-place) + * @param {Api.Params} parameters (modified in-place) * @param {boolean} useUS Whether to use U+001F when joining multi-valued parameters. */ - private preprocessParameters(parameters: ApiParams, useUS: boolean): void; + private preprocessParameters(parameters: Api.Params, useUS: boolean): void; } namespace Api { @@ -781,13 +776,13 @@ declare global { interface EditTransform { /** * @param {Revision} revision Current revision - * @returns {string|ApiActionEditParams|JQuery.Promise} New content, object with edit API parameters, or promise providing one of those. + * @returns {string|Params.Action.Edit|JQuery.Promise} New content, object with edit API parameters, or promise providing one of those. */ (revision: Revision): | string - | Omit + | Omit | JQuery.Promise - | JQuery.Promise>; + | JQuery.Promise>; } /** @@ -804,7 +799,7 @@ declare global { /** * Default query parameters for API requests */ - parameters?: Partial; + parameters?: Partial; /** * Whether to use U+001F when joining multi-valued parameters (since 1.28). * Default is true if ajax.url is not set, false otherwise for compatibility. diff --git a/scripts/api-types-generator-types.d.ts b/scripts/api-types-generator-types.d.ts new file mode 100644 index 0000000..ae9c02f --- /dev/null +++ b/scripts/api-types-generator-types.d.ts @@ -0,0 +1,163 @@ +// Types for api-types-generator.js + +import ".."; +import "../api_params"; + +declare global { + type LineBlock = (string | string[])[]; + + interface RawModule { + name: string; + classname: string; + path: string; + group?: string; + prefix: string; + source: string; + sourcename: string; + licensetag: string; + licenselink: string; + internal?: boolean; + readrights?: boolean; + writerights?: boolean; + mustbeposted?: boolean; + deprecated?: boolean; + generator?: boolean; + helpurls: string[]; + parameters: RawModuleParam[]; + dynamicparameters?: boolean; + } + + interface RawModuleParam { + index: number; + module: RawModule; + name: string; + type: string | string[]; + default?: unknown; + multi?: boolean; + lowlimit?: number; + highlimit?: number; + limit?: number; + min?: number; + max?: number; + mustExist?: boolean; + required?: boolean; + sensitive?: boolean; + deprecated?: boolean; + allspecifier?: string; + subtypes?: string[]; + submodules?: Record; + submoduleparamprefix?: string; + internalvalues?: string[]; + tokentype?: string; + templatevars?: Record; + } + + type APIModuleDict = Record; + + /** + * Pre-processed API module data. + */ + interface ModuleData { + /** + * API module path. + */ + path: string; + /** + * Formatted extension name. + */ + source: string; + /** + * Formatted module name. + */ + name: string; + /** + * Formatted module name, before PR #41. + */ + oldName?: string; + /** + * Interfaces to inherit from. + */ + parents: ParentPath[]; + /** + * Sorted list of properties. + */ + parameters: ParameterData[]; + prefix: string; + jsdoc?: JSdocData; + } + + /** + * If it is not an API root module, indicates a parameter and associated value providing this module as a sub-module. + */ + interface ParentPath { + parameter: ParameterData; + value: string; + } + + /** + * Pre-processed API parameter data. + */ + interface ParameterData { + /** + * Property name. + */ + key: string; + /** + * Formatted parameter name. + */ + name: string; + /** + * Interface data. + */ + module: ModuleData; + /** + * Whether the type name is a string template or litteral. + */ + template?: boolean; + /** + * Type, list of possible values, or map of submodules. + */ + type: string | string[] | Record; + /** + * Whether multiple values can be specified as a list. + */ + multi?: boolean; + /** + * Whether the parameter is required or optional. + */ + required: boolean; + /** + * Default parameter value. + */ + default?: unknown; + jsdoc?: JSdocData; + } + + /** + * Some additional information about an API module or parameter. + */ + interface JSdocData { + description?: string | string[]; + private?: boolean; + deprecated?: string | boolean; + seelinks?: string[]; + } + + interface InterfaceOptions { + parent?: string; + exported?: boolean; + } + + type PropertyData = Omit; + + namespace ModuleFormatter { + type DeclarationModifier = "declare" | "export" | "export declare"; + + type ParentStack = { + path: ParentPath; + next: ParentStack; + } | null; + } +} + +export {}; diff --git a/scripts/api-types-generator.js b/scripts/api-types-generator.js index 6aa270d..6dcbe2a 100644 --- a/scripts/api-types-generator.js +++ b/scripts/api-types-generator.js @@ -1,8 +1,29 @@ -// Paste this into the browser console -// and copy the console log output +// This generates the content of `api_params/index.d.ts`, by extracting online MediaWiki API module information. +// Go to a Wikimedia site, paste this into the browser console, and copy the log output. +// +// This process is done in 4 steps: +// +// main +// └── action= namespace Params { +// https://w1/api.php ══[ML]══> ├── query ═══╗ main Params namespace Action { +// └── block ║ └── action= └── Action interface Query {} +// ╠══[MM]══> ├── query ══[MP]══> ├── Query ══[MF]══> interface Block {} +// main ║ ├── block ├── Block interface WBSearch {} +// └── action= ║ └── wbsearch └── WBSearch } +// https://w2/api.php ══[ML]══> ├── query ═╝ } +// └── wbsearch +// +// [ML] ModuleLoader: load module data from all APIs. +// [MM] ModuleMerger: merge module data into a single hierarchy. +// [MP] ModuleParser: process module data to deduce API parameter types. +// [MF] ModuleFormatter: format module data into TS type declarations. + +/** @type {import("./api-types-generator-types")} */ /** - * Where to look API types from. If there is an ambiguity, the first ones are given priority. + * Entry points of MediaWiki sites from which API types are loaded. + * If there is an ambiguity, the first ones are given priority. + * * @type {Record} */ const SOURCES = { @@ -28,7 +49,8 @@ const SOURCES = { }; /** - * An API type with this name will be replaced with its associated TS type. + * Mapping of API module parameter types to TS types. + * * @type {Record} */ const TYPE_MAP = { @@ -40,13 +62,10 @@ const TYPE_MAP = { }; /** - * An enum parameter with this name with get generalized back to a string. - * @type {string[]} - */ -const NAME_TYPE_GENERALIZE = []; - -/** - * An API module with this name will have its interface name overriden. + * Patterns used to properly capitalize TS type names. + * By default, PHP namespaces and class name are used to find proper capitalizations, this can be used to + * override bad deductions or when there is not enough information for the script to capitalize anything. + * * @type {Record} */ const NAME_PATH_MAP = { @@ -81,96 +100,44 @@ const NAME_PATH_MAP = { }; /** - * A parameter with this name will always be optional. + * Hardcoded list of (unprefixed) parameter names that should always be optional. + * Used with any module. + * * @type {string[]} */ const FORCE_OPTIONAL_PARAMS = []; /** - * An API module with this name will have the given parameters be required or optional, as specified. + * Hardcoded list of (unprefixed) parameter names that should be required or optional. + * Only applies to the specified module. + * * @type {Record>} */ const REQUIRED_PARAMS_MAP = { // e.g. allfileusages: { somerequiredparam: true, someoptionalparam: false }, }; -/** - * @template {number} [N=0] - * @template {null[]} [_A=[]] - * @typedef {_A["length"] extends N ? string : Array>} LineBlock - */ - -/** - * @typedef RawModule - * @property {string} name - * @property {string} classname - * @property {string} path - * @property {string} [group] - * @property {string} prefix - * @property {string} source - * @property {string} sourcename - * @property {string} licensetag - * @property {string} licenselink - * @property {boolean} [internal] - * @property {boolean} [readrights] - * @property {boolean} [writerights] - * @property {boolean} [mustbeposted] - * @property {boolean} [deprecated] - * @property {boolean} [generator] - * @property {string[]} helpurls - * @property {RawModule.Param[]} parameters - * @property {boolean} [dynamicparameters] - */ -/** - * @typedef RawModule.Param - * @property {number} index - * @property {RawModule} module - * @property {string} name - * @property {string|string[]} type - * @property {unknown} [default] - * @property {boolean} [multi] - * @property {number} [lowlimit] - * @property {number} [highlimit] - * @property {number} [limit] - * @property {number} [min] - * @property {number} [max] - * @property {boolean} [mustExist] - * @property {boolean} [required] - * @property {boolean} [sensitive] - * @property {boolean} [deprecated] - * @property {string} [allspecifier] - * @property {string[]} [subtypes] - * @property {Record} [submodules] - * @property {string} [submoduleparamprefix] - * @property {string[]} [internalvalues] - * @property {string} [tokentype] - * @property {Record} [templatevars] - */ -/** @typedef {Record} APIModuleDict */ +const log = mw.log; +const logError = mw.log.error; class ModuleLoader { - logger = console.log; /** @type {Record>} */ cache = {}; /** - * @param {string|mw.Api} api + * Creates a module loader. + * + * @param {string} api URI to the foreign API. */ constructor(api) { - this.processAndLoadSubmodules = this.processAndLoadSubmodules.bind(this); - - if (typeof api === "string") { - this.api = new mw.ForeignApi(api); - } else { - this.api = api; - } + this.api = new mw.ForeignApi(api); } /** * @param {any} module * @returns {Promise} */ - async processAndLoadSubmodules(module) { + processAndLoadSubmodules = async (module) => { /** @type {Array>} */ const promises = []; @@ -214,16 +181,16 @@ class ModuleLoader { } return Object.assign({}, ...(await Promise.all(promises))); - } + }; /** * @param {string[]} paths Module paths * @returns {Promise} Module data */ - queryModules(paths) { - this.logger("Querying module data...", paths); + queryModules = (paths) => { + log("Querying module data...", paths); - /** @type {import("../api_params").ApiActionParamInfoParams & import("../api_params").ApiFormatJsonParams} */ + /** @type {mw.Api.Params.Action.ParamInfo & mw.Api.Params.Format.Json} */ const params = { action: "paraminfo", format: "json", @@ -234,14 +201,14 @@ class ModuleLoader { const { promise, resolve, reject } = Promise.withResolvers(); this.api.get(params).then((response) => resolve(response.paraminfo.modules), reject); return promise; - } + }; /** * Get module data from the API. * @param {string[]} paths Module paths * @returns {Promise} Module data */ - async getModules(paths) { + getModules = async (paths) => { /** @type {Array>} */ const promises = []; /** @type {string[]} */ @@ -274,31 +241,12 @@ class ModuleLoader { } return Object.assign({}, ...(await Promise.all(promises))); - } + }; - /** - * @returns {Promise} - */ - async getRootModule() { - const modules = await this.getModules(["main"]); - return modules["main"]; - } + load = () => this.getModules(["main"]).then((m) => m["main"]); } class ModuleMerger { - constructor() { - this.expectSame = this.expectSame.bind(this); - this.expectSameSizeArray = this.expectSameSizeArray.bind(this); - this.mergeMin = this.mergeMin.bind(this); - this.mergeMax = this.mergeMax.bind(this); - this.mergeKeyArray = this.mergeKeyArray.bind(this); - this.mergeParameterType = this.mergeParameterType.bind(this); - this.mergeParameterArray = this.mergeParameterArray.bind(this); - this.mergeParameter = this.mergeParameter.bind(this); - this.mergeModule = this.mergeModule.bind(this); - this.merge = this.merge.bind(this); - } - /** * @template {{}} T * @template {string & keyof T} K @@ -311,7 +259,7 @@ class ModuleMerger { * @param {(v1: T[K], v2: T[K], path: string, ...args: U) => T[K] | undefined} [merge] * @param {U} args */ - extract(key, o, o1, o2, path, merge, ...args) { + extract = (key, o, o1, o2, path, merge, ...args) => { if (key in o1 && key in o2 && merge) { const v = merge(o1[key], o2[key], `${path}.${key}`, ...args); if (v !== undefined) { @@ -322,7 +270,7 @@ class ModuleMerger { } else if (key in o2) { o[key] = o2[key]; } - } + }; /** * @template T @@ -331,7 +279,7 @@ class ModuleMerger { * @param {string} path * @param {T} [def] */ - expectSame(v1, v2, path, def) { + expectSame = (v1, v2, path, def) => { if (v1 === v2) { return v1; } @@ -339,7 +287,7 @@ class ModuleMerger { return def; } throw `Found different values ("${v1}" and "${v2}") for "${path}".`; - } + }; /** * @template T @@ -350,7 +298,7 @@ class ModuleMerger { * @param {(v1: T, v2: T, path: string, ...args: U) => T} [merge] * @param {U} args */ - expectSameSizeArray(a1, a2, path, merge, ...args) { + expectSameSizeArray = (a1, a2, path, merge, ...args) => { if (a1 === undefined && a1 === undefined) { return undefined; } @@ -360,31 +308,43 @@ class ModuleMerger { }") for "${path}".`; } return merge ? a1.map((v1, i) => merge(v1, a2[i], `${path}[${i}]`, ...args)) : [...a1]; - } + }; + + /** + * @param {boolean | undefined} v1 + * @param {boolean | undefined} v2 + * @param {string} _ + */ + mergeRequired = (v1, v2, _) => { + if (v1 === undefined || v2 === undefined) { + return undefined; + } + return v1 && v2; + }; /** * @param {number | undefined} v1 * @param {number | undefined} v2 * @param {string} _ */ - mergeMin(v1, v2, _) { + mergeMin = (v1, v2, _) => { if (v1 === undefined || v2 === undefined) { return undefined; } return Math.min(v1, v2); - } + }; /** * @param {number | undefined} v1 * @param {number | undefined} v2 * @param {string} _ */ - mergeMax(v1, v2, _) { + mergeMax = (v1, v2, _) => { if (v1 === undefined || v2 === undefined) { return undefined; } return Math.max(v1, v2); - } + }; /** * @template T @@ -392,7 +352,7 @@ class ModuleMerger { * @param {T[] | undefined} a2 * @param {string} _ */ - mergeKeyArray(a1, a2, _) { + mergeKeyArray = (a1, a2, _) => { if (a1 === undefined) { return a2; } @@ -400,7 +360,7 @@ class ModuleMerger { return a1; } return new Set([...a1, ...a2]).values().toArray(); - } + }; /** * @template T @@ -411,7 +371,7 @@ class ModuleMerger { * @param {(v1: T, v2: T, path: string, ...args: U) => T} [merge] * @param {U} args */ - mergeObject(o1, o2, path, merge, ...args) { + mergeObject = (o1, o2, path, merge, ...args) => { if (o1 === undefined) { return o2; } @@ -429,14 +389,14 @@ class ModuleMerger { } } return o; - } + }; /** * @param {string | string[]} t1 * @param {string | string[]} t2 * @param {string} path */ - mergeParameterType(t1, t2, path) { + mergeParameterType = (t1, t2, path) => { if (typeof t1 === "string" && typeof t2 === "string") { return this.expectSame(t1, t2, path); } @@ -462,15 +422,15 @@ class ModuleMerger { } catch { return "string"; } - } + }; /** - * @param {RawModule.Param} p1 - * @param {RawModule.Param} p2 + * @param {RawModuleParam} p1 + * @param {RawModuleParam} p2 * @param {string} path */ - mergeParameter(p1, p2, path) { - /** @type {RawModule.Param} */ + mergeParameter = (p1, p2, path) => { + /** @type {RawModuleParam} */ // @ts-ignore const p = {}; this.extract("name", p, p1, p2, path, this.expectSame); @@ -487,7 +447,7 @@ class ModuleMerger { this.extract("min", p, p1, p2, path, this.mergeMin); this.extract("max", p, p1, p2, path, this.mergeMax); this.extract("mustExist", p, p1, p2, path, this.expectSame); - this.extract("required", p, p1, p2, path, this.expectSame); + this.extract("required", p, p1, p2, path, this.mergeRequired); this.extract("sensitive", p, p1, p2, path, this.expectSame); this.extract("deprecated", p, p1, p2, path, this.expectSame); this.extract("allspecifier", p, p1, p2, path, this.expectSame); @@ -498,14 +458,14 @@ class ModuleMerger { this.extract("tokentype", p, p1, p2, path, this.expectSame); this.extract("templatevars", p, p1, p2, path); return p; - } + }; /** - * @param {RawModule.Param[]} a1 - * @param {RawModule.Param[]} a2 + * @param {RawModuleParam[]} a1 + * @param {RawModuleParam[]} a2 * @param {string} path */ - mergeParameterArray(a1, a2, path) { + mergeParameterArray = (a1, a2, path) => { const a = []; let i1 = 0, i2 = 0; @@ -541,14 +501,14 @@ class ModuleMerger { a.forEach((p, i) => (p.index = i)); return a; - } + }; /** * @param {RawModule} m1 * @param {RawModule} m2 * @param {string} path */ - mergeModule(m1, m2, path) { + mergeModule = (m1, m2, path) => { /** @type {RawModule} */ // @ts-ignore const m = {}; @@ -572,20 +532,20 @@ class ModuleMerger { m.parameters.forEach((p) => (p.module = m)); this.extract("dynamicparameters", m, m1, m2, path, this.expectSame); return m; - } + }; /** * @param {RawModule} m1 * @param {RawModule} m2 */ - merge(m1, m2) { + merge = (m1, m2) => { try { return this.mergeModule(m1, m2, m1.path); } catch (e) { - console.error(e); + logError(e); return m1; } - } + }; } /** @@ -595,60 +555,35 @@ function firstToUppercase(s) { return s.charAt(0).toUpperCase() + s.slice(1); } -/** - * @typedef ModuleData - * Pre-processed API module data. - * - * @property {string} path API module path - * @property {string} source Formatted extension name - * @property {string} name Formatted module name - * @property {ParentPath[]} parents Interfaces to inherit from - * @property {ParameterData[]} parameters Sorted list of properties - * @property {string} prefix - * @property {JSdocData} [jsdoc] - */ - -/** - * @typedef ParentPath - * If it is not an API root module, indicates a parameter and associated value providing this module as a sub-module. - * - * @property {ParameterData} parameter - * @property {string} value - */ - -/** - * @typedef ParameterData - * Pre-processed API parameter data. - * - * @property {string} key Property name - * @property {string} name Formatted parameter name - * @property {ModuleData} module Interface data - * @property {boolean} [template] Whether the type name is a string template or litteral - * @property {string|string[]|Record} type Type, list of possible values, or map of submodules - * @property {boolean} [multi] Whether multiple values can be specified as a list - * @property {boolean} required Whether the parameter is required or optional - * @property {unknown} [default] Default parameter value - * @property {JSdocData} [jsdoc] - */ +class ModuleParser { + /** + * Try to find a suitable module name for TS formatting. + * Name generation used before PR #41, used in type aliases for compatibility. + * + * @param {RawModule} rawModule API module data. + * @returns Formatted module name, `false` if the module did not have an interface. + */ + findOldModuleName = (rawModule) => { + if (rawModule.path.includes("+") && !rawModule.path.startsWith("query+")) { + return false; + } -/** - * @typedef JSdocData - * Some additional information about an API module or parameter. - * - * @property {string|string[]} [description] - * @property {boolean} [private] - * @property {string|boolean} [deprecated] - * @property {string[]} [seelinks] - */ + return ( + rawModule.classname + .replace(/\\/g, "") + .replace(/^MediaWikiApi/g, "Api") + .replace(/^MediaWikiExtensions?/g, "") + .replace(/ApiApi/g, "Api") + "Params" + ); + }; -class ModuleParser { /** * Try to find a suitable module name for TS formatting. * * @param {RawModule} rawModule API module data * @returns Formatted module name (and source if not from MediaWiki) */ - findModuleName(rawModule) { + findModuleName = (rawModule) => { const result = { name: rawModule.name, source: rawModule.source === "MediaWiki" ? "" : rawModule.source.replace(/[\s-]/g, ""), @@ -656,7 +591,7 @@ class ModuleParser { // Main module. if (!rawModule.group) { - result.name = ""; + result.name = "Params"; return result; } @@ -678,8 +613,10 @@ class ModuleParser { possibleReplacements.sort(([p1], [p2]) => p2.length - p1.length); /** + * Recursively replace prefixes and suffixes of the module name. + * * @param {string} name - * @returns {{name:string,optimal:boolean}} + * @returns {{ name: string, optimal: boolean }} */ function findBestReplacement(name) { const nameIndex = plainClassName.toLowerCase().indexOf(name.toLowerCase()); @@ -734,27 +671,27 @@ class ModuleParser { ); result.name = bestRepl.name; if (!bestRepl.optimal) { - console.warn( + log( `Could not find a proper name capitalization for module "${rawModule.name}", using "${result.name}".` ); } return result; - } + }; /** - * @param {RawModule.Param} rawParameter + * @param {RawModuleParam} rawParameter */ - findParameterName(rawParameter) { + findParameterName = (rawParameter) => { return firstToUppercase(rawParameter.name); - } + }; /** * Get some data about a module parameter. * @param {ModuleData} module Formatted module data - * @param {RawModule.Param} rawParameter API parameter data + * @param {RawModuleParam} rawParameter API parameter data */ - processParameter(module, rawParameter) { + processParameter = (module, rawParameter) => { const rawModule = rawParameter.module; /** @type {JSdocData} */ @@ -779,7 +716,6 @@ class ModuleParser { // so for now we generalize all parameter types referenced in templated parameters // to be sure we are not being too specific if ( - NAME_TYPE_GENERALIZE.includes(rawParameter.name) || isUsedAsTemplateVariable || (!rawParameter.submodules && rawParameter.type.length > 100) ) { @@ -841,7 +777,7 @@ class ModuleParser { } return parameter; - } + }; /** * Get some data about a module interface. @@ -850,7 +786,7 @@ class ModuleParser { * @param {ParentPath} [parent] API data of the module this one is an extension of * @returns {ModuleData} */ - processModule(rawModule, prefix, parent) { + processModule = (rawModule, prefix, parent) => { /** @type {JSdocData} */ const jsdoc = { private: !!rawModule.internal, @@ -871,6 +807,11 @@ class ModuleParser { jsdoc, }; + const oldName = this.findOldModuleName(rawModule); + if (oldName !== false) { + module.oldName = oldName; + } + if (parent) { module.parents.push(parent); } @@ -882,52 +823,37 @@ class ModuleParser { ); return module; - } + }; } -/** - * @typedef InterfaceOptions - * @property {string} [parent] - * @property {boolean} [exported] - */ -/** - * @typedef {Omit} PropertyData - */ - class ModuleFormatter { /** - * @type {ParentPath[]} + * @type {Record}; */ - pathStack = []; - - constructor() { - this.quote = this.quote.bind(this); - this.indent = this.indent.bind(this); - this.formatProperty = this.formatProperty.bind(this); - } + deprecatedAliases = {}; /** * @param {string} s */ - quote(s) { + quote = (s) => { return `"${s}"`; - } + }; /** * @param {string} s */ - indent(s) { + indent = (s) => { if (s !== "") { s = " ".repeat(4) + s; } return s; - } + }; /** * @template T * @param {Array} block */ - flatWithLine(block) { + flatWithLine = (block) => { if (!block.length) { return []; } @@ -938,52 +864,40 @@ class ModuleFormatter { } return newBlock.flat(1); - } - - /** - * @param {ModuleData} module - */ - formatModuleName(module) { - const nameParts = [ - ...this.pathStack.flatMap((p) => [p.parameter.module, p.parameter]), - module, - ]; - return `Api${nameParts.map((o) => o.name).join("")}`; - } + }; /** * @param {ModuleData} source + * @param {ModuleFormatter.ParentStack} parentStack */ - formatParameterPrefix(source) { - const modules = [...this.pathStack.map((p) => p.parameter.module), source]; - return modules.map((m) => m.prefix).join(""); - } + formatParameterPrefix = (source, parentStack) => { + let prefix = source.prefix; + for (let parent = parentStack; parent !== null; parent = parent.next) { + prefix = `${parent.path.parameter.module.prefix}${prefix}`; + } + return prefix; + }; /** * Disable a linter rule for the next line. * @param {string} name Rule name * @returns TS string line */ - disableRule(name) { + disableRule = (name) => { return `// tslint:disable-next-line:${name}`; - } + }; /** * @param {JSdocData|undefined} jsdoc - * @param {string|string[]} [typeLines] */ - addJsdoc(jsdoc, typeLines) { - if (typeof typeLines === "string") { - typeLines = [typeLines]; - } - + formatJSdoc = (jsdoc) => { jsdoc ??= {}; - /** @type {LineBlock<2>} */ - let lineBlocks = []; + /** @type {LineBlock} */ + const lineBlock = []; - if (jsdoc.description?.length) { - lineBlocks.push(jsdoc.description); + if (jsdoc.description !== undefined) { + lineBlock.push(jsdoc.description); } /** @type {string[]} */ @@ -1000,32 +914,44 @@ class ModuleFormatter { } if (jsdoc.seelinks?.length) { - tags.push(...jsdoc.seelinks.map((l) => `@see {@link ${l}}`)); + tags.push(...jsdoc.seelinks.map((l) => `@see ${l}`)); } if (tags.length) { - lineBlocks.push(tags); + lineBlock.push(tags); } - /** @type {string[]} */ - const lines = []; - if (lineBlocks.length) { - lines.push("/**", ...this.flatWithLine(lineBlocks).map((l) => ` * ${l}`), " */"); - } + return lineBlock.length + ? ["/**", ...this.flatWithLine(lineBlock).map((l) => ` * ${l}`), " */"] + : []; + }; - if (typeLines) { - lines.push(...typeLines); - } + /** + * @param {LineBlock} content + */ + formatGlobal = (content) => { + return ["declare global {", ...this.flatWithLine(content).map(this.indent), "}"]; + }; - return lines; - } + /** + * @param {string} name + * @param {LineBlock} content + * @param {ModuleFormatter.DeclarationModifier} [modifier] + */ + formatNamespace = (name, content, modifier) => { + return [ + `${modifier ? `${modifier} ` : ""}namespace ${name} {`, + ...this.flatWithLine(content).map(this.indent), + "}", + ]; + }; /** * Format an interface parameter as a TS string. * @param {PropertyData} prop Interface parameter data * @returns {string[]} */ - formatProperty(prop) { + formatProperty = (prop) => { let { key, type } = prop; if (prop.template) { @@ -1054,8 +980,8 @@ class ModuleFormatter { } } - return this.addJsdoc(prop.jsdoc, `${key}: ${type};`); - } + return [...this.formatJSdoc(prop.jsdoc), `${key}: ${type};`]; + }; /** * @param {string} name @@ -1063,7 +989,7 @@ class ModuleFormatter { * @param {InterfaceOptions} [options] * @returns {string[]} */ - formatInterface(name, properties, options) { + formatInterface = (name, properties, options) => { options ??= {}; /** @type {string[]} */ const lines = []; @@ -1092,16 +1018,16 @@ class ModuleFormatter { } return lines; - } + }; /** * Format a module interface as a TS string. * @param {ModuleData} module Module interface data - * @returns {string[]} + * @param {ModuleFormatter.ParentStack} parentStack + * @returns {LineBlock} */ - formatModule(module) { - const interfaceName = `${this.formatModuleName(module)}Params`; - const parameterPrefix = this.formatParameterPrefix(module); + formatModule = (module, parentStack) => { + const parameterPrefix = this.formatParameterPrefix(module, parentStack); /** @type {ParameterData[]} */ const prefixedParameters = module.parameters.map((parameter) => ({ @@ -1121,49 +1047,84 @@ class ModuleFormatter { }); /** @type {InterfaceOptions} */ - const options = { exported: true }; + const options = {}; // Set parent interface, and overload parameter from parent interface - const parentPath = this.pathStack.pop(); - if (parentPath) { - const parameter = parentPath.parameter; - options.parent = `${this.formatModuleName(parameter.module)}Params`; - this.pathStack.push(parentPath); + if (parentStack !== null) { + const parameter = parentStack.path.parameter; + options.parent = parameter.module.name; if (!parameter.multi) { prefixedParameters.unshift({ ...parameter, - type: [parentPath.value], + type: [parentStack.path.value], // required: false, }); } } - /** @type {LineBlock<2>} */ - const types = [ - this.addJsdoc( - module.jsdoc, - this.formatInterface(interfaceName, prefixedParameters, options) - ), - ]; + /** @type {LineBlock} */ + const types = []; + types.push([ + ...this.formatJSdoc(module.jsdoc), + ...this.formatInterface(module.name, prefixedParameters, options), + ]); + + /** @type {[string, LineBlock][]} */ + const submoduleBlocks = []; for (const submoduleSet of submoduleSets) { const parameter = submoduleSet.parameter; + /** @type {LineBlock} */ + const submoduleBlock = []; + for (const [value, submodule] of submoduleSet.values) { - this.pathStack.push({ parameter, value }); - types.push(this.formatModule(submodule)); - this.pathStack.pop(); + const path = { parameter, value }; + submoduleBlock.push(...this.formatModule(submodule, { path, next: parentStack })); + } + + if (submoduleBlock.length) { + submoduleBlocks.push([parameter.name, submoduleBlock]); } } - return this.flatWithLine(types); - } + if (submoduleBlocks.length === 1) { + const [parameterName, submoduleBlock] = submoduleBlocks[0]; + types.push(this.formatNamespace(`${module.name}.${parameterName}`, submoduleBlock)); + } else if (submoduleBlocks.length) { + const submoduleNamespaces = submoduleBlocks.map(([parameterName, submoduleBlock]) => + this.formatNamespace(parameterName, submoduleBlock) + ); + types.push(this.formatNamespace(module.name, submoduleNamespaces)); + } + + if (module.oldName) { + const nameParts = [module.name]; + for (let parent = parentStack; parent !== null; parent = parent.next) { + nameParts.unshift(parent.path.parameter.module.name, parent.path.parameter.name); + } + + this.deprecatedAliases[module.oldName] ??= []; + this.deprecatedAliases[module.oldName].push(nameParts.join(".")); + } + + return types; + }; + + formatDeprecatedAliases = () => { + return Object.entries(this.deprecatedAliases).map(([typeName, targetNames]) => [ + `/** @deprecated Use ${targetNames + .map((t) => `{@link mw.Api.${t} \`Partial\`}`) + .join(" / ")} instead. */`, + `export type ${typeName} = Partial;`, + ]); + }; /** * Format some module interface data as a TS declaration file. * @param {ModuleData} rootModule Formatted module data * @returns {string[]} */ - formatContent(rootModule) { + formatContent = (rootModule) => { return this.flatWithLine([ "// AUTOMATICALLY GENERATED (see scripts/api-types-generator.js)", [ @@ -1178,10 +1139,13 @@ class ModuleFormatter { 'export type ApiAssert = "anon" | "bot" | "user";', 'export type ApiTokenType = "createaccount" | "csrf" | "deleteglobalaccount" | "login" | "patrol" | "rollback" | "setglobalaccountstatus" | "userrights" | "watch";', 'export type ApiLegacyTokenType = "block" | "delete" | "edit" | "email" | "import" | "move" | "options" | "protect" | "unblock";', - this.formatModule(rootModule), + this.formatGlobal([ + this.formatNamespace("mw.Api", this.formatModule(rootModule, null)), + ]), + ...this.formatDeprecatedAliases(), "export {};", ]); - } + }; } const loaders = Object.values(SOURCES).map((s) => new ModuleLoader(s)); @@ -1189,11 +1153,7 @@ const merger = new ModuleMerger(); const parser = new ModuleParser(); const formatter = new ModuleFormatter(); -const rawRootModules = await Promise.all(loaders.map((l) => l.getRootModule())); +const rawRootModules = await Promise.all(loaders.map((l) => l.load())); const rawRootModule = rawRootModules.reduce(merger.merge); const rootModule = parser.processModule(rawRootModule); console.log(formatter.formatContent(rootModule).join("\n")); -// Object.values(await getModules()) -// .map((m) => `${m.source}\t${m.path}`) -// .sort() -// .join("\n");