UNPKG

43.7 kBJavaScriptView Raw
1/*
2 * Copyright 2011 The Closure Compiler Authors.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/**
18 * @fileoverview Externs for jQuery 1.9 - 1.11 & 2.0 - 2.1
19 *
20 * The jQuery API is identical for the 1.9.x+ and 2.0+ branches. In addition,
21 * the API has not changed in releases since that date. These externs are valid
22 * for all jQuery releases since 1.9 and 2.0.
23 *
24 * Note that some functions use different return types depending on the number
25 * of parameters passed in. In these cases, you may need to annotate the type
26 * of the result in your code, so the JSCompiler understands which type you're
27 * expecting. For example:
28 * <code>var elt = /** @type {Element} * / (foo.get(0));</code>
29 *
30 * @see http://api.jquery.com/
31 * @externs
32 */
33
34/**
35 * @typedef {(Window|Document|Element|Array<Element>|string|jQuery|
36 * NodeList)}
37 */
38var jQuerySelector;
39
40/** @typedef {function(...)|Array<function(...)>} */
41var jQueryCallback;
42
43/** @typedef {
44 {
45 accepts: (Object<string, string>|undefined),
46 async: (?boolean|undefined),
47 beforeSend: (function(jQuery.jqXHR, (jQueryAjaxSettings|Object<string, *>))|undefined),
48 cache: (?boolean|undefined),
49 complete: (function(jQuery.jqXHR, string)|undefined),
50 contents: (Object<string, RegExp>|undefined),
51 contentType: (?string|undefined),
52 context: (Object<?, ?>|jQueryAjaxSettings|undefined),
53 converters: (Object<string, Function>|undefined),
54 crossDomain: (?boolean|undefined),
55 data: (Object<?, ?>|?string|Array<?>|undefined),
56 dataFilter: (function(string, string):?|undefined),
57 dataType: (?string|undefined),
58 error: (function(jQuery.jqXHR, string, string)|undefined),
59 global: (?boolean|undefined),
60 headers: (Object<?, ?>|undefined),
61 ifModified: (?boolean|undefined),
62 isLocal: (?boolean|undefined),
63 jsonp: (?string|undefined),
64 jsonpCallback: (?string|function()|undefined),
65 mimeType: (?string|undefined),
66 password: (?string|undefined),
67 processData: (?boolean|undefined),
68 scriptCharset: (?string|undefined),
69 statusCode: (Object<number, function()>|undefined),
70 success: (function(?, string, jQuery.jqXHR)|undefined),
71 timeout: (?number|undefined),
72 traditional: (?boolean|undefined),
73 type: (?string|undefined),
74 url: (?string|undefined),
75 username: (?string|undefined),
76 xhr: (function():(ActiveXObject|XMLHttpRequest)|undefined),
77 xhrFields: (Object<?, ?>|undefined)
78 }} */
79var jQueryAjaxSettings;
80
81/**
82 * @constructor
83 * @param {(jQuerySelector|Element|Object|Array<Element>|jQuery|string|
84 * function())=} arg1
85 * @param {(Element|jQuery|Document|
86 * Object<string, (string|function(!jQuery.Event))>)=} arg2
87 * @return {!jQuery}
88 */
89function jQuery(arg1, arg2) {}
90
91/**
92 * @const
93 */
94var $ = jQuery;
95
96/**
97 * @param {(jQuerySelector|Array<Element>|string|jQuery)} arg1
98 * @param {Element=} context
99 * @return {!jQuery}
100 * @nosideeffects
101 */
102jQuery.prototype.add = function(arg1, context) {};
103
104/**
105 * @param {(jQuerySelector|Array<Element>|string|jQuery)=} arg1
106 * @return {!jQuery}
107 * @nosideeffects
108 */
109jQuery.prototype.addBack = function(arg1) {};
110
111/**
112 * @param {(string|function(number,String))} arg1
113 * @return {!jQuery}
114 */
115jQuery.prototype.addClass = function(arg1) {};
116
117/**
118 * @param {(string|Element|jQuery|function(number))} arg1
119 * @param {(string|Element|Array<Element>|jQuery)=} content
120 * @return {!jQuery}
121 */
122jQuery.prototype.after = function(arg1, content) {};
123
124/**
125 * @param {(string|jQueryAjaxSettings|Object<string,*>)} arg1
126 * @param {(jQueryAjaxSettings|Object<string, *>)=} settings
127 * @return {!jQuery.jqXHR}
128 */
129jQuery.ajax = function(arg1, settings) {};
130
131/**
132 * @param {function(!jQuery.Event,XMLHttpRequest,(jQueryAjaxSettings|Object<string, *>))} handler
133 * @return {!jQuery}
134 */
135jQuery.prototype.ajaxComplete = function(handler) {};
136
137/**
138 * @param {function(!jQuery.Event,jQuery.jqXHR,(jQueryAjaxSettings|Object<string, *>),*)} handler
139 * @return {!jQuery}
140 */
141jQuery.prototype.ajaxError = function(handler) {};
142
143/**
144 * @param {(string|function((jQueryAjaxSettings|Object<string, *>),(jQueryAjaxSettings|Object<string, *>),jQuery.jqXHR))} dataTypes
145 * @param {function((jQueryAjaxSettings|Object<string, *>),(jQueryAjaxSettings|Object<string, *>),jQuery.jqXHR)=} handler
146 */
147jQuery.ajaxPrefilter = function(dataTypes, handler) {};
148
149/**
150 * @param {function(!jQuery.Event,jQuery.jqXHR,(jQueryAjaxSettings|Object<string, *>))} handler
151 * @return {!jQuery}
152 */
153jQuery.prototype.ajaxSend = function(handler) {};
154
155/** @const {jQueryAjaxSettings|Object<string, *>} */
156jQuery.ajaxSettings;
157
158/** @type {Object<string, boolean>} */
159jQuery.ajaxSettings.flatOptions = {};
160
161/** @type {boolean} */
162jQuery.ajaxSettings.processData;
163
164/** @type {Object<string, string>} */
165jQuery.ajaxSettings.responseFields = {};
166
167/** @param {jQueryAjaxSettings|Object<string, *>} options */
168jQuery.ajaxSetup = function(options) {};
169
170/**
171 * @param {function()} handler
172 * @return {!jQuery}
173 */
174jQuery.prototype.ajaxStart = function(handler) {};
175
176/**
177 * @param {function()} handler
178 * @return {!jQuery}
179 */
180jQuery.prototype.ajaxStop = function(handler) {};
181
182/**
183 * @param {function(!jQuery.Event,XMLHttpRequest,(jQueryAjaxSettings|Object<string, *>), ?)} handler
184 * @return {!jQuery}
185 */
186jQuery.prototype.ajaxSuccess = function(handler) {};
187
188/**
189 * @deprecated Please use .addBack(selector) instead.
190 * @return {!jQuery}
191 * @nosideeffects
192 */
193jQuery.prototype.andSelf = function() {};
194
195/**
196 * @param {Object<string,*>} properties
197 * @param {(string|number|function()|Object<string,*>)=} arg2
198 * @param {(string|function())=} easing
199 * @param {function()=} complete
200 * @return {!jQuery}
201 */
202jQuery.prototype.animate = function(properties, arg2, easing, complete) {};
203
204/**
205 * @param {(string|Element|Array<Element>|jQuery|function(number,string))} arg1
206 * @param {...(string|Element|Array<Element>|jQuery)} content
207 * @return {!jQuery}
208 */
209jQuery.prototype.append = function(arg1, content) {};
210
211/**
212 * @param {(jQuerySelector|Element|jQuery)} target
213 * @return {!jQuery}
214 */
215jQuery.prototype.appendTo = function(target) {};
216
217/**
218 * @param {(string|Object<string,*>)} arg1
219 * @param {(string|number|boolean|function(number,string))=} arg2
220 * @return {(string|!jQuery)}
221 */
222jQuery.prototype.attr = function(arg1, arg2) {};
223
224/**
225 * @param {(string|Element|jQuery|function())} arg1
226 * @param {(string|Element|Array<Element>|jQuery)=} content
227 * @return {!jQuery}
228 */
229jQuery.prototype.before = function(arg1, content) {};
230
231/**
232 * @param {(string|Object<string, function(!jQuery.Event)>)} arg1
233 * @param {(Object<string, *>|function(!jQuery.Event)|boolean)=} eventData
234 * @param {(function(!jQuery.Event)|boolean)=} arg3
235 * @return {!jQuery}
236 */
237jQuery.prototype.bind = function(arg1, eventData, arg3) {};
238
239/**
240 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
241 * @param {function(!jQuery.Event)=} handler
242 * @return {!jQuery}
243 */
244jQuery.prototype.blur = function(arg1, handler) {};
245
246/**
247 * @constructor
248 * @private
249 */
250jQuery.callbacks = function () {};
251
252/**
253 * @param {string=} flags
254 * @return {!jQuery.callbacks}
255 */
256jQuery.Callbacks = function (flags) {};
257
258/** @param {function()} callbacks */
259jQuery.callbacks.prototype.add = function(callbacks) {};
260
261/** @return {undefined} */
262jQuery.callbacks.prototype.disable = function() {};
263
264/** @return {undefined} */
265jQuery.callbacks.prototype.empty = function() {};
266
267/** @param {...*} var_args */
268jQuery.callbacks.prototype.fire = function(var_args) {};
269
270/** @return {boolean} */
271jQuery.callbacks.prototype.fired = function() {};
272
273/** @param {...*} var_args */
274jQuery.callbacks.prototype.fireWith = function(var_args) {};
275
276/**
277 * @param {function()} callback
278 * @return {boolean}
279 * @nosideeffects
280 */
281jQuery.callbacks.prototype.has = function(callback) {};
282
283/** @return {undefined} */
284jQuery.callbacks.prototype.lock = function() {};
285
286/** @return {boolean} */
287jQuery.callbacks.prototype.locked = function() {};
288
289/** @param {function()} callbacks */
290jQuery.callbacks.prototype.remove = function(callbacks) {};
291
292/**
293 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
294 * @param {function(!jQuery.Event)=} handler
295 * @return {!jQuery}
296 */
297jQuery.prototype.change = function(arg1, handler) {};
298
299/**
300 * @param {jQuerySelector=} selector
301 * @return {!jQuery}
302 * @nosideeffects
303 */
304jQuery.prototype.children = function(selector) {};
305
306/**
307 * @param {string=} queueName
308 * @return {!jQuery}
309 */
310jQuery.prototype.clearQueue = function(queueName) {};
311
312/**
313 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
314 * @param {function(!jQuery.Event)=} handler
315 * @return {!jQuery}
316 */
317jQuery.prototype.click = function(arg1, handler) {};
318
319/**
320 * @param {boolean=} withDataAndEvents
321 * @param {boolean=} deepWithDataAndEvents
322 * @return {!jQuery}
323 * @suppress {checkTypes} see https://code.google.com/p/closure-compiler/issues/detail?id=583
324 */
325jQuery.prototype.clone = function(withDataAndEvents, deepWithDataAndEvents) {};
326
327/**
328 * @param {(jQuerySelector|jQuery|Element|string)} arg1
329 * @param {Element=} context
330 * @return {!jQuery}
331 * @nosideeffects
332 */
333jQuery.prototype.closest = function(arg1, context) {};
334
335/**
336 * @param {Element} container
337 * @param {Element} contained
338 * @return {boolean}
339 */
340jQuery.contains = function(container, contained) {};
341
342/**
343 * @return {!jQuery}
344 * @nosideeffects
345 */
346jQuery.prototype.contents = function() {};
347
348/** @type {Element|Document} */
349jQuery.prototype.context;
350
351/**
352 * @param {(string|Object<string,*>)} arg1
353 * @param {(string|number|function(number,*))=} arg2
354 * @return {(string|!jQuery)}
355 */
356jQuery.prototype.css = function(arg1, arg2) {};
357
358/** @type {Object<string, *>} */
359jQuery.cssHooks;
360
361/**
362 * @param {Element} elem
363 * @param {string=} key
364 * @param {*=} value
365 * @return {*}
366 */
367jQuery.data = function(elem, key, value) {};
368
369/**
370 * @param {(string|Object<string, *>)=} arg1
371 * @param {*=} value
372 * @return {*}
373 */
374jQuery.prototype.data = function(arg1, value) {};
375
376/**
377 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
378 * @param {function(!jQuery.Event)=} handler
379 * @return {!jQuery}
380 */
381jQuery.prototype.dblclick = function(arg1, handler) {};
382
383/**
384 * @constructor
385 * @implements {jQuery.Promise}
386 * @param {function()=} opt_fn
387 * @see http://api.jquery.com/category/deferred-object/
388 */
389jQuery.deferred = function(opt_fn) {};
390
391/**
392 * @constructor
393 * @extends {jQuery.deferred}
394 * @param {function()=} opt_fn
395 * @return {!jQuery.Deferred}
396 */
397jQuery.Deferred = function(opt_fn) {};
398
399/**
400 * @override
401 * @param {jQueryCallback} alwaysCallbacks
402 * @param {jQueryCallback=} alwaysCallbacks2
403 * @return {!jQuery.deferred}
404 */
405jQuery.deferred.prototype.always
406 = function(alwaysCallbacks, alwaysCallbacks2) {};
407
408/**
409 * @override
410 * @param {jQueryCallback} doneCallbacks
411 * @param {jQueryCallback=} doneCallbacks2
412 * @return {!jQuery.deferred}
413 */
414jQuery.deferred.prototype.done = function(doneCallbacks, doneCallbacks2) {};
415
416/**
417 * @override
418 * @param {jQueryCallback} failCallbacks
419 * @param {jQueryCallback=} failCallbacks2
420 * @return {!jQuery.deferred}
421 */
422jQuery.deferred.prototype.fail = function(failCallbacks, failCallbacks2) {};
423
424/**
425 * @param {...*} var_args
426 * @return {!jQuery.deferred}
427 */
428jQuery.deferred.prototype.notify = function(var_args) {};
429
430/**
431 * @param {Object} context
432 * @param {...*} var_args
433 * @return {!jQuery.deferred}
434 */
435jQuery.deferred.prototype.notifyWith = function(context, var_args) {};
436
437/**
438 * @deprecated Please use deferred.then() instead.
439 * @override
440 * @param {function()=} doneFilter
441 * @param {function()=} failFilter
442 * @param {function()=} progressFilter
443 * @return {!jQuery.Promise}
444 */
445jQuery.deferred.prototype.pipe =
446 function(doneFilter, failFilter, progressFilter) {};
447
448/**
449 * @param {jQueryCallback} progressCallbacks
450 * @return {!jQuery.deferred}
451 */
452jQuery.deferred.prototype.progress = function(progressCallbacks) {};
453
454/**
455 * @param {Object=} target
456 * @return {!jQuery.Promise}
457 */
458jQuery.deferred.prototype.promise = function(target) {};
459
460/**
461 * @param {...*} var_args
462 * @return {!jQuery.deferred}
463 */
464jQuery.deferred.prototype.reject = function(var_args) {};
465
466/**
467 * @param {Object} context
468 * @param {Array<*>=} args
469 * @return {!jQuery.deferred}
470 */
471jQuery.deferred.prototype.rejectWith = function(context, args) {};
472
473/**
474 * @param {...*} var_args
475 * @return {!jQuery.deferred}
476 */
477jQuery.deferred.prototype.resolve = function(var_args) {};
478
479/**
480 * @param {Object} context
481 * @param {Array<*>=} args
482 * @return {!jQuery.deferred}
483 */
484jQuery.deferred.prototype.resolveWith = function(context, args) {};
485
486/** @return {string} */
487jQuery.deferred.prototype.state = function() {};
488
489/**
490 * @override
491 * @param {jQueryCallback} doneCallbacks
492 * @param {jQueryCallback=} failCallbacks
493 * @param {jQueryCallback=} progressCallbacks
494 * @return {!jQuery.deferred}
495 */
496jQuery.deferred.prototype.then
497 = function(doneCallbacks, failCallbacks, progressCallbacks) {};
498
499/**
500 * @param {number} duration
501 * @param {string=} queueName
502 * @return {!jQuery}
503 */
504jQuery.prototype.delay = function(duration, queueName) {};
505
506/**
507 * @param {string} selector
508 * @param {(string|Object<string,*>)} arg2
509 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg3
510 * @param {function(!jQuery.Event)=} handler
511 * @return {!jQuery}
512 */
513jQuery.prototype.delegate = function(selector, arg2, arg3, handler) {};
514
515/**
516 * @param {Element} elem
517 * @param {string=} queueName
518 */
519jQuery.dequeue = function(elem, queueName) {};
520
521/**
522 * @param {string=} queueName
523 * @return {!jQuery}
524 */
525jQuery.prototype.dequeue = function(queueName) {};
526
527/**
528 * @param {jQuerySelector=} selector
529 * @return {!jQuery}
530 */
531jQuery.prototype.detach = function(selector) {};
532
533/**
534 * @param {Object} collection
535 * @param {function((number|string),?)} callback
536 * @return {Object}
537 */
538jQuery.each = function(collection, callback) {};
539
540/**
541 * @param {function(number,Element)} fnc
542 * @return {!jQuery}
543 */
544jQuery.prototype.each = function(fnc) {};
545
546
547/** @return {!jQuery} */
548jQuery.prototype.empty = function() {};
549
550/**
551 * @return {!jQuery}
552 * @nosideeffects
553 */
554jQuery.prototype.end = function() {};
555
556/**
557 * @param {number} arg1
558 * @return {!jQuery}
559 */
560jQuery.prototype.eq = function(arg1) {};
561
562/** @param {string} message */
563jQuery.error = function(message) {};
564
565/**
566 * @deprecated Please use .on( "error", handler ) instead.
567 * @param {(function(!jQuery.Event)|Object<string, *>)} arg1
568 * @param {function(!jQuery.Event)=} handler
569 * @return {!jQuery}
570 */
571jQuery.prototype.error = function(arg1, handler) {};
572
573/** @const */
574jQuery.event = {};
575
576/** @type {Array<string>} */
577jQuery.event.props;
578
579/** @type {Object<string, Object>} */
580jQuery.event.special;
581
582/**
583 * @constructor
584 * @param {string} eventType
585 * @param {Object=} properties
586 * @return {!jQuery.Event}
587 */
588jQuery.Event = function(eventType, properties) {};
589
590/** @type {boolean} */
591jQuery.Event.prototype.altKey;
592
593/** @type {boolean} */
594jQuery.Event.prototype.bubbles;
595
596/** @type {number} */
597jQuery.Event.prototype.button;
598
599/** @type {boolean} */
600jQuery.Event.prototype.cancelable;
601
602/** @type {string} */
603jQuery.Event.prototype.charChode;
604
605/** @type {number} */
606jQuery.Event.prototype.clientX;
607
608/** @type {number} */
609jQuery.Event.prototype.clientY;
610
611/** @type {boolean} */
612jQuery.Event.prototype.ctrlKey;
613
614/** @type {Element} */
615jQuery.Event.prototype.currentTarget;
616
617/** @type {Object<string, *>} */
618jQuery.Event.prototype.data;
619
620/** @type {Element} */
621jQuery.Event.prototype.delegateTarget;
622
623/** @type {number} */
624jQuery.Event.prototype.detail;
625
626/** @type {number} */
627jQuery.Event.prototype.eventPhase;
628
629/**
630 * @return {boolean}
631 * @nosideeffects
632 */
633jQuery.Event.prototype.isDefaultPrevented = function() {};
634
635/**
636 * @return {boolean}
637 * @nosideeffects
638 */
639jQuery.Event.prototype.isImmediatePropagationStopped = function() {};
640
641/**
642 * @return {boolean}
643 * @nosideeffects
644 */
645jQuery.Event.prototype.isPropagationStopped = function() {};
646
647/** @type {boolean} */
648jQuery.Event.prototype.metaKey;
649
650/** @type {string} */
651jQuery.Event.prototype.namespace;
652
653/** @type {number} */
654jQuery.Event.prototype.offsetX;
655
656/** @type {number} */
657jQuery.Event.prototype.offsetY;
658
659/** @type {Event} */
660jQuery.Event.prototype.originalEvent;
661
662/** @type {Element} */
663jQuery.Event.prototype.originalTarget;
664
665/** @type {number} */
666jQuery.Event.prototype.pageX;
667
668/** @type {number} */
669jQuery.Event.prototype.pageY;
670
671/** @return {undefined} */
672jQuery.Event.prototype.preventDefault = function() {};
673
674/** @type {Object<string, *>} */
675jQuery.Event.prototype.props;
676
677/** @type {Element} */
678jQuery.Event.prototype.relatedTarget;
679
680/** @type {*} */
681jQuery.Event.prototype.result;
682
683/** @type {number} */
684jQuery.Event.prototype.screenX;
685
686/** @type {number} */
687jQuery.Event.prototype.screenY;
688
689/** @type {boolean} */
690jQuery.Event.prototype.shiftKey;
691
692/** @return {undefined} */
693jQuery.Event.prototype.stopImmediatePropagation = function() {};
694
695/** @return {undefined} */
696jQuery.Event.prototype.stopPropagation = function() {};
697
698/** @type {Element} */
699jQuery.Event.prototype.target;
700
701/** @type {number} */
702jQuery.Event.prototype.timeStamp;
703
704/** @type {string} */
705jQuery.Event.prototype.type;
706
707/** @type {Window} */
708jQuery.Event.prototype.view;
709
710/** @type {number} */
711jQuery.Event.prototype.which;
712
713/**
714 * @param {(Object|boolean)} arg1
715 * @param {...*} var_args
716 * @return {Object}
717 */
718jQuery.extend = function(arg1, var_args) {};
719
720/**
721 * @param {(Object|boolean)} arg1
722 * @param {...*} var_args
723 * @return {Object}
724 */
725jQuery.prototype.extend = function(arg1, var_args) {};
726
727/**
728 * @param {(string|number|function())=} duration
729 * @param {(function()|string)=} arg2
730 * @param {function()=} callback
731 * @return {!jQuery}
732 */
733jQuery.prototype.fadeIn = function(duration, arg2, callback) {};
734
735/**
736 * @param {(string|number|function())=} duration
737 * @param {(function()|string)=} arg2
738 * @param {function()=} callback
739 * @return {!jQuery}
740 */
741jQuery.prototype.fadeOut = function(duration, arg2, callback) {};
742
743/**
744 * @param {(string|number)} duration
745 * @param {number} opacity
746 * @param {(function()|string)=} arg3
747 * @param {function()=} callback
748 * @return {!jQuery}
749 */
750jQuery.prototype.fadeTo = function(duration, opacity, arg3, callback) {};
751
752/**
753 * @param {(string|number|function())=} duration
754 * @param {(string|function())=} easing
755 * @param {function()=} callback
756 * @return {!jQuery}
757 */
758jQuery.prototype.fadeToggle = function(duration, easing, callback) {};
759
760/**
761 * @param {(jQuerySelector|function(number,Element)|Element|jQuery)} arg1
762 * @return {!jQuery}
763 * @see http://api.jquery.com/filter/
764 */
765jQuery.prototype.filter = function(arg1) {};
766
767/**
768 * @param {(jQuerySelector|jQuery|Element)} arg1
769 * @return {!jQuery}
770 * @nosideeffects
771 */
772jQuery.prototype.find = function(arg1) {};
773
774/** @return {!jQuery} */
775jQuery.prototype.first = function() {};
776
777/** @see http://docs.jquery.com/Plugins/Authoring */
778jQuery.fn = jQuery.prototype;
779
780/**
781 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
782 * @param {function(!jQuery.Event)=} handler
783 * @return {!jQuery}
784 */
785jQuery.prototype.focus = function(arg1, handler) {};
786
787/**
788 * @param {(function(!jQuery.Event)|Object<string, *>)} arg1
789 * @param {function(!jQuery.Event)=} handler
790 * @return {!jQuery}
791 */
792jQuery.prototype.focusin = function(arg1, handler) {};
793
794/**
795 * @param {(function(!jQuery.Event)|Object<string, *>)} arg1
796 * @param {function(!jQuery.Event)=} handler
797 * @return {!jQuery}
798 */
799jQuery.prototype.focusout = function(arg1, handler) {};
800
801/** @const */
802jQuery.fx = {};
803
804/** @type {number} */
805jQuery.fx.interval;
806
807/** @type {boolean} */
808jQuery.fx.off;
809
810/**
811 * @param {string} url
812 * @param {(Object<string,*>|string|
813 * function(string,string,jQuery.jqXHR))=} data
814 * @param {(function(string,string,jQuery.jqXHR)|string)=} success
815 * @param {string=} dataType
816 * @return {!jQuery.jqXHR}
817 */
818jQuery.get = function(url, data, success, dataType) {};
819
820/**
821 * @param {number=} index
822 * @return {(Element|Array<Element>)}
823 * @nosideeffects
824 */
825jQuery.prototype.get = function(index) {};
826
827/**
828 * @param {string} url
829 * @param {(Object<string,*>|
830 * function(Object<string,*>,string,jQuery.jqXHR))=} data
831 * @param {function(Object<string,*>,string,jQuery.jqXHR)=} success
832 * @return {!jQuery.jqXHR}
833 * @see http://api.jquery.com/jquery.getjson/#jQuery-getJSON-url-data-success
834 */
835jQuery.getJSON = function(url, data, success) {};
836
837/**
838 * @param {string} url
839 * @param {function(Node,string,jQuery.jqXHR)=} success
840 * @return {!jQuery.jqXHR}
841 */
842jQuery.getScript = function(url, success) {};
843
844/** @param {string} code */
845jQuery.globalEval = function(code) {};
846
847/**
848 * @template T
849 * @param {!Array<T>} arr
850 * @param {function(*,number)} fnc
851 * @param {boolean=} invert
852 * @return {!Array<T>}
853 */
854jQuery.grep = function(arr, fnc, invert) {};
855
856/**
857 * @param {(string|Element)} arg1
858 * @return {!jQuery}
859 * @nosideeffects
860 */
861jQuery.prototype.has = function(arg1) {};
862
863/**
864 * @param {string} className
865 * @return {boolean}
866 * @nosideeffects
867 */
868jQuery.prototype.hasClass = function(className) {};
869
870/**
871 * @param {!Element} elem
872 * @return {boolean}
873 * @nosideeffects
874 */
875jQuery.hasData = function(elem) {};
876
877/**
878 * @param {(string|number|function(number,number))=} arg1
879 * @return {(number|!jQuery)}
880 */
881jQuery.prototype.height = function(arg1) {};
882
883/**
884 * @param {(string|number|function())=} duration
885 * @param {(function()|string)=} arg2
886 * @param {function()=} callback
887 * @return {!jQuery}
888 */
889jQuery.prototype.hide = function(duration, arg2, callback) {};
890
891/** @param {boolean} hold */
892jQuery.holdReady = function(hold) {};
893
894/**
895 * @param {function(!jQuery.Event)} arg1
896 * @param {function(!jQuery.Event)=} handlerOut
897 * @return {!jQuery}
898 */
899jQuery.prototype.hover = function(arg1, handlerOut) {};
900
901/**
902 * @param {(string|function(number,string))=} arg1
903 * @return {(string|!jQuery)}
904 */
905jQuery.prototype.html = function(arg1) {};
906
907/**
908 * @param {*} value
909 * @param {Array<*>} arr
910 * @param {number=} fromIndex
911 * @return {number}
912 * @nosideeffects
913 */
914jQuery.inArray = function(value, arr, fromIndex) {};
915
916/**
917 * @param {(jQuerySelector|Element|jQuery)=} arg1
918 * @return {number}
919 */
920jQuery.prototype.index = function(arg1) {};
921
922/**
923 * @return {number}
924 * @nosideeffects
925 */
926jQuery.prototype.innerHeight = function() {};
927
928/**
929 * @return {number}
930 * @nosideeffects
931 */
932jQuery.prototype.innerWidth = function() {};
933
934/**
935 * @param {(jQuerySelector|Element|jQuery)} target
936 * @return {!jQuery}
937 */
938jQuery.prototype.insertAfter = function(target) {};
939
940/**
941 * @param {(jQuerySelector|Element|jQuery)} target
942 * @return {!jQuery}
943 */
944jQuery.prototype.insertBefore = function(target) {};
945
946/**
947 * @param {(jQuerySelector|function(number)|jQuery|Element)} arg1
948 * @return {boolean}
949 */
950jQuery.prototype.is = function(arg1) {};
951
952/**
953 * @param {*} obj
954 * @return {boolean}
955 * @nosideeffects
956 */
957jQuery.isArray = function(obj) {};
958
959/**
960 * @param {Object} obj
961 * @return {boolean}
962 * @nosideeffects
963 */
964jQuery.isEmptyObject = function(obj) {};
965
966/**
967 * @param {*} obj
968 * @return {boolean}
969 * @nosideeffects
970 */
971jQuery.isFunction = function(obj) {};
972
973/**
974 * @param {*} value
975 * @return {boolean}
976 * @nosideeffects
977 */
978jQuery.isNumeric = function(value) {};
979
980/**
981 * @param {*} obj
982 * @return {boolean}
983 * @nosideeffects
984 */
985jQuery.isPlainObject = function(obj) {};
986
987/**
988 * @param {*} obj
989 * @return {boolean}
990 * @nosideeffects
991 */
992jQuery.isWindow = function(obj) {};
993
994/**
995 * @param {Element} node
996 * @return {boolean}
997 * @nosideeffects
998 */
999jQuery.isXMLDoc = function(node) {};
1000
1001/** @type {string} */
1002jQuery.prototype.jquery;
1003
1004/**
1005 * @constructor
1006 * @extends {XMLHttpRequest}
1007 * @implements {jQuery.Promise}
1008 * @private
1009 * @see http://api.jquery.com/jQuery.ajax/#jqXHR
1010 */
1011jQuery.jqXHR = function () {};
1012
1013/**
1014 * @override
1015 * @param {jQueryCallback} alwaysCallbacks
1016 * @param {jQueryCallback=} alwaysCallbacks2
1017 * @return {!jQuery.jqXHR}
1018 */
1019jQuery.jqXHR.prototype.always =
1020 function(alwaysCallbacks, alwaysCallbacks2) {};
1021
1022/**
1023 * @deprecated
1024 * @param {function()} callback
1025 * @return {!jQuery.jqXHR}
1026*/
1027jQuery.jqXHR.prototype.complete = function (callback) {};
1028
1029/**
1030 * @override
1031 * @param {jQueryCallback} doneCallbacks
1032 * @return {!jQuery.jqXHR}
1033 */
1034jQuery.jqXHR.prototype.done = function(doneCallbacks) {};
1035
1036/**
1037 * @deprecated
1038 * @param {function()} callback
1039 * @return {!jQuery.jqXHR}
1040*/
1041jQuery.jqXHR.prototype.error = function (callback) {};
1042
1043/**
1044 * @override
1045 * @param {jQueryCallback} failCallbacks
1046 * @return {!jQuery.jqXHR}
1047 */
1048jQuery.jqXHR.prototype.fail = function(failCallbacks) {};
1049
1050/**
1051 * @deprecated
1052 * @override
1053 */
1054jQuery.jqXHR.prototype.onreadystatechange = function (callback) {};
1055
1056/**
1057 * @override
1058 * @param {function()=} doneFilter
1059 * @param {function()=} failFilter
1060 * @param {function()=} progressFilter
1061 * @return {!jQuery.jqXHR}
1062 */
1063jQuery.jqXHR.prototype.pipe =
1064 function(doneFilter, failFilter, progressFilter) {};
1065
1066/**
1067 * @deprecated
1068 * @param {function()} callback
1069 * @return {!jQuery.jqXHR}
1070*/
1071jQuery.jqXHR.prototype.success = function (callback) {};
1072
1073/**
1074 * @override
1075 * @param {jQueryCallback} doneCallbacks
1076 * @param {jQueryCallback=} failCallbacks
1077 * @param {jQueryCallback=} progressCallbacks
1078 * @return {!jQuery.jqXHR}
1079 */
1080jQuery.jqXHR.prototype.then =
1081 function(doneCallbacks, failCallbacks, progressCallbacks) {};
1082
1083/**
1084 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1085 * @param {function(!jQuery.Event)=} handler
1086 * @return {!jQuery}
1087 */
1088jQuery.prototype.keydown = function(arg1, handler) {};
1089
1090/**
1091 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1092 * @param {function(!jQuery.Event)=} handler
1093 * @return {!jQuery}
1094 */
1095jQuery.prototype.keypress = function(arg1, handler) {};
1096
1097/**
1098 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1099 * @param {function(!jQuery.Event)=} handler
1100 * @return {!jQuery}
1101 */
1102jQuery.prototype.keyup = function(arg1, handler) {};
1103
1104/** @return {!jQuery} */
1105jQuery.prototype.last = function() {};
1106
1107/** @type {number} */
1108jQuery.prototype.length;
1109
1110/**
1111 * @deprecated Please avoid the document loading Event invocation of
1112 * .load() and use .on( "load", handler ) instead. (The AJAX
1113 * module invocation signature is OK.)
1114 * @param {(function(!jQuery.Event)|Object<string, *>|string)} arg1
1115 * @param {(function(!jQuery.Event)|Object<string,*>|string)=} arg2
1116 * @param {function(string,string,XMLHttpRequest)=} complete
1117 * @return {!jQuery}
1118 */
1119jQuery.prototype.load = function(arg1, arg2, complete) {};
1120
1121/**
1122 * @param {*} obj
1123 * @return {Array<*>}
1124 */
1125jQuery.makeArray = function(obj) {};
1126
1127/**
1128 * @param {(Array<*>|Object<string, *>)} arg1
1129 * @param {(function(*,number)|function(*,(string|number)))} callback
1130 * @return {Array<*>}
1131 */
1132jQuery.map = function(arg1, callback) {};
1133
1134/**
1135 * @param {function(number,Element)} callback
1136 * @return {!jQuery}
1137 */
1138jQuery.prototype.map = function(callback) {};
1139
1140/**
1141 * @param {Array<*>} first
1142 * @param {Array<*>} second
1143 * @return {Array<*>}
1144 */
1145jQuery.merge = function(first, second) {};
1146
1147/**
1148 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1149 * @param {function(!jQuery.Event)=} handler
1150 * @return {!jQuery}
1151 */
1152jQuery.prototype.mousedown = function(arg1, handler) {};
1153
1154/**
1155 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1156 * @param {function(!jQuery.Event)=} handler
1157 * @return {!jQuery}
1158 */
1159jQuery.prototype.mouseenter = function(arg1, handler) {};
1160
1161/**
1162 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1163 * @param {function(!jQuery.Event)=} handler
1164 * @return {!jQuery}
1165 */
1166jQuery.prototype.mouseleave = function(arg1, handler) {};
1167
1168/**
1169 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1170 * @param {function(!jQuery.Event)=} handler
1171 * @return {!jQuery}
1172 */
1173jQuery.prototype.mousemove = function(arg1, handler) {};
1174
1175/**
1176 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1177 * @param {function(!jQuery.Event)=} handler
1178 * @return {!jQuery}
1179 */
1180jQuery.prototype.mouseout = function(arg1, handler) {};
1181
1182/**
1183 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1184 * @param {function(!jQuery.Event)=} handler
1185 * @return {!jQuery}
1186 */
1187jQuery.prototype.mouseover = function(arg1, handler) {};
1188
1189/**
1190 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1191 * @param {function(!jQuery.Event)=} handler
1192 * @return {!jQuery}
1193 */
1194jQuery.prototype.mouseup = function(arg1, handler) {};
1195
1196/**
1197 * @param {jQuerySelector=} selector
1198 * @return {!jQuery}
1199 * @nosideeffects
1200 */
1201jQuery.prototype.next = function(selector) {};
1202
1203/**
1204 * @param {string=} selector
1205 * @return {!jQuery}
1206 * @nosideeffects
1207 */
1208jQuery.prototype.nextAll = function(selector) {};
1209
1210/**
1211 * @param {(jQuerySelector|Element)=} arg1
1212 * @param {jQuerySelector=} filter
1213 * @return {!jQuery}
1214 * @nosideeffects
1215 */
1216jQuery.prototype.nextUntil = function(arg1, filter) {};
1217
1218/**
1219 * @param {boolean=} removeAll
1220 * @return {Object}
1221 */
1222jQuery.noConflict = function(removeAll) {};
1223
1224/**
1225 * @return {function()}
1226 * @nosideeffects
1227 */
1228jQuery.noop = function() {};
1229
1230/**
1231 * @param {(jQuerySelector|Array<Element>|function(number)|jQuery)} arg1
1232 * @return {!jQuery}
1233 */
1234jQuery.prototype.not = function(arg1) {};
1235
1236/**
1237 * @return {number}
1238 * @nosideeffects
1239 */
1240jQuery.now = function() {};
1241
1242/**
1243 * @param {(string|Object<string,*>)=} arg1
1244 * @param {(string|function(!jQuery.Event))=} selector
1245 * @param {function(!jQuery.Event)=} handler
1246 * @return {!jQuery}
1247 */
1248jQuery.prototype.off = function(arg1, selector, handler) {};
1249
1250/**
1251 * @param {({left:number,top:number}|
1252 * function(number,{top:number,left:number}))=} arg1
1253 * @return {({left:number,top:number}|!jQuery)}
1254 */
1255jQuery.prototype.offset = function(arg1) {};
1256
1257/**
1258 * @return {!jQuery}
1259 * @nosideeffects
1260 */
1261jQuery.prototype.offsetParent = function() {};
1262
1263/**
1264 * @param {(string|Object<string,*>)} arg1
1265 * @param {*=} selector
1266 * @param {*=} data
1267 * @param {function(!jQuery.Event)=} handler
1268 * @return {!jQuery}
1269 */
1270jQuery.prototype.on = function(arg1, selector, data, handler) {};
1271
1272/**
1273 * @param {(string|Object<string,*>)} arg1
1274 * @param {*=} arg2
1275 * @param {*=} arg3
1276 * @param {function(!jQuery.Event)=} handler
1277 * @return {!jQuery}
1278 */
1279jQuery.prototype.one = function(arg1, arg2, arg3, handler) {};
1280
1281/**
1282 * @param {boolean=} includeMargin
1283 * @return {number}
1284 * @nosideeffects
1285 */
1286jQuery.prototype.outerHeight = function(includeMargin) {};
1287
1288/**
1289 * @param {boolean=} includeMargin
1290 * @return {number}
1291 * @nosideeffects
1292 */
1293jQuery.prototype.outerWidth = function(includeMargin) {};
1294
1295/**
1296 * @param {(Object<string, *>|Array<Object<string, *>>)} obj
1297 * @param {boolean=} traditional
1298 * @return {string}
1299 */
1300jQuery.param = function(obj, traditional) {};
1301
1302/**
1303 * @param {jQuerySelector=} selector
1304 * @return {!jQuery}
1305 * @nosideeffects
1306 */
1307jQuery.prototype.parent = function(selector) {};
1308
1309/**
1310 * @param {jQuerySelector=} selector
1311 * @return {!jQuery}
1312 * @nosideeffects
1313 */
1314jQuery.prototype.parents = function(selector) {};
1315
1316/**
1317 * @param {(jQuerySelector|Element)=} arg1
1318 * @param {jQuerySelector=} filter
1319 * @return {!jQuery}
1320 * @nosideeffects
1321 */
1322jQuery.prototype.parentsUntil = function(arg1, filter) {};
1323
1324/**
1325 * @param {string} data
1326 * @param {(Element|boolean)=} context
1327 * @param {boolean=} keepScripts
1328 * @return {Array<Element>}
1329 */
1330jQuery.parseHTML = function(data, context, keepScripts) {};
1331
1332/**
1333 * @param {string} json
1334 * @return {string|number|Object<string, *>|Array<?>|boolean}
1335 */
1336jQuery.parseJSON = function(json) {};
1337
1338/**
1339 * @param {string} data
1340 * @return {Document}
1341 */
1342jQuery.parseXML = function(data) {};
1343
1344/**
1345 * @return {{left:number,top:number}}
1346 * @nosideeffects
1347 */
1348jQuery.prototype.position = function() {};
1349
1350/**
1351 * @param {string} url
1352 * @param {(Object<string,*>|string|
1353 * function(string,string,jQuery.jqXHR))=} data
1354 * @param {(function(string,string,jQuery.jqXHR)|string|null)=} success
1355 * @param {string=} dataType
1356 * @return {!jQuery.jqXHR}
1357 */
1358jQuery.post = function(url, data, success, dataType) {};
1359/**
1360 * @param {(string|Element|jQuery|function(number,string))} arg1
1361 * @param {(string|Element|jQuery)=} content
1362 * @return {!jQuery}
1363 */
1364jQuery.prototype.prepend = function(arg1, content) {};
1365
1366/**
1367 * @param {(jQuerySelector|Element|jQuery)} target
1368 * @return {!jQuery}
1369 */
1370jQuery.prototype.prependTo = function(target) {};
1371
1372/**
1373 * @param {jQuerySelector=} selector
1374 * @return {!jQuery}
1375 * @nosideeffects
1376 */
1377jQuery.prototype.prev = function(selector) {};
1378
1379/**
1380 * @param {jQuerySelector=} selector
1381 * @return {!jQuery}
1382 * @nosideeffects
1383 */
1384jQuery.prototype.prevAll = function(selector) {};
1385
1386/**
1387 * @param {(jQuerySelector|Element)=} arg1
1388 * @param {jQuerySelector=} filter
1389 * @return {!jQuery}
1390 * @nosideeffects
1391 */
1392jQuery.prototype.prevUntil = function(arg1, filter) {};
1393
1394/**
1395 * @param {(string|Object)=} type
1396 * @param {Object=} target
1397 * @return {!jQuery.Promise}
1398 */
1399jQuery.prototype.promise = function(type, target) {};
1400
1401/**
1402 * @interface
1403 * @private
1404 * @see http://api.jquery.com/Types/#Promise
1405 */
1406jQuery.Promise = function () {};
1407
1408/**
1409 * @param {jQueryCallback} alwaysCallbacks
1410 * @param {jQueryCallback=} alwaysCallbacks2
1411 * @return {!jQuery.Promise}
1412 */
1413jQuery.Promise.prototype.always =
1414 function(alwaysCallbacks, alwaysCallbacks2) {};
1415
1416/**
1417 * @param {jQueryCallback} doneCallbacks
1418 * @return {!jQuery.Promise}
1419 */
1420jQuery.Promise.prototype.done = function(doneCallbacks) {};
1421
1422/**
1423 * @param {jQueryCallback} failCallbacks
1424 * @return {!jQuery.Promise}
1425 */
1426jQuery.Promise.prototype.fail = function(failCallbacks) {};
1427
1428/**
1429 * @param {function()=} doneFilter
1430 * @param {function()=} failFilter
1431 * @param {function()=} progressFilter
1432 * @return {!jQuery.Promise}
1433 */
1434jQuery.Promise.prototype.pipe =
1435 function(doneFilter, failFilter, progressFilter) {};
1436
1437/**
1438 * @param {jQueryCallback} doneCallbacks
1439 * @param {jQueryCallback=} failCallbacks
1440 * @param {jQueryCallback=} progressCallbacks
1441 * @return {!jQuery.Promise}
1442 */
1443jQuery.Promise.prototype.then =
1444 function(doneCallbacks, failCallbacks, progressCallbacks) {};
1445
1446/**
1447 * @param {(string|Object<string,*>)} arg1
1448 * @param {(string|number|boolean|function(number,String))=} arg2
1449 * @return {(string|boolean|!jQuery)}
1450 */
1451jQuery.prototype.prop = function(arg1, arg2) {};
1452
1453/**
1454 * @param {...*} var_args
1455 * @return {function()}
1456 */
1457jQuery.proxy = function(var_args) {};
1458
1459/**
1460 * @param {Array<Element>} elements
1461 * @param {string=} name
1462 * @param {Array<*>=} args
1463 * @return {!jQuery}
1464 */
1465jQuery.prototype.pushStack = function(elements, name, args) {};
1466
1467/**
1468 * @param {(string|Array<function()>|function(function()))=} queueName
1469 * @param {(Array<function()>|function(function()))=} arg2
1470 * @return {(Array<Element>|!jQuery)}
1471 */
1472jQuery.prototype.queue = function(queueName, arg2) {};
1473
1474/**
1475 * @param {Element} elem
1476 * @param {string=} queueName
1477 * @param {(Array<function()>|function())=} arg3
1478 * @return {(Array<Element>|!jQuery)}
1479 */
1480jQuery.queue = function(elem, queueName, arg3) {};
1481
1482/**
1483 * @param {function()} handler
1484 * @return {!jQuery}
1485 */
1486jQuery.prototype.ready = function(handler) {};
1487
1488/**
1489 * @param {string=} selector
1490 * @return {!jQuery}
1491 */
1492jQuery.prototype.remove = function(selector) {};
1493
1494/**
1495 * @param {string} attributeName
1496 * @return {!jQuery}
1497 */
1498jQuery.prototype.removeAttr = function(attributeName) {};
1499
1500/**
1501 * @param {(string|function(number,string))=} arg1
1502 * @return {!jQuery}
1503 */
1504jQuery.prototype.removeClass = function(arg1) {};
1505
1506/**
1507 * @param {(string|Array<string>)=} arg1
1508 * @return {!jQuery}
1509 */
1510jQuery.prototype.removeData = function(arg1) {};
1511
1512/**
1513 * @param {Element} elem
1514 * @param {string=} name
1515 * @return {!jQuery}
1516 */
1517jQuery.removeData = function(elem, name) {};
1518
1519/**
1520 * @param {string} propertyName
1521 * @return {!jQuery}
1522 */
1523jQuery.prototype.removeProp = function(propertyName) {};
1524
1525/**
1526 * @param {jQuerySelector} target
1527 * @return {!jQuery}
1528 */
1529jQuery.prototype.replaceAll = function(target) {};
1530
1531/**
1532 * @param {(string|Element|jQuery|function())} arg1
1533 * @return {!jQuery}
1534 */
1535jQuery.prototype.replaceWith = function(arg1) {};
1536
1537/**
1538 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1539 * @param {function(!jQuery.Event)=} handler
1540 * @return {!jQuery}
1541 */
1542jQuery.prototype.resize = function(arg1, handler) {};
1543
1544/**
1545 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1546 * @param {function(!jQuery.Event)=} handler
1547 * @return {!jQuery}
1548 */
1549jQuery.prototype.scroll = function(arg1, handler) {};
1550
1551/**
1552 * @param {number=} value
1553 * @return {(number|!jQuery)}
1554 */
1555jQuery.prototype.scrollLeft = function(value) {};
1556
1557/**
1558 * @param {number=} value
1559 * @return {(number|!jQuery)}
1560 */
1561jQuery.prototype.scrollTop = function(value) {};
1562
1563/**
1564 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1565 * @param {function(!jQuery.Event)=} handler
1566 * @return {!jQuery}
1567 */
1568jQuery.prototype.select = function(arg1, handler) {};
1569
1570/**
1571 * @return {string}
1572 * @nosideeffects
1573 */
1574jQuery.prototype.serialize = function() {};
1575
1576/**
1577 * @return {Array<Object<string, *>>}
1578 * @nosideeffects
1579 */
1580jQuery.prototype.serializeArray = function() {};
1581
1582/**
1583 * @param {(string|number|function())=} duration
1584 * @param {(function()|string)=} arg2
1585 * @param {function()=} callback
1586 * @return {!jQuery}
1587 */
1588jQuery.prototype.show = function(duration, arg2, callback) {};
1589
1590/**
1591 * @param {jQuerySelector=} selector
1592 * @return {!jQuery}
1593 * @nosideeffects
1594 */
1595jQuery.prototype.siblings = function(selector) {};
1596
1597/**
1598 * @deprecated Please use the .length property instead.
1599 * @return {number}
1600 * @nosideeffects
1601 */
1602jQuery.prototype.size = function() {};
1603
1604/**
1605 * @param {number} start
1606 * @param {number=} end
1607 * @return {!jQuery}
1608 */
1609jQuery.prototype.slice = function(start, end) {};
1610
1611/**
1612 * @param {(Object<string,*>|string|number)=} optionsOrDuration
1613 * @param {(function()|string)=} completeOrEasing
1614 * @param {function()=} complete
1615 * @return {!jQuery}
1616 */
1617jQuery.prototype.slideDown =
1618 function(optionsOrDuration, completeOrEasing, complete) {};
1619
1620/**
1621 * @param {(Object<string,*>|string|number)=} optionsOrDuration
1622 * @param {(function()|string)=} completeOrEasing
1623 * @param {function()=} complete
1624 * @return {!jQuery}
1625 */
1626jQuery.prototype.slideToggle =
1627 function(optionsOrDuration, completeOrEasing, complete) {};
1628
1629/**
1630 * @param {(Object<string,*>|string|number)=} optionsOrDuration
1631 * @param {(function()|string)=} completeOrEasing
1632 * @param {function()=} complete
1633 * @return {!jQuery}
1634 */
1635jQuery.prototype.slideUp =
1636 function(optionsOrDuration, completeOrEasing, complete) {};
1637
1638/**
1639 * @param {(boolean|string)=} arg1
1640 * @param {boolean=} arg2
1641 * @param {boolean=} jumpToEnd
1642 * @return {!jQuery}
1643 */
1644jQuery.prototype.stop = function(arg1, arg2, jumpToEnd) {};
1645
1646/**
1647 * @param {(function(!jQuery.Event)|Object<string, *>)=} arg1
1648 * @param {function(!jQuery.Event)=} handler
1649 * @return {!jQuery}
1650 */
1651jQuery.prototype.submit = function(arg1, handler) {};
1652
1653/** @type {Object<string, *>}
1654 * @deprecated Please try to use feature detection instead.
1655 */
1656jQuery.support;
1657
1658/**
1659 * @deprecated Please try to use feature detection instead.
1660 * @type {boolean}
1661 */
1662jQuery.support.boxModel;
1663
1664/** @type {boolean} */
1665jQuery.support.changeBubbles;
1666
1667/** @type {boolean} */
1668jQuery.support.cors;
1669
1670/** @type {boolean} */
1671jQuery.support.cssFloat;
1672
1673/** @type {boolean} */
1674jQuery.support.hrefNormalized;
1675
1676/** @type {boolean} */
1677jQuery.support.htmlSerialize;
1678
1679/** @type {boolean} */
1680jQuery.support.leadingWhitespace;
1681
1682/** @type {boolean} */
1683jQuery.support.noCloneEvent;
1684
1685/** @type {boolean} */
1686jQuery.support.opacity;
1687
1688/** @type {boolean} */
1689jQuery.support.style;
1690
1691/** @type {boolean} */
1692jQuery.support.submitBubbles;
1693
1694/** @type {boolean} */
1695jQuery.support.tbody;
1696
1697/**
1698 * @param {(string|number|boolean|function(number,string))=} arg1
1699 * @return {(string|!jQuery)}
1700 */
1701jQuery.prototype.text = function(arg1) {};
1702
1703/**
1704 * @return {Array<Element>}
1705 * @nosideeffects
1706 */
1707jQuery.prototype.toArray = function() {};
1708
1709/**
1710 * Refers to the method from the Effects category. There used to be a toggle
1711 * method on the Events category which was removed starting version 1.9.
1712 * @param {(number|string|Object<string,*>|boolean)=} arg1
1713 * @param {(function()|string)=} arg2
1714 * @param {function()=} arg3
1715 * @return {!jQuery}
1716 */
1717jQuery.prototype.toggle = function(arg1, arg2, arg3) {};
1718
1719/**
1720 * @param {(string|boolean|function(number,string,boolean))=} arg1
1721 * @param {boolean=} flag
1722 * @return {!jQuery}
1723 */
1724jQuery.prototype.toggleClass = function(arg1, flag) {};
1725
1726/**
1727 * @param {(string|jQuery.Event)} arg1
1728 * @param {...*} var_args
1729 * @return {!jQuery}
1730 */
1731jQuery.prototype.trigger = function(arg1, var_args) {};
1732
1733/**
1734 * @param {string|jQuery.Event} eventType
1735 * @param {Array<*>=} extraParameters
1736 * @return {*}
1737 */
1738jQuery.prototype.triggerHandler = function(eventType, extraParameters) {};
1739
1740/**
1741 * @param {string} str
1742 * @return {string}
1743 * @nosideeffects
1744 */
1745jQuery.trim = function(str) {};
1746
1747/**
1748 * @param {*} obj
1749 * @return {string}
1750 * @nosideeffects
1751 */
1752jQuery.type = function(obj) {};
1753
1754/**
1755 * @param {(string|function(!jQuery.Event)|jQuery.Event)=} arg1
1756 * @param {(function(!jQuery.Event)|boolean)=} arg2
1757 * @return {!jQuery}
1758 */
1759jQuery.prototype.unbind = function(arg1, arg2) {};
1760
1761/**
1762 * @param {string=} arg1
1763 * @param {(string|Object<string,*>)=} arg2
1764 * @param {function(!jQuery.Event)=} handler
1765 * @return {!jQuery}
1766 */
1767jQuery.prototype.undelegate = function(arg1, arg2, handler) {};
1768
1769/**
1770 * @param {Array<Element>} arr
1771 * @return {Array<Element>}
1772 */
1773jQuery.unique = function(arr) {};
1774
1775/**
1776 * @deprecated Please use .on( "unload", handler ) instead.
1777 * @param {(function(!jQuery.Event)|Object<string, *>)} arg1
1778 * @param {function(!jQuery.Event)=} handler
1779 * @return {!jQuery}
1780 */
1781jQuery.prototype.unload = function(arg1, handler) {};
1782
1783/** @return {!jQuery} */
1784jQuery.prototype.unwrap = function() {};
1785
1786/**
1787 * @param {(string|Array<string>|function(number,*))=} arg1
1788 * @return {(string|number|Array<string>|!jQuery)}
1789 */
1790jQuery.prototype.val = function(arg1) {};
1791
1792/**
1793 * Note: The official documentation (https://api.jquery.com/jQuery.when/) says
1794 * jQuery.when accepts deferreds, but it actually accepts any type, e.g.:
1795 *
1796 * jQuery.when(jQuery.ready, jQuery.ajax(''), jQuery('#my-element'), 1)
1797 *
1798 * If an argument is not an "observable" (a promise-like object) it is wrapped
1799 * into a promise.
1800 * @param {*} deferred
1801 * @param {...*} deferreds
1802 * @return {!jQuery.Promise}
1803 */
1804jQuery.when = function(deferred, deferreds) {};
1805
1806/**
1807 * @param {(string|number|function(number,number))=} arg1
1808 * @return {(number|!jQuery)}
1809 */
1810jQuery.prototype.width = function(arg1) {};
1811
1812/**
1813 * @param {(string|jQuerySelector|Element|jQuery|function(number))} arg1
1814 * @return {!jQuery}
1815 */
1816jQuery.prototype.wrap = function(arg1) {};
1817
1818/**
1819 * @param {(string|jQuerySelector|Element|jQuery)} wrappingElement
1820 * @return {!jQuery}
1821 */
1822jQuery.prototype.wrapAll = function(wrappingElement) {};
1823
1824/**
1825 * @param {(string|jQuerySelector|Element|jQuery|function(number))} arg1
1826 * @return {!jQuery}
1827 */
1828jQuery.prototype.wrapInner = function(arg1) {};