declare global { namespace mw { /** * Get a message object. * * Shortcut for `new mw.Message( mw.messages, key, parameters )`. * * @param key Key of message to get * @param parameters Values for $N replacements * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.html#.message */ function message(key: string, ...parameters: any[]): Message; /** * Store for messages. * * @see https://doc.wikimedia.org/mediawiki-core/master/js/mw.html#.messages */ const messages: Map<{ [key: string]: string }>; /** * Describes a translateable text or HTML string. Similar to the Message class in MediaWiki PHP. * * @example * ```js * var obj, str; * mw.messages.set( { * 'hello': 'Hello world', * 'hello-user': 'Hello, $1!', * 'welcome-user': 'Welcome back to $2, $1! Last visit by $1: $3', * 'so-unusual': 'You will find: $1' * } ); * * obj = mw.message( 'hello' ); * mw.log( obj.text() ); * // Hello world * * obj = mw.message( 'hello-user', 'John Doe' ); * mw.log( obj.text() ); * // Hello, John Doe! * * obj = mw.message( 'welcome-user', 'John Doe', 'Wikipedia', '2 hours ago' ); * mw.log( obj.text() ); * // Welcome back to Wikipedia, John Doe! Last visit by John Doe: 2 hours ago * * // Using mw.msg shortcut, always in "text' format. * str = mw.msg( 'hello-user', 'John Doe' ); * mw.log( str ); * // Hello, John Doe! * * // Different formats * obj = mw.message( 'so-unusual', 'Time "after"