diff --git a/typeahead/typeahead.d.ts b/typeahead/typeahead.d.ts
index 8164d430e..aa1db2b44 100644
--- a/typeahead/typeahead.d.ts
+++ b/typeahead/typeahead.d.ts
@@ -6,148 +6,706 @@
///
interface JQuery {
-
- /**
- * Destroys previously initialized typeaheads. This entails reverting
- * DOM modifications and removing event handlers.
- *
- * @constructor
- * @param methodName Method 'destroy'
- */
- typeahead(methodName: 'destroy'): JQuery;
-
- /**
- * Opens the dropdown menu of typeahead. Note that being open does not mean that the menu is visible.
- * The menu is only visible when it is open and has content.
- *
- * @constructor
- * @param methodName Method 'open'
- */
- typeahead(methodName: 'open'): JQuery;
-
- /**
- * Closes the dropdown menu of typeahead.
- *
- * @constructor
- * @param methodName Method 'close'
- */
- typeahead(methodName: 'close'): JQuery;
-
- /**
- * Returns the current value of the typeahead.
- * The value is the text the user has entered into the input element.
- *
- * @constructor
- * @param methodName Method 'val'
- */
- typeahead(methodName: 'val'): string;
-
- /**
- * Sets the value of the typeahead. This should be used in place of jQuery#val.
- *
- * @constructor
- * @param methodName Method 'val'
- * @param query The value to be set
- */
- typeahead(methodName: 'val', val: string): JQuery;
-
- /**
- * Accommodates the val overload.
- *
- * @constructor
- * @param methodName Method name ('val')
- */
- typeahead(methodName: string): string;
-
-
- /**
- * Accommodates multiple overloads.
- *
- * @constructor
- * @param methodName Method name
- * @param query The query to be set in case method 'val' is used.
- */
- typeahead(methodName: string, query: string): JQuery;
-
- /**
- * Accomodates specifying options such as hint and highlight.
- * This is in correspondence to the examples mentioned in http://twitter.github.io/typeahead.js/examples/
- *
- * @constructor
- * @param options ('hint' or 'highlight' or 'minLength' all of which are optional)
- * @param datasets Array of datasets
- */
- typeahead(options: Twitter.Typeahead.Options, datasets: Twitter.Typeahead.Dataset[]): JQuery;
-
- /**
- * Accomodates specifying options such as hint and highlight.
- * This is in correspondence to the examples mentioned in http://twitter.github.io/typeahead.js/examples/
- *
- * @constructor
- * @param options ('hint' or 'highlight' or 'minLength' all of which are optional)
- * @param datasets One or more datasets passed in as arguments.
- */
- typeahead(options: Twitter.Typeahead.Options, ...datasets: Twitter.Typeahead.Dataset[]): JQuery;
-
- on(events: "typeahead:active", selector: string, data: any, handler: (ev: JQueryEventObject) => any): JQuery;
- on(events: "typeahead:active", selector: string, handler: (ev: JQueryEventObject) => any): JQuery;
- on(events: "typeahead:active", handler: (ev: JQueryEventObject) => any): JQuery;
- off(events: "typeahead:active", handler: (ev: JQueryEventObject) => any): JQuery;
-
- on(events: "typeahead:idle", selector: string, data: any, handler: (ev: JQueryEventObject) => any): JQuery;
- on(events: "typeahead:idle", selector: string, handler: (ev: JQueryEventObject) => any): JQuery;
- on(events: "typeahead:idle", handler: (ev: JQueryEventObject) => any): JQuery;
- off(events: "typeahead:idle", handler: (ev: JQueryEventObject) => any): JQuery;
-
- on(events: "typeahead:open", selector: string, data: any, handler: (ev: JQueryEventObject) => any): JQuery;
- on(events: "typeahead:open", selector: string, handler: (ev: JQueryEventObject) => any): JQuery;
- on(events: "typeahead:open", handler: (ev: JQueryEventObject) => any): JQuery;
- off(events: "typeahead:open", handler: (ev: JQueryEventObject) => any): JQuery;
-
- on(events: "typeahead:close", selector: string, data: any, handler: (ev: JQueryEventObject) => any): JQuery;
- on(events: "typeahead:close", selector: string, handler: (ev: JQueryEventObject) => any): JQuery;
- on(events: "typeahead:close", handler: (ev: JQueryEventObject) => any): JQuery;
- off(events: "typeahead:close", handler: (ev: JQueryEventObject) => any): JQuery;
-
- on(events: "typeahead:change", selector: string, data: any, handler: (ev: JQueryEventObject) => any): JQuery;
- on(events: "typeahead:change", selector: string, handler: (ev: JQueryEventObject) => any): JQuery;
- on(events: "typeahead:change", handler: (ev: JQueryEventObject) => any): JQuery;
- off(events: "typeahead:change", handler: (ev: JQueryEventObject) => any): JQuery;
-
- on(events: "typeahead:render", selector: string, data: any, handler: (ev: JQueryEventObject, suggestions: Array, async: boolean, datasetName: string) => any): JQuery;
- on(events: "typeahead:render", selector: string, handler: (ev: JQueryEventObject, suggestions: Array, async: boolean, datasetName: string) => any): JQuery;
- on(events: "typeahead:render", handler: (ev: JQueryEventObject, suggestions: Array, async: boolean, datasetName: string) => any): JQuery;
- off(events: "typeahead:render", handler: (ev: JQueryEventObject, suggestions: Array, async: boolean, datasetName: string) => any): JQuery;
-
- on(events: "typeahead:select", selector: string, data: any, handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
- on(events: "typeahead:select", selector: string, handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
- on(events: "typeahead:select", handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
- off(events: "typeahead:select", handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
-
- on(events: "typeahead:autocomplete", selector: string, data: any, handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
- on(events: "typeahead:autocomplete", selector: string, handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
- on(events: "typeahead:autocomplete", handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
- off(events: "typeahead:autocomplete", handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
-
- on(events: "typeahead:cursorchange", selector: string, data: any, handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
- on(events: "typeahead:cursorchange", selector: string, handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
- on(events: "typeahead:cursorchange", handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
- off(events: "typeahead:cursorchange", handler: (ev: JQueryEventObject, suggestion: any) => any): JQuery;
-
- on(events: "typeahead:asyncrequest", selector: string, data: any, handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
- on(events: "typeahead:asyncrequest", selector: string, handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
- on(events: "typeahead:asyncrequest", handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
- off(events: "typeahead:asyncrequest", handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
-
- on(events: "typeahead:asynccancel", selector: string, data: any, handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
- on(events: "typeahead:asynccancel", selector: string, handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
- on(events: "typeahead:asynccancel", handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
- off(events: "typeahead:asynccancel", handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
-
- on(events: "typeahead:asyncreceive", selector: string, data: any, handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
- on(events: "typeahead:asyncreceive", selector: string, handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
- on(events: "typeahead:asyncreceive", handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
- off(events: "typeahead:asyncreceive", handler: (ev: JQueryEventObject, query: string, datasetName: string) => any): JQuery;
+ /**
+ * For a given input[type="text"], enables typeahead functionality.
+ *
+ * @constructor
+ * @param options Options hash that's used for configuration
+ * @param datasets Array of datasets
+ */
+ typeahead(options: Twitter.Typeahead.Options, datasets: Twitter.Typeahead.Dataset[]): JQuery;
+
+ /**
+ * For a given input[type="text"], enables typeahead functionality.
+ *
+ * @constructor
+ * @param options Options hash that's used for configuration
+ * @param datasets One or more datasets passed as rest parameters.
+ */
+ typeahead(options: Twitter.Typeahead.Options, ...datasets: Twitter.Typeahead.Dataset[]): JQuery;
+
+ /**
+ * Returns the current value of the typeahead.
+ * The value is the text the user has entered into the input element.
+ *
+ * @constructor
+ * @param methodName Method 'val'
+ */
+ typeahead(methodName: 'val'): string;
+
+ /**
+ * Accommodates the val overload.
+ *
+ * @constructor
+ * @param methodName Method 'val'
+ */
+ typeahead(methodName: string): string;
+
+ /**
+ * Sets the value of the typeahead. This should be used in place of jQuery#val.
+ *
+ * @constructor
+ * @param methodName Method 'val'
+ * @param val The value to be set
+ */
+ typeahead(methodName: 'val', val: string): JQuery;
+
+ /**
+ * Accommodates the set val overload.
+ *
+ * @constructor
+ * @param methodName Method 'val'
+ * @param val The value to be set
+ */
+ typeahead(methodName: string, val: string): JQuery;
+
+ /**
+ * Opens the suggestion menu.
+ *
+ * @constructor
+ * @param methodName Method 'open'
+ */
+ typeahead(methodName: 'open'): JQuery;
+
+ /**
+ * Closes the suggestion menu.
+ *
+ * @constructor
+ * @param methodName Method 'close'
+ */
+ typeahead(methodName: 'close'): JQuery;
+
+ /**
+ * Removes typeahead functionality and reverts the input element back to its original state.
+ *
+ * @constructor
+ * @param methodName Method 'destroy'
+ */
+ typeahead(methodName: 'destroy'): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:active event to the selected elements.
+ *
+ * @param events typeahead:active event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:active", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:active event to the selected elements.
+ *
+ * @param events typeahead:active event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:active", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:active event to the selected elements.
+ *
+ * @param events typeahead:active event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:active", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:active event to the selected elements.
+ *
+ * @param events typeahead:active event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:active", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:idle event to the selected elements.
+ *
+ * @param events typeahead:idle event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:idle", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:idle event to the selected elements.
+ *
+ * @param events typeahead:idle event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:idle", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:idle event to the selected elements.
+ *
+ * @param events typeahead:idle event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:idle", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:idle event to the selected elements.
+ *
+ * @param events typeahead:idle event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:idle", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:open event to the selected elements.
+ *
+ * @param events typeahead:open event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:open", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:open event to the selected elements.
+ *
+ * @param events typeahead:open event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:open", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:open event to the selected elements.
+ *
+ * @param events typeahead:open event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:open", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:open event to the selected elements.
+ *
+ * @param events typeahead:open event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:open", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:close event to the selected elements.
+ *
+ * @param events typeahead:close event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:close", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:close event to the selected elements.
+ *
+ * @param events typeahead:close event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:close", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:close event to the selected elements.
+ *
+ * @param events typeahead:close event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:close", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:close event to the selected elements.
+ *
+ * @param events typeahead:close event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:close", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:change event to the selected elements.
+ *
+ * @param events typeahead:change event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:change", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:change event to the selected elements.
+ *
+ * @param events typeahead:change event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:change", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:change event to the selected elements.
+ *
+ * @param events typeahead:change event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:change", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:change event to the selected elements.
+ *
+ * @param events typeahead:change event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:change", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:render event to the selected elements.
+ *
+ * @param events typeahead:render event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:render", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:render event to the selected elements.
+ *
+ * @param events typeahead:render event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:render", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:render event to the selected elements.
+ *
+ * @param events typeahead:render event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:render", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:render event to the selected elements.
+ *
+ * @param events typeahead:render event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:render", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:select event to the selected elements.
+ *
+ * @param events typeahead:select event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:select", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:select event to the selected elements.
+ *
+ * @param events typeahead:select event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:select", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:select event to the selected elements.
+ *
+ * @param events typeahead:select event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:select", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:select event to the selected elements.
+ *
+ * @param events typeahead:select event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:select", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:autocomplete event to the selected elements.
+ *
+ * @param events typeahead:autocomplete event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:autocomplete", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:autocomplete event to the selected elements.
+ *
+ * @param events typeahead:autocomplete event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:autocomplete", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:autocomplete event to the selected elements.
+ *
+ * @param events typeahead:autocomplete event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:autocomplete", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:autocomplete event to the selected elements.
+ *
+ * @param events typeahead:autocomplete event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:autocomplete", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:cursorchange event to the selected elements.
+ *
+ * @param events typeahead:cursorchange event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:cursorchange", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:cursorchange event to the selected elements.
+ *
+ * @param events typeahead:cursorchange event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:cursorchange", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:cursorchange event to the selected elements.
+ *
+ * @param events typeahead:cursorchange event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:cursorchange", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:cursorchange event to the selected elements.
+ *
+ * @param events typeahead:cursorchange event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:cursorchange", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asyncrequest event to the selected elements.
+ *
+ * @param events typeahead:asyncrequest event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:asyncrequest", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asyncrequest event to the selected elements.
+ *
+ * @param events typeahead:asyncrequest event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:asyncrequest", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asyncrequest event to the selected elements.
+ *
+ * @param events typeahead:asyncrequest event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:asyncrequest", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asyncrequest event to the selected elements.
+ *
+ * @param events typeahead:asyncrequest event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:asyncrequest", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asynccancel event to the selected elements.
+ *
+ * @param events typeahead:asynccancel event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:asynccancel", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asynccancel event to the selected elements.
+ *
+ * @param events typeahead:asynccancel event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:asynccancel", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asynccancel event to the selected elements.
+ *
+ * @param events typeahead:asynccancel event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:asynccancel", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asynccancel event to the selected elements.
+ *
+ * @param events typeahead:asynccancel event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:asynccancel", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asyncreceive event to the selected elements.
+ *
+ * @param events typeahead:asyncreceive event fired when the typeahead moves to active state.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax).
+ */
+ on(events: "typeahead:asyncreceive", handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asyncreceive event to the selected elements.
+ *
+ * @param events typeahead:asyncreceive event fired when the typeahead moves to active state.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:asyncreceive", data: any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asyncreceive event to the selected elements.
+ *
+ * @param events typeahead:asyncreceive event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:asyncreceive", selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Attach an event handler function for typeahead:asyncreceive event to the selected elements.
+ *
+ * @param events typeahead:asyncreceive event fired when the typeahead moves to active state.
+ * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
+ * @param data Data to be passed to the handler in event.data when an event is triggered.
+ * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false.
+ */
+ on(events: "typeahead:asyncreceive", selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:active event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:active", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:active event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:active", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:idle event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:idle", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:idle event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:idle", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:open event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:open", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:open event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:open", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:close event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:close", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:close event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:close", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:change event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:change", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:change event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:change", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:render event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:render", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:render event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:render", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:select event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:select", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:select event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:select", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:autocomplete event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:autocomplete", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:autocomplete event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:autocomplete", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:cursorchange event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:cursorchange", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:cursorchange event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:cursorchange", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:asyncrequest event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:asyncrequest", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:asyncrequest event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:asyncrequest", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:asynccancel event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:asynccancel", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:asynccancel event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:asynccancel", handler: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:asyncreceive event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:asyncreceive", selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery;
+
+ /**
+ * Remove an event handler.
+ *
+ * @param events typeahead:asyncreceive event.
+ * @param handler A handler function previously attached for the event(s), or the special value false.
+ */
+ off(events: "typeahead:asyncreceive", handler: (eventObject: JQueryEventObject) => any): JQuery;
}
declare module Twitter.Typeahead {