// Type definitions for ExtJS 4.2.1
// Project: http://www.sencha.com/products/extjs/
// Definitions by: Brian Kotek <https://github.com/brian428/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped

declare module Ext {
	export interface IAbstractComponent extends Ext.IBase,Ext.util.IPositionable,Ext.util.IObservable,Ext.util.IAnimate,Ext.util.IElementContainer,Ext.util.IRenderable,Ext.state.IStateful {
		/** [Config Option] (String/Object) */
		autoEl?: any;
		/** [Config Option] (Ext.ComponentLoader/Object/String/Boolean) */
		autoLoad?: any;
		/** [Config Option] (Boolean/String/HTMLElement/Ext.Element) */
		autoRender?: any;
		/** [Config Option] (Boolean) */
		autoShow?: boolean;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number/String/Boolean) */
		border?: any;
		/** [Config Option] (Object[]) */
		childEls?: any[];
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (String) */
		componentCls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		contentEl?: string;
		/** [Config Option] (Object) */
		data?: any;
		/** [Config Option] (Boolean) */
		disabled?: boolean;
		/** [Config Option] (String) */
		disabledCls?: string;
		/** [Config Option] (Boolean) */
		draggable?: boolean;
		/** [Config Option] (Boolean) */
		floating?: boolean;
		/** [Config Option] (Boolean) */
		frame?: boolean;
		/** [Config Option] (Number) */
		height?: number;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (String) */
		hideMode?: string;
		/** [Config Option] (String/Object) */
		html?: any;
		/** [Config Option] (String) */
		id?: string;
		/** [Config Option] (String) */
		itemId?: string;
		/** [Config Option] (Ext.ComponentLoader/Object) */
		loader?: any;
		/** [Config Option] (Number/String) */
		margin?: any;
		/** [Config Option] (Number) */
		maxHeight?: number;
		/** [Config Option] (Number) */
		maxWidth?: number;
		/** [Config Option] (Number) */
		minHeight?: number;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (String) */
		overCls?: string;
		/** [Config Option] (Number/String) */
		padding?: any;
		/** [Config Option] (Ext.AbstractPlugin[]/Ext.AbstractPlugin/Object[]/Object/Ext.enums.Plugin[]/Ext.enums.Plugin) */
		plugins?: any;
		/** [Config Option] (Object) */
		renderData?: any;
		/** [Config Option] (Object) */
		renderSelectors?: any;
		/** [Config Option] (String/HTMLElement/Ext.Element) */
		renderTo?: any;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Boolean) */
		rtl?: boolean;
		/** [Config Option] (Boolean/Number) */
		shrinkWrap?: any;
		/** [Config Option] (String/Object) */
		style?: any;
		/** [Config Option] (Ext.XTemplate/Ext.Template/String/String[]) */
		tpl?: any;
		/** [Config Option] (String) */
		tplWriteMode?: string;
		/** [Config Option] (String) */
		ui?: string;
		/** [Config Option] (Number) */
		width?: number;
		/** [Config Option] (Ext.enums.Widget) */
		xtype?: Ext.enums.IWidget;
		/** [Property] (Boolean) */
		_isLayoutRoot?: boolean;
		/** [Property] (String) */
		contentPaddingProperty?: string;
		/** [Property] (Object) */
		frameSize?: any;
		/** [Property] (Boolean) */
		isComponent?: boolean;
		/** [Property] (Boolean) */
		maskOnDisable?: boolean;
		/** [Property] (Ext.Container) */
		ownerCt?: Ext.IContainer;
		/** [Property] (Boolean) */
		rendered?: boolean;
		/** [Method] Adds each argument passed to this method to the childEls array  */
		addChildEls?(): void;
		/** [Method] Adds a CSS class to the top level element representing this component  
		* @param cls String/String[] The CSS class name to add. 
		* @returns Ext.Component Returns the Component to allow method chaining. 
		*/
		addClass?( cls?:any ): Ext.IComponent;
		/** [Method] Adds a CSS class to the top level element representing this component  
		* @param cls String/String[] The CSS class name to add. 
		* @returns Ext.Component Returns the Component to allow method chaining. 
		*/
		addCls?( cls?:any ): Ext.IComponent;
		/** [Method] Adds a cls to the uiCls array which will also call addUIClsToElement and adds to all elements of this component  
		* @param classes String/String[] A string or an array of strings to add to the uiCls. 
		* @param skip Object (Boolean) skip true to skip adding it to the class and do it later (via the return). 
		*/
		addClsWithUI?( classes?:any, skip?:any ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param element Object 
		* @param listeners Object 
		* @param scope Object 
		* @param options Object 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( element?:any, listeners?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Save a property to the given state object if it is not its default or configured value  
		* @param state Object The state object. 
		* @param propName String The name of the property on this object to save. 
		* @param value String The value of the state property (defaults to this[propName]). 
		* @returns Boolean The state object or a new object if state was null and the property was saved. 
		*/
		addPropertyToState?( state?:any, propName?:string, value?:string ): boolean;
		/** [Method] Add events that will trigger the state to be saved  
		* @param events String/String[] The event name or an array of event names. 
		*/
		addStateEvents?( events?:any ): void;
		/** [Method] Method which adds a specified UI  uiCls to the components element  
		* @param ui String The UI to remove from the element. 
		*/
		addUIClsToElement?( ui?:string ): void;
		/** [Method] Called by the layout system after the Component has been laid out  
		* @param width Number The width that was set 
		* @param height Number The height that was set 
		* @param oldWidth Number/undefined The old width, or undefined if this was the initial layout. 
		* @param oldHeight Number/undefined The old height, or undefined if this was the initial layout. 
		*/
		afterComponentLayout?( width?:number, height?:number, oldWidth?:any, oldHeight?:any ): void;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Template method called after a Component has been positioned  
		* @param x Number 
		* @param y Number 
		*/
		afterSetPosition?( x?:number, y?:number ): void;
		/** [Method] Aligns the element with another element relative to the specified anchor points  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		alignTo?( element?:any, position?:string, offsets?:number[], animate?:any ): Ext.util.IPositionable;
		/** [Method] Anchors an element to another element and realigns it when the window is resized  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @param monitorScroll Boolean/Number True to monitor body scroll and reposition. If this parameter is a number, it is used as the buffer delay in milliseconds. 
		* @param callback Function The function to call after the animation finishes 
		* @returns Ext.util.Positionable this 
		*/
		anchorTo?( element?:any, position?:string, offsets?:number[], animate?:any, monitorScroll?:any, callback?:any ): Ext.util.IPositionable;
		/** [Method] Performs custom animation on this object. ... */
		animate?: any;
		/** [Method] Applies the state to the object  
		* @param state Object The state 
		*/
		applyState?( state?:any ): void;
		/** [Method] Template method to do any pre blur processing  
		* @param e Ext.EventObject The event object 
		*/
		beforeBlur?( e?:Ext.IEventObject ): void;
		/** [Method] Occurs before componentLayout is run  
		* @param adjWidth Number The box-adjusted width that was set. 
		* @param adjHeight Number The box-adjusted height that was set. 
		*/
		beforeComponentLayout?( adjWidth?:number, adjHeight?:number ): void;
		/** [Method] Invoked before the Component is destroyed  */
		beforeDestroy?(): void;
		/** [Method] Template method to do any pre focus processing  
		* @param e Ext.EventObject The event object 
		*/
		beforeFocus?( e?:Ext.IEventObject ): void;
		/** [Method] Occurs before componentLayout is run  */
		beforeLayout?(): void;
		/** [Method] Calculates the new x y position to move this Positionable into a constrain region  
		* @param constrainTo String/HTMLElement/Ext.Element/Ext.util.Region The Element or Region into which this Component is to be constrained. Defaults to the element into which this Positionable was rendered, or this Component's {@link Ext.Component.constrainTo. 
		* @param proposedPosition Number[] A proposed [X, Y] position to test for validity and to coerce into constraints instead of using this Positionable's current position. 
		* @param local Boolean The proposedPosition is local (relative to floatParent if a floating Component) 
		* @param proposedSize Number[] A proposed [width, height] size to use when calculating constraints instead of using this Positionable's current size. 
		* @returns Number[] If the element needs to be translated, the new [X, Y] position within constraints if possible, giving priority to keeping the top and left edge in the constrain region. Otherwise, false. 
		*/
		calculateConstrainedPosition?( constrainTo?:any, proposedPosition?:number[], local?:boolean, proposedSize?:number[] ): number[];
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Destroys the Component  */
		destroy?(): void;
		/** [Method] Disable the component  
		* @param silent Boolean Passing true will suppress the disable event from being fired. 
		*/
		disable?( silent?:boolean ): void;
		/** [Method] Handles autoRender  */
		doAutoRender?(): void;
		/** [Method] This method needs to be called whenever you change something on this component that requires the Component s layout t  
		* @returns Ext.container.Container this 
		*/
		doComponentLayout?(): Ext.container.IContainer;
		/** [Method] Enable the component 
		* @param silent Boolean Passing true will suppress the enable event from being fired. 
		*/
		enable?( silent?:boolean ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Ensures that this component is attached to document body  
		* @param runLayout Boolean True to run the component's layout. 
		*/
		ensureAttachedToBody?( runLayout?:boolean ): void;
		/** [Method] Retrieves plugin from this component s collection by its ptype  
		* @param ptype String The Plugin's ptype as specified by the class's alias configuration. 
		* @returns Ext.AbstractPlugin plugin instance. 
		*/
		findPlugin?( ptype?:string ): Ext.IAbstractPlugin;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Forces this component to redo its componentLayout  */
		forceComponentLayout?(): void;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		getActiveAnimation?(): any;
		/** [Method] Gets the x y coordinates to align this element with another element  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @returns Number[] [x, y] 
		*/
		getAlignToXY?( element?:any, position?:string, offsets?:number[] ): number[];
		/** [Method] Gets the x y coordinates specified by the anchor position on the element  
		* @param anchor String The specified anchor position. See alignTo for details on supported anchor positions. 
		* @param local Boolean True to get the local (element top/left-relative) anchor position instead of page coordinates 
		* @param size Object An object containing the size to use for calculating anchor position {width: (target width), height: (target height)} (defaults to the element's current size) 
		* @returns Number[] [x, y] An array containing the element's x and y coordinates 
		*/
		getAnchorXY?( anchor?:string, local?:boolean, size?:any ): number[];
		/** [Method] Return an object defining the area of this Element which can be passed to setBox to set another Element s size locati  
		* @param contentBox Boolean If true a box for the content of the element is returned. 
		* @param local Boolean If true the element's left and top relative to its offsetParent are returned instead of page x/y. 
		* @returns Object box An object in the format: {  x: &lt;Element's X position&gt;,  y: &lt;Element's Y position&gt;,  left: &lt;Element's X position (an alias for x)&gt;,  top: &lt;Element's Y position (an alias for y)&gt;,  width: &lt;Element's width&gt;,  height: &lt;Element's height&gt;,  bottom: &lt;Element's lower bound&gt;,  right: &lt;Element's rightmost bound&gt; }  The returned object may also be addressed as an Array where index 0 contains the X position and index 1 contains the Y position. The result may also be used for setXY 
		*/
		getBox?( contentBox?:boolean, local?:boolean ): any;
		/** [Method] Provides the link for Observable s fireEvent method to bubble up the ownership hierarchy  
		* @returns Ext.container.Container the Container which owns this Component. 
		*/
		getBubbleTarget?(): Ext.container.IContainer;
		/** [Method] Returns the X Y vector by which this Positionable s element must be translated to make a best attempt to constrain  
		* @param constrainTo Ext.util.Positionable/HTMLElement/String/Ext.util.Region The Positionable, HTMLElement, element id, or Region into which the element is to be constrained. 
		* @param proposedPosition Number[] A proposed [X, Y] position to test for validity and to produce a vector for instead of using the element's current position 
		* @param proposedSize Number[] A proposed [width, height] size to constrain instead of using the element's current size 
		* @returns Number[]/Boolean If the element needs to be translated, an [X, Y] vector by which this element must be translated. Otherwise, false. 
		*/
		getConstrainVector?( constrainTo?:any, proposedPosition?:number[], proposedSize?:number[] ): any;
		/** [Method] Retrieves the top level element representing this component  
		* @returns Ext.dom.Element 
		*/
		getEl?(): Ext.dom.IElement;
		/** [Method] Gets the current height of the component s underlying element  
		* @returns Number 
		*/
		getHeight?(): number;
		/** [Method] Retrieves the id of this component  
		* @returns String 
		*/
		getId?(): string;
		/** [Method] This function takes the position argument passed to onRender and returns a DOM element that you can use in the insert  
		* @param position String/Number/Ext.dom.Element/HTMLElement Index, element id or element you want to put this component before. 
		* @returns HTMLElement DOM element that you can use in the insertBefore 
		*/
		getInsertPosition?( position?:any ): HTMLElement;
		/** [Method] Returns the value of itemId assigned to this component or when that is not set returns the value of id  
		* @returns String 
		*/
		getItemId?(): string;
		/** [Method] Gets the Ext ComponentLoader for this Component  
		* @returns Ext.ComponentLoader The loader instance, null if it doesn't exist. 
		*/
		getLoader?(): Ext.IComponentLoader;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @returns Number The local x coordinate 
		*/
		getLocalX?(): number;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @returns Number[] The local XY position of the element 
		*/
		getLocalXY?(): number[];
		/** [Method] Returns the y coordinate of this element reletive to its offsetParent  
		* @returns Number The local y coordinate 
		*/
		getLocalY?(): number;
		/** [Method] Returns the offsets of this element from the passed element  
		* @param offsetsTo Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or element id to get get the offsets from. 
		* @returns Number[] The XY page offsets (e.g. [100, -200]) 
		*/
		getOffsetsTo?( offsetsTo?:any ): number[];
		/** [Method] Retrieves a plugin from this component s collection by its pluginId  
		* @param pluginId String 
		* @returns Ext.AbstractPlugin plugin instance. 
		*/
		getPlugin?( pluginId?:string ): Ext.IAbstractPlugin;
		/** [Method] Returns a region object that defines the area of this element  
		* @returns Ext.util.Region A Region containing "top, left, bottom, right" properties. 
		*/
		getRegion?(): Ext.util.IRegion;
		/** [Method] Gets the current size of the component s underlying element  
		* @returns Object An object containing the element's size {width: (element width), height: (element height)} 
		*/
		getSize?(): any;
		/** [Method] Returns an object that describes how this component s width and height are managed  
		* @param ownerCtSizeModel Object 
		* @returns Object The size model for this component. 
		*/
		getSizeModel?( ownerCtSizeModel?:any ): any;
		/** [Method] The supplied default state gathering method for the AbstractComponent class  
		* @returns Object 
		*/
		getState?(): any;
		/** [Method] Returns the content region of this element  
		* @returns Ext.util.Region A Region containing "top, left, bottom, right" member data. 
		*/
		getViewRegion?(): Ext.util.IRegion;
		/** [Method] Gets the current width of the component s underlying element  
		* @returns Number 
		*/
		getWidth?(): number;
		/** [Method] Gets the current X position of the DOM element based on page coordinates  
		* @returns Number The X position of the element 
		*/
		getX?(): number;
		/** [Method] Returns this Component s xtype hierarchy as a slash delimited string  
		* @returns String The xtype hierarchy string 
		*/
		getXTypes?(): string;
		/** [Method] Gets the current position of the DOM element based on page coordinates  
		* @returns Number[] The XY position of the element 
		*/
		getXY?(): number[];
		/** [Method] Gets the current Y position of the DOM element based on page coordinates  
		* @returns Number The Y position of the element 
		*/
		getY?(): number;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		hasActiveFx?(): any;
		/** [Method] Checks if the specified CSS class exists on this element s DOM node  
		* @param className String The CSS class to check for. 
		* @returns Boolean true if the class exists, else false. 
		*/
		hasCls?( className?:string ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Checks if there is currently a specified uiCls  
		* @param cls String The cls to check. 
		*/
		hasUICls?( cls?:string ): void;
		/** [Method] Initialize any events on this component */
		initEvents?(): void;
		/** [Method] Initialized the renderData to be used when rendering the renderTpl  
		* @returns Object Object with keys and values that are going to be applied to the renderTpl 
		*/
		initRenderData?(): any;
		/** [Method] Tests whether this Component matches the selector string  
		* @param selector String The selector string to test against. 
		* @returns Boolean true if this Component matches the selector. 
		*/
		is?( selector?:string ): boolean;
		/** [Method] Determines whether this component is the descendant of a particular container  
		* @param container Ext.Container 
		* @returns Boolean true if the component is the descendant of a particular container, otherwise false. 
		*/
		isDescendantOf?( container?:Ext.IContainer ): boolean;
		/** [Method] Method to determine whether this Component is currently disabled  
		* @returns Boolean the disabled state of this Component. 
		*/
		isDisabled?(): boolean;
		/** [Method] Method to determine whether this Component is draggable  
		* @returns Boolean the draggable state of this component. 
		*/
		isDraggable?(): boolean;
		/** [Method] Method to determine whether this Component is droppable  
		* @returns Boolean the droppable state of this component. 
		*/
		isDroppable?(): boolean;
		/** [Method] Method to determine whether this Component is floating  
		* @returns Boolean the floating state of this component. 
		*/
		isFloating?(): boolean;
		/** [Method] Method to determine whether this Component is currently set to hidden  
		* @returns Boolean the hidden state of this Component. 
		*/
		isHidden?(): boolean;
		/** [Method] Determines whether this Component is the root of a layout  */
		isLayoutRoot?(): void;
		/** [Method] Returns true if layout is suspended for this component  
		* @returns Boolean true layout of this component is suspended. 
		*/
		isLayoutSuspended?(): boolean;
		/** [Method] Returns true if this component is visible  
		* @param deep Boolean Pass true to interrogate the visibility status of all parent Containers to determine whether this Component is truly visible to the user. Generally, to determine whether a Component is hidden, the no argument form is needed. For example when creating dynamically laid out UIs in a hidden Container before showing them. 
		* @returns Boolean true if this component is visible, false otherwise. 
		*/
		isVisible?( deep?:boolean ): boolean;
		/** [Method] Tests whether or not this Component is of a specific xtype  
		* @param xtype String The xtype to check for this Component 
		* @param shallow Boolean true to check whether this Component is directly of the specified xtype, false to check whether this Component is descended from the xtype. 
		* @returns Boolean true if this component descends from the specified xtype, false otherwise. 
		*/
		isXType?( xtype?:string, shallow?:boolean ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Move the element relative to its current position  
		* @param direction String Possible values are:  "l" (or "left") "r" (or "right") "t" (or "top", or "up") "b" (or "bottom", or "down")  
		* @param distance Number How far to move the element in pixels 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		*/
		move?( direction?:string, distance?:number, animate?:any ): void;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Returns the next node in the Component tree in tree traversal order  
		* @param selector String A ComponentQuery selector to filter the following nodes. 
		* @returns Ext.Component The next node (or the next node which matches the selector). Returns null if there is no matching node. 
		*/
		nextNode?( selector?:string ): Ext.IComponent;
		/** [Method] Returns the next sibling of this Component  
		* @param selector String A ComponentQuery selector to filter the following items. 
		* @returns Ext.Component The next sibling (or the next sibling which matches the selector). Returns null if there is no matching sibling. 
		*/
		nextSibling?( selector?:string ): Ext.IComponent;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Method to manage awareness of when components are added to their respective Container firing an added event  
		* @param container Ext.container.Container Container which holds the component. 
		* @param pos Number Position at which the component was added. 
		*/
		onAdded?( container?:Ext.container.IContainer, pos?:number ): void;
		/** [Method] Allows addition of behavior to the disable operation  */
		onDisable?(): void;
		/** [Method] Allows addition of behavior to the enable operation  */
		onEnable?(): void;
		/** [Method] Called after the component is moved this method is empty by default but can be implemented by any subclass that need  
		* @param x Number The new x position. 
		* @param y Number The new y position. 
		*/
		onPosition?( x?:number, y?:number ): void;
		/** [Method] Method to manage awareness of when components are removed from their respective Container firing a removed event  
		* @param destroying Boolean Will be passed as true if the Container performing the remove operation will delete this Component upon remove. 
		*/
		onRemoved?( destroying?:boolean ): void;
		/** [Method] Template method called when this Component s DOM structure is created  
		* @param parentNode Ext.core.Element The parent Element in which this Component's encapsulating element is contained. 
		* @param containerIdx Number The index within the parent Container's child collection of this Component. 
		*/
		onRender?( parentNode?:Ext.core.IElement, containerIdx?:number ): void;
		/** [Method] Allows addition of behavior to the resize operation  
		* @param width Object 
		* @param height Object 
		* @param oldWidth Object 
		* @param oldHeight Object 
		*/
		onResize?( width?:any, height?:any, oldWidth?:any, oldHeight?:any ): void;
		/** [Method] Template method to do any post blur processing  
		* @param e Ext.EventObject The event object 
		*/
		postBlur?( e?:Ext.IEventObject ): void;
		/** [Method] Returns the previous node in the Component tree in tree traversal order  
		* @param selector String A ComponentQuery selector to filter the preceding nodes. 
		* @returns Ext.Component The previous node (or the previous node which matches the selector). Returns null if there is no matching node. 
		*/
		previousNode?( selector?:string ): Ext.IComponent;
		/** [Method] Returns the previous sibling of this Component  
		* @param selector String A ComponentQuery selector to filter the preceding items. 
		* @returns Ext.Component The previous sibling (or the previous sibling which matches the selector). Returns null if there is no matching sibling. 
		*/
		previousSibling?( selector?:string ): Ext.IComponent;
		/** [Method] Called by Component doAutoRender Register a Container configured floating true with this Component s ZIndexManager  
		* @param cmp Object 
		*/
		registerFloatingItem?( cmp?:any ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Remove any anchor to this element  
		* @returns Ext.util.Positionable this 
		*/
		removeAnchor?(): Ext.util.IPositionable;
		/** [Method] Removes items in the childEls array based on the return value of a supplied test function  
		* @param testFn Function The test function. 
		*/
		removeChildEls?( testFn?:any ): void;
		/** [Method] Removes a CSS class from the top level element representing this component  
		* @param cls String/String[] The CSS class name to remove. 
		* @returns Ext.Component Returns the Component to allow method chaining. 
		*/
		removeCls?( cls?:any ): Ext.IComponent;
		/** [Method] Removes a cls to the uiCls array which will also call removeUIClsFromElement and removes it from all elements of thi  
		* @param cls String/String[] A string or an array of strings to remove to the uiCls. 
		*/
		removeClsWithUI?( cls?:any ): void;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Method which removes a specified UI  uiCls from the components element  
		* @param ui String The UI to add to the element. 
		*/
		removeUIClsFromElement?( ui?:string ): void;
		/** [Method] Renders the Component into the passed HTML element  
		* @param container Ext.Element/HTMLElement/String The element this Component should be rendered into. If it is being created from existing markup, this should be omitted. 
		* @param position String/Number The element ID or DOM node index within the container before which this component will be inserted (defaults to appending to the end of the container) 
		*/
		render?( container?:any, position?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Conditionally saves a single property from this object to the given state object  
		* @param propName String The name of the property to save. 
		* @param state Object The state object in to which to save the property. 
		* @param stateName String The name to use for the property in state. 
		* @returns Boolean True if the property was saved, false if not. 
		*/
		savePropToState?( propName?:string, state?:any, stateName?:string ): boolean;
		/** [Method] Gathers additional named properties of the instance and adds their current values to the passed state object  
		* @param propNames String/String[] The name (or array of names) of the property to save. 
		* @param state Object The state object in to which to save the property values. 
		* @returns Object state 
		*/
		savePropsToState?( propNames?:any, state?:any ): any;
		/** [Method] Saves the state of the object to the persistence store  */
		saveState?(): void;
		/** [Method] Ensures that all effects queued after sequenceFx is called on this object are run in sequence  
		* @returns Object this 
		*/
		sequenceFx?(): any;
		/** [Method]  
		* @param border String/Number The border, see border. If a falsey value is passed the border will be removed. 
		*/
		setBorder?( border?:any ): void;
		/** [Method] Sets the element s box  
		* @param box Object The box to fill {x, y, width, height} 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		setBox?( box?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Enable or disable the component  
		* @param disabled Boolean true to disable. 
		*/
		setDisabled?( disabled?:boolean ): void;
		/** [Method] Sets the dock position of this component in its parent panel  
		* @param dock Object The dock position. 
		* @param layoutParent Boolean true to re-layout parent. 
		* @returns Ext.Component this 
		*/
		setDocked?( dock?:any, layoutParent?:boolean ): Ext.IComponent;
		/** [Method] Sets the height of the component  
		* @param height Number The new height to set. This may be one of:  A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS height style. undefined to leave the height unchanged.  
		* @returns Ext.Component this 
		*/
		setHeight?( height?:number ): Ext.IComponent;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @param x Object 
		* @returns Ext.util.Positionable this 
		*/
		setLocalX?( x?:any ): Ext.util.IPositionable;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @param x Object 
		* @param y Object 
		* @returns Ext.util.Positionable this 
		*/
		setLocalXY?( x?:any, y?:any ): Ext.util.IPositionable;
		/** [Method] Sets the local y coordinate of this element using CSS style  
		* @param y Object 
		* @returns Ext.util.Positionable this 
		*/
		setLocalY?( y?:any ): Ext.util.IPositionable;
		/** [Method] Sets the margin on the target element  
		* @param margin Number/String The margin to set. See the margin config. 
		*/
		setMargin?( margin?:any ): void;
		/** [Method] Sets the element s position and size to the specified region  
		* @param region Ext.util.Region The region to fill 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		setRegion?( region?:Ext.util.IRegion, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the width and height of this Component  
		* @param width Number/String/Object The new width to set. This may be one of:  A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS width style. A size object in the format {width: widthValue, height: heightValue}. undefined to leave the width unchanged.  
		* @param height Number/String The new height to set (not required if a size object is passed as the first arg). This may be one of:  A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS height style. Animation may not be used. undefined to leave the height unchanged.  
		* @returns Ext.Component this 
		*/
		setSize?( width?:any, height?:any ): Ext.IComponent;
		/** [Method] Sets the UI for the component  
		* @param ui String The new UI for the component. 
		*/
		setUI?( ui?:string ): void;
		/** [Method] Convenience function to hide or show this component by Boolean  
		* @param visible Boolean true to show, false to hide. 
		* @returns Ext.Component this 
		*/
		setVisible?( visible?:boolean ): Ext.IComponent;
		/** [Method] Sets the width of the component  
		* @param width Number The new width to setThis may be one of:  A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS width style.  
		* @returns Ext.Component this 
		*/
		setWidth?( width?:number ): Ext.IComponent;
		/** [Method] Sets the X position of the DOM element based on page coordinates  
		* @param x Object 
		* @param animate Object 
		* @returns Ext.util.Positionable this 
		*/
		setX?( x?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the position of the DOM element in page coordinates  
		* @param xy Object 
		* @param animate Object 
		* @returns Ext.util.Positionable this 
		*/
		setXY?( xy?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the Y position of the DOM element based on page coordinates  
		* @param y Object 
		* @param animate Object 
		* @returns Ext.util.Positionable this 
		*/
		setY?( y?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		stopAnimation?(): Ext.IElement;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		stopFx?(): Ext.IElement;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Ensures that all effects queued after syncFx is called on this object are run concurrently  
		* @returns Object this 
		*/
		syncFx?(): any;
		/** [Method] Translates the passed page coordinates into left top css values for the element 
		* @param x Number/Array The page x or an array containing [x, y] 
		* @param y Number The page y, required if x is not an array 
		* @returns Object An object with left and top properties. e.g. {left: (value), top: (value)} 
		*/
		translatePoints?( x?:any, y?:number ): any;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Navigates up the ownership hierarchy searching for an ancestor Container which matches any passed simple selector or 
		* @param selector String/Ext.Component The simple selector component or actual component to test. If not passed the immediate owner/activater is returned. 
		* @param limit String/Number/Ext.Component This may be a selector upon which to stop the upward scan, or a limit of teh number of steps, or Component reference to stop on. 
		* @returns Ext.container.Container The matching ancestor Container (or undefined if no match was found). 
		*/
		up?( selector?:any, limit?:any ): Ext.container.IContainer;
		/** [Method] Update the content area of a component  
		* @param htmlOrData String/Object If this component has been configured with a template via the tpl config then it will use this argument as data to populate the template. If this component was not configured with a template, the components content area will be updated via Ext.Element update. 
		* @param loadScripts Boolean Only legitimate when using the html configuration. 
		* @param callback Function Only legitimate when using the html configuration. Callback to execute when scripts have finished loading. 
		*/
		update?( htmlOrData?:any, loadScripts?:boolean, callback?:any ): void;
		/** [Method] Updates this component s layout  
		* @param options Object An object with layout options. 
		*/
		updateLayout?( options?:any ): void;
	}
	export class AbstractComponent {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Cancels layout of a component  
		* @param comp Ext.Component 
		*/
		static cancelLayout( comp?:Ext.IComponent ): void;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Performs all pending layouts that were scheduled while suspendLayouts was in effect  */
		static flushLayouts(): void;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
		/** [Method] Resumes layout activity in the whole framework  
		* @param flush Boolean true to perform all the pending layouts. This can also be achieved by calling flushLayouts directly. 
		*/
		static resumeLayouts( flush?:boolean ): void;
		/** [Method] Stops layouts from happening in the whole framework  */
		static suspendLayouts(): void;
		/** [Method] Updates layout of a component  
		* @param comp Ext.Component The component to update. 
		* @param defer Boolean true to just queue the layout if this component. 
		*/
		static updateLayout( comp?:Ext.IComponent, defer?:boolean ): void;
	}
}
declare module Ext {
	export interface IAbstractManager extends Ext.IBase {
		/** [Property] (Ext.util.HashMap) */
		all?: Ext.util.IHashMap;
		/** [Method] Creates and returns an instance of whatever this manager manages based on the supplied type and config object  
		* @param config Object The config object 
		* @param defaultType String If no type is discovered in the config object, we fall back to this type 
		* @returns Object The instance of whatever this manager is managing 
		*/
		create?( config?:any, defaultType?:string ): any;
		/** [Method] Executes the specified function once for each item in the collection  
		* @param fn Function The function to execute. 
		* @param scope Object The scope to execute in. Defaults to this. 
		*/
		each?( fn?:any, scope?:any ): void;
		/** [Method] Returns an item by id  
		* @param id String The id of the item 
		* @returns Object The item, undefined if not found. 
		*/
		get?( id?:string ): any;
		/** [Method] Gets the number of items in the collection  
		* @returns Number The number of items in the collection. 
		*/
		getCount?(): number;
		/** [Method] Checks if an item type is registered  
		* @param type String The mnemonic string by which the class may be looked up 
		* @returns Boolean Whether the type is registered. 
		*/
		isRegistered?( type?:string ): boolean;
		/** [Method] Registers a function that will be called when an item with the specified id is added to the manager  
		* @param id String The item id 
		* @param fn Function The callback function. Called with a single parameter, the item. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to the item. 
		*/
		onAvailable?( id?:string, fn?:any, scope?:any ): void;
		/** [Method] Registers an item to be managed 
		* @param item Object The item to register 
		*/
		register?( item?:any ): void;
		/** [Method] Registers a new item constructor keyed by a type key  
		* @param type String The mnemonic string by which the class may be looked up. 
		* @param cls Function The new instance class. 
		*/
		registerType?( type?:string, cls?:any ): void;
		/** [Method] Unregisters an item by removing it from this manager 
		* @param item Object The item to unregister 
		*/
		unregister?( item?:any ): void;
	}
}
declare module Ext {
	export interface IAbstractPlugin extends Ext.IBase {
		/** [Config Option] (String) */
		pluginId?: string;
		/** [Property] (Boolean) */
		isPlugin?: boolean;
		/** [Method] Creates clone of the plugin  
		* @param overrideCfg Object Additional config for the derived plugin. 
		*/
		clonePlugin?( overrideCfg?:any ): void;
		/** [Method] The destroy method is invoked by the owning Component at the time the Component is being destroyed  */
		destroy?(): void;
		/** [Method] The base implementation just sets the plugin s disabled flag to true Plugin subclasses which need more complex proce  */
		disable?(): void;
		/** [Method] The base implementation just sets the plugin s disabled flag to false Plugin subclasses which need more complex proc  */
		enable?(): void;
		/** [Method] Returns the component to which this plugin is attached  
		* @returns Ext.Component Owner component. 
		*/
		getCmp?(): Ext.IComponent;
		/** [Method] The init method is invoked after initComponent method has been run for the client Component  
		* @param client Ext.Component The client Component which owns this plugin. 
		*/
		init?( client?:Ext.IComponent ): void;
		/** [Method] Sets the component to which this plugin is attached  
		* @param cmp Ext.Component Owner component. 
		*/
		setCmp?( cmp?:Ext.IComponent ): void;
	}
}
declare module Ext {
	export interface IAction extends Ext.IBase {
		/** [Config Option] (Boolean) */
		disabled?: boolean;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (String) */
		itemId?: string;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (String) */
		text?: string;
		/** [Method] Disables all components configured by this Action  */
		disable?(): void;
		/** [Method] Executes the specified function once for each Component currently tied to this Action  
		* @param fn Function The function to execute for each component 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the Component. 
		*/
		each?( fn?:any, scope?:any ): void;
		/** [Method] Enables all components configured by this Action  */
		enable?(): void;
		/** [Method] Executes this Action manually using the handler function specified in the original config object or the handler funct  
		* @param args Object... Variable number of arguments passed to the handler function 
		*/
		execute?( ...args:any[] ): void;
		/** [Method] Gets the icon CSS class currently used by all components configured by this Action  */
		getIconCls?(): void;
		/** [Method] Gets the text currently displayed by all components configured by this Action  */
		getText?(): void;
		/** [Method] Hides all components configured by this Action  */
		hide?(): void;
		/** [Method] Returns true if the components using this Action are currently disabled else returns false  */
		isDisabled?(): void;
		/** [Method] Returns true if the components configured by this Action are currently hidden else returns false  */
		isHidden?(): void;
		/** [Method] Sets the disabled state of all components configured by this Action  
		* @param disabled Boolean True to disable the component, false to enable it 
		*/
		setDisabled?( disabled?:boolean ): void;
		/** [Method] Sets the function that will be called by each Component using this action when its primary event is triggered  
		* @param fn Function The function that will be invoked by the action's components. The function will be called with no arguments. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the Component firing the event. 
		*/
		setHandler?( fn?:any, scope?:any ): void;
		/** [Method] Sets the hidden state of all components configured by this Action  
		* @param hidden Boolean True to hide the component, false to show it. 
		*/
		setHidden?( hidden?:boolean ): void;
		/** [Method] Sets the icon CSS class for all components configured by this Action  
		* @param cls String The CSS class supplying the icon image 
		*/
		setIconCls?( cls?:string ): void;
		/** [Method] Sets the text to be displayed by all components configured by this Action  
		* @param text String The text to display 
		*/
		setText?( text?:string ): void;
		/** [Method] Shows all components configured by this Action  */
		show?(): void;
	}
}
declare module Ext {
	export interface IAjax extends Ext.data.IConnection {
	}
	export class Ajax {
		/** [Method] Aborts an active request  
		* @param request Object Defaults to the last request 
		*/
		static abort( request?:any ): void;
		/** [Method] Aborts all active requests */
		static abortAll(): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Determines whether this object has a request outstanding  
		* @param request Object Defaults to the last transaction 
		* @returns Boolean True if there is an outstanding request. 
		*/
		static isLoading( request?:any ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Checks if the response status was successful 
		* @param status Number The status code 
		* @returns Object An object containing success/status state 
		*/
		static parseStatus( status?:number ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Sends an HTTP request to a remote server  
		* @param options Object An object which may contain the following properties: (The options object may also contain any other property which might be needed to perform postprocessing in a callback because it is passed to callback functions.) 
		* @returns Object The request object. This may be used to cancel the request. 
		*/
		static request( options?:any ): any;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Sets various options such as the url params for the request 
		* @param options Object The initial options 
		* @param scope Object The scope to execute in 
		* @returns Object The params for the request 
		*/
		static setOptions( options?:any, scope?:any ): any;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Uploads a form using a hidden iframe  
		* @param form String/HTMLElement/Ext.Element The form to upload 
		* @param url String The url to post to 
		* @param params String Any extra parameters to pass 
		* @param options Object The initial options 
		*/
		static upload( form?:any, url?:string, params?:string, options?:any ): void;
	}
}
declare module Ext.app {
	export interface IApplication extends Ext.app.IController {
		/** [Config Option] (String) */
		appFolder?: string;
		/** [Config Option] (String) */
		appProperty?: string;
		/** [Config Option] (Boolean) */
		autoCreateViewport?: boolean;
		/** [Config Option] (String/String[]) */
		controllers?: any;
		/** [Config Option] (Boolean) */
		enableQuickTips?: boolean;
		/** [Config Option] (String) */
		name?: string;
		/** [Config Option] (String/String[]) */
		namespaces?: any;
		/** [Config Option] (Object) */
		paths?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Method] Returns the base Ext app Application for this controller  
		* @returns Ext.app.Application the application 
		*/
		getApplication?(): Ext.app.IApplication;
		/** [Method] Returns instance of a Controller with the given id  
		* @param name Object 
		* @returns Ext.app.Controller controller instance or undefined. 
		*/
		getController?( name?:any ): Ext.app.IController;
		/** [Method] Called automatically when the page has completely loaded  
		* @param profile String The detected application profile 
		* @returns Boolean By default, the Application will dispatch to the configured startup controller and action immediately after running the launch function. Return false to prevent this behavior. 
		*/
		launch?( profile?:string ): boolean;
	}
}
declare module Ext.app {
	export interface IController extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (String) */
		id?: string;
		/** [Config Option] (String/String[]) */
		models?: any;
		/** [Config Option] (Object[]) */
		refs?: any[];
		/** [Config Option] (String/String[]) */
		stores?: any;
		/** [Config Option] (String/String[]) */
		views?: any;
		/** [Property] (Ext.app.Application) */
		application?: Ext.app.IApplication;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Registers one or more references  
		* @param refs Object/Object[] 
		*/
		addRef?( refs?:any ): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Adds listeners to components selected via Ext ComponentQuery  
		* @param selectors String/Object If a String, the second argument is used as the listeners, otherwise an object of selectors -> listeners is assumed 
		* @param listeners Object Config for listeners. 
		*/
		control?( selectors?:any, listeners?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the base Ext app Application for this controller  
		* @returns Ext.app.Application the application 
		*/
		getApplication?(): Ext.app.IApplication;
		/** [Method] Returns instance of a Controller with the given id  
		* @param id String 
		* @returns Ext.app.Controller controller instance or undefined. 
		*/
		getController?( id?:string ): Ext.app.IController;
		/** [Method] Returns a Model class with the given name  
		* @param name String 
		* @returns Ext.data.Model a model class. 
		*/
		getModel?( name?:string ): Ext.data.IModel;
		/** [Method] Returns instance of a Store with the given name  
		* @param name String 
		* @returns Ext.data.Store a store instance. 
		*/
		getStore?( name?:string ): Ext.data.IStore;
		/** [Method] Returns a View class with the given name  
		* @param name String 
		* @returns Ext.Base a view class. 
		*/
		getView?( name?:string ): Ext.IBase;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Returns true if a reference is registered  
		* @param ref Object 
		* @returns Boolean 
		*/
		hasRef?( ref?:any ): boolean;
		/** [Method] A template method that is called when your application boots  
		* @param application Ext.app.Application 
		*/
		init?( application?:Ext.app.IApplication ): void;
		/** [Method] Adds listeners to different event sources also called event domains  
		* @param to Object Config object containing domains, selectors and listeners. 
		*/
		listen?( to?:any ): void;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] A template method like init but called after the viewport is created  
		* @param application Ext.app.Application 
		*/
		onLaunch?( application?:Ext.app.IApplication ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.app.domain {
	export interface IComponent extends Ext.app.IEventDomain {
	}
	export class Component {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] This method matches the firer of the event the target to the given selector  
		* @param target Object 
		* @param selector Object 
		* @returns Boolean true if the target matches the selector. 
		*/
		static match( target?:any, selector?:any ): boolean;
		/** [Method] This method is called by the derived class to monitor fireEvent calls  
		* @param observable Ext.Class The Observable to monitor for events. 
		*/
		static monitor( observable?:Ext.IClass ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.app.domain {
	export interface IController extends Ext.app.IEventDomain {
	}
	export class Controller {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] This method matches the firer of the event the target to the given selector  
		* @param target Object The firer of the event. 
		* @param selector String The selector to which to match the target. 
		* @returns Boolean true if the target matches the selector. 
		*/
		static match( target?:any, selector?:string ): boolean;
		/** [Method] This method is called by the derived class to monitor fireEvent calls  
		* @param observable Ext.Class The Observable to monitor for events. 
		*/
		static monitor( observable?:Ext.IClass ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.app.domain {
	export interface IDirect extends Ext.app.IEventDomain {
	}
	export class Direct {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] This method matches the firer of the event the target to the given selector  
		* @param target Object The firer of the event. 
		* @param selector String The selector to which to match the target. 
		* @returns Boolean true if the target matches the selector. 
		*/
		static match( target?:any, selector?:string ): boolean;
		/** [Method] This method is called by the derived class to monitor fireEvent calls  
		* @param observable Ext.Class The Observable to monitor for events. 
		*/
		static monitor( observable?:Ext.IClass ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.app.domain {
	export interface IGlobal extends Ext.app.IEventDomain {
	}
	export class Global {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] This method matches the firer of the event the target to the given selector  
		* @returns Boolean true if the target matches the selector. 
		*/
		static match(): boolean;
		/** [Method] This method is called by the derived class to monitor fireEvent calls  
		* @param observable Ext.Class The Observable to monitor for events. 
		*/
		static monitor( observable?:Ext.IClass ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.app.domain {
	export interface IStore extends Ext.app.IEventDomain {
	}
	export class Store {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] This method matches the firer of the event the target to the given selector  
		* @param target Object The firer of the event. 
		* @param selector String The selector to which to match the target. 
		* @returns Boolean true if the target matches the selector. 
		*/
		static match( target?:any, selector?:string ): boolean;
		/** [Method] This method is called by the derived class to monitor fireEvent calls  
		* @param observable Ext.Class The Observable to monitor for events. 
		*/
		static monitor( observable?:Ext.IClass ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.app {
	export interface IEventBus extends Ext.IBase {
	}
	export class EventBus {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Adds a set of component event listeners for a controller  
		* @param selectors Object Config object containing selectors and listeners. 
		* @param controller Ext.app.Controller The listening controller instance. 
		*/
		static control( selectors?:any, controller?:Ext.app.IController ): void;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Adds a set of event domain listeners for a controller  
		* @param to Object Config object containing domains, selectors and listeners. 
		* @param controller Ext.app.Controller The listening controller instance. 
		*/
		static listen( to?:any, controller?:Ext.app.IController ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Removes all of a controller s attached listeners  
		* @param controllerId String The id of the controller. 
		*/
		static unlisten( controllerId?:string ): void;
	}
}
declare module Ext.app {
	export interface IEventDomain extends Ext.IBase {
		/** [Config Option] (String) */
		idProperty?: string;
		/** [Property] (Object) */
		instances?: any;
		/** [Method] This method matches the firer of the event the target to the given selector  
		* @param target Object The firer of the event. 
		* @param selector String The selector to which to match the target. 
		* @returns Boolean true if the target matches the selector. 
		*/
		match?( target?:any, selector?:string ): boolean;
		/** [Method] This method is called by the derived class to monitor fireEvent calls  
		* @param observable Ext.Class The Observable to monitor for events. 
		*/
		monitor?( observable?:Ext.IClass ): void;
	}
}
declare module Ext {
	export interface IArray {
	}
	export class Array {
		/** [Method] Filter through an array and remove empty item as defined in Ext isEmpty See filter 
		* @param array Array 
		* @returns Array results 
		*/
		static clean( array?:any[] ): any[];
		/** [Method] Clone a flat array without referencing the previous one  
		* @param array Array The array 
		* @returns Array The clone array 
		*/
		static clone( array?:any[] ): any[];
		/** [Method] Checks whether or not the given array contains the specified item 
		* @param array Array The array to check 
		* @param item Object The item to look for 
		* @returns Boolean True if the array contains the item, false otherwise 
		*/
		static contains( array?:any[], item?:any ): boolean;
		/** [Method] Perform a set difference A B by subtracting all items in array B from array A  
		* @param arrayA Array 
		* @param arrayB Array 
		* @returns Array difference 
		*/
		static difference( arrayA?:any[], arrayB?:any[] ): any[];
		/** [Method] Iterates an array or an iterable value and invoke the given callback function for each item  
		* @param iterable Array/NodeList/Object The value to be iterated. If this argument is not iterable, the callback function is called once. 
		* @param fn Function The callback function. If it returns false, the iteration stops and this method returns the current index. 
		* @param scope Object The scope (this reference) in which the specified function is executed. 
		* @param reverse Boolean Reverse the iteration order (loop from the end to the beginning) Defaults false 
		* @returns Boolean See description for the fn parameter. 
		*/
		static each( iterable?:any, fn?:any, scope?:any, reverse?:boolean ): boolean;
		/** [Method] Shallow compares the contents of 2 arrays using strict equality  
		* @param array1 Array 
		* @param array2 Array 
		* @returns Boolean true if the arrays are equal. 
		*/
		static equals( array1?:any[], array2?:any[] ): boolean;
		/** [Method] Removes items from an array  
		* @param array Array The Array on which to replace. 
		* @param index Number The index in the array at which to operate. 
		* @param removeCount Number The number of items to remove at index. 
		* @returns Array The array passed. 
		*/
		static erase( array?:any[], index?:number, removeCount?:number ): any[];
		/** [Method] Executes the specified function for each array element until the function returns a falsy value  
		* @param array Array 
		* @param fn Function Callback function for each item 
		* @param scope Object Callback function scope 
		* @returns Boolean True if no false value is returned by the callback function. 
		*/
		static every( array?:any[], fn?:any, scope?:any ): boolean;
		/** [Method] Creates a new array with all of the elements of this array for which the provided filtering function returns true  
		* @param array Array 
		* @param fn Function Callback function for each item 
		* @param scope Object Callback function scope 
		* @returns Array results 
		*/
		static filter( array?:any[], fn?:any, scope?:any ): any[];
		/** [Method] Returns the first item in the array which elicits a true return value from the passed selection function  
		* @param array Array The array to search 
		* @param fn Function The selection function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the array 
		* @returns Object The first item in the array which returned true from the selection function, or null if none was found. 
		*/
		static findBy( array?:any[], fn?:any, scope?:any ): any;
		/** [Method] Recursively flattens into 1 d Array  
		* @param array Array The array to flatten 
		* @returns Array The 1-d array. 
		*/
		static flatten( array?:any[] ): any[];
		/** [Method] Iterates an array and invoke the given callback function for each item  
		* @param array Array The array to iterate 
		* @param fn Function The callback function. 
		* @param scope Object The execution scope (this) in which the specified function is executed. 
		*/
		static forEach( array?:any[], fn?:any, scope?:any ): void;
		/** [Method] Converts a value to an array if it s not already an array returns An empty array if given value is undefined or n  
		* @param value Object The value to convert to an array if it's not already is an array 
		* @param newReference Boolean True to clone the given array and return a new reference if necessary, defaults to false 
		* @returns Array array 
		*/
		static from( value?:any, newReference?:boolean ): any[];
		/** [Method] Push an item into the array only if the array doesn t contain it yet 
		* @param array Array The array 
		* @param item Object The item to include 
		*/
		static include( array?:any[], item?:any ): void;
		/** [Method] Get the index of the provided item in the given array a supplement for the missing arrayPrototype indexOf in Interne  
		* @param array Array The array to check 
		* @param item Object The item to look for 
		* @param from Number The index at which to begin the search 
		* @returns Number The index of item in the array (or -1 if it is not found) 
		*/
		static indexOf( array?:any[], item?:any, from?:number ): number;
		/** [Method] Inserts items in to an array  
		* @param array Array The Array in which to insert. 
		* @param index Number The index in the array at which to operate. 
		* @param items Array The array of items to insert at index. 
		* @returns Array The array passed. 
		*/
		static insert( array?:any[], index?:number, items?:any[] ): any[];
		/** [Method] Merge multiple arrays into one with unique items that exist in all of the arrays  
		* @param array1 Array 
		* @param array2 Array 
		* @param etc Array 
		* @returns Array intersect 
		*/
		static intersect( array1?:any[], array2?:any[], etc?:any[] ): any[];
		/** [Method] Creates a new array with the results of calling a provided function on every element in this array  
		* @param array Array 
		* @param fn Function Callback function for each item 
		* @param scope Object Callback function scope 
		* @returns Array results 
		*/
		static map( array?:any[], fn?:any, scope?:any ): any[];
		/** [Method] Returns the maximum value in the Array  
		* @param array Array/NodeList The Array from which to select the maximum value. 
		* @param comparisonFn Function a function to perform the comparision which determines maximization. If omitted the ">" operator will be used. Note: gt = 1; eq = 0; lt = -1 
		* @returns Object maxValue The maximum value 
		*/
		static max( array?:any, comparisonFn?:any ): any;
		/** [Method] Calculates the mean of all items in the array  
		* @param array Array The Array to calculate the mean value of. 
		* @returns Number The mean. 
		*/
		static mean( array?:any[] ): number;
		/** [Method] Merge multiple arrays into one with unique items  
		* @param array1 Array 
		* @param array2 Array 
		* @param etc Array 
		* @returns Array merged 
		*/
		static merge( array1?:any[], array2?:any[], etc?:any[] ): any[];
		/** [Method] Returns the minimum value in the Array  
		* @param array Array/NodeList The Array from which to select the minimum value. 
		* @param comparisonFn Function a function to perform the comparision which determines minimization. If omitted the "&lt;" operator will be used. Note: gt = 1; eq = 0; lt = -1 
		* @returns Object minValue The minimum value 
		*/
		static min( array?:any, comparisonFn?:any ): any;
		/** [Method] Plucks the value of a property from each item in the Array  
		* @param array Array/NodeList The Array of items to pluck the value from. 
		* @param propertyName String The property name to pluck from each element. 
		* @returns Array The value from each item in the Array. 
		*/
		static pluck( array?:any, propertyName?:string ): any[];
		/** [Method] Pushes new items onto the end of an Array  
		* @param target Array The Array onto which to push new items 
		* @param elements Object... The elements to add to the array. Each parameter may be an Array, in which case all the elements of that Array will be pushed into the end of the destination Array. 
		* @returns Array An array containing all the new items push onto the end. 
		*/
		static push( target:any[], ...elements:any[] ): any[];
		/** [Method] Removes the specified item from the array if it exists 
		* @param array Array The array 
		* @param item Object The item to remove 
		* @returns Array The passed array itself 
		*/
		static remove( array?:any[], item?:any ): any[];
		/** [Method] Replaces items in an array  
		* @param array Array The Array on which to replace. 
		* @param index Number The index in the array at which to operate. 
		* @param removeCount Number The number of items to remove at index (can be 0). 
		* @param insert Array An array of items to insert at index. 
		* @returns Array The array passed. 
		*/
		static replace( array?:any[], index?:number, removeCount?:number, insert?:any[] ): any[];
		/** [Method] Returns a shallow copy of a part of an array  
		* @param array Array The array (or arguments object). 
		* @param begin Number The index at which to begin. Negative values are offsets from the end of the array. 
		* @param end Number The index at which to end. The copied items do not include end. Negative values are offsets from the end of the array. If end is omitted, all items up to the end of the array are copied. 
		* @returns Array The copied piece of the array. 
		*/
		static slice( array?:any[], begin?:number, end?:number ): any[];
		/** [Method] Executes the specified function for each array element until the function returns a truthy value  
		* @param array Array 
		* @param fn Function Callback function for each item 
		* @param scope Object Callback function scope 
		* @returns Boolean True if the callback function returns a truthy value. 
		*/
		static some( array?:any[], fn?:any, scope?:any ): boolean;
		/** [Method] Sorts the elements of an Array  
		* @param array Array The array to sort. 
		* @param sortFn Function The comparison function. 
		* @returns Array The sorted array. 
		*/
		static sort( array?:any[], sortFn?:any ): any[];
		/** [Method] Replaces items in an array  
		* @param array Array The Array on which to replace. 
		* @param index Number The index in the array at which to operate. 
		* @param removeCount Number The number of items to remove at index (can be 0). 
		* @param elements Object... The elements to add to the array. If you don't specify any elements, splice simply removes elements from the array. 
		* @returns Array An array containing the removed items. 
		*/
		static splice( array:any[], index:number, removeCount:number, ...elements:any[] ): any[];
		/** [Method] Calculates the sum of all items in the given array  
		* @param array Array The Array to calculate the sum value of. 
		* @returns Number The sum. 
		*/
		static sum( array?:any[] ): number;
		/** [Method] Converts any iterable numeric indices and a length property into a true array  
		* @param iterable Object the iterable object to be turned into a true Array. 
		* @param start Number a zero-based index that specifies the start of extraction. Defaults to 0 
		* @param end Number a 1-based index that specifies the end of extraction. Defaults to the last index of the iterable value 
		* @returns Array array 
		*/
		static toArray( iterable?:any, start?:number, end?:number ): any[];
		/** [Method] Creates a map object keyed by the elements of the given array  
		* @param array Array The Array to create the map from. 
		* @param getKey String/Function Name of the object property to use as a key or a function to extract the key. 
		* @param scope Object Value of this inside callback. 
		* @returns Object The resulting map. 
		*/
		static toMap( array?:any[], getKey?:any, scope?:any ): any;
		/** [Method] Creates a map object keyed by a property of elements of the given array  
		* @param array Array The Array to create the map from. 
		* @param getKey String/Function Name of the object property to use as a key or a function to extract the key. 
		* @param scope Object Value of this inside callback. 
		* @returns Object The resulting map. 
		*/
		static toValueMap( array?:any[], getKey?:any, scope?:any ): any;
		/** [Method] Merge multiple arrays into one with unique items  
		* @param array1 Array 
		* @param array2 Array 
		* @param etc Array 
		* @returns Array merged 
		*/
		static union( array1?:any[], array2?:any[], etc?:any[] ): any[];
		/** [Method] Returns a new array with unique items 
		* @param array Array 
		* @returns Array results 
		*/
		static unique( array?:any[] ): any[];
	}
}
declare module Ext {
	export interface IBase extends Ext.IClass {
		/** [Property] (Ext.Class) */
		self?: Ext.IClass;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		callOverridden?( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		callParent?( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		callSuper?( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		getInitialConfig?( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		initConfig?( config?:any ): Ext.IBase;
	}
	export class Base {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext.button {
	export interface IButton extends Ext.IComponent,Ext.IQueryable {
		/** [Config Option] (Boolean) */
		allowDepress?: boolean;
		/** [Config Option] (String) */
		arrowAlign?: string;
		/** [Config Option] (String) */
		arrowCls?: string;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Object) */
		baseParams?: any;
		/** [Config Option] (String) */
		clickEvent?: string;
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		destroyMenu?: boolean;
		/** [Config Option] (Boolean) */
		disabled?: boolean;
		/** [Config Option] (Boolean) */
		enableToggle?: boolean;
		/** [Config Option] (String) */
		focusCls?: string;
		/** [Config Option] (Boolean) */
		frame?: boolean;
		/** [Config Option] (Number/String) */
		glyph?: any;
		/** [Config Option] (Boolean) */
		handleMouseEvents?: boolean;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (String) */
		href?: string;
		/** [Config Option] (String) */
		hrefTarget?: string;
		/** [Config Option] (String) */
		icon?: string;
		/** [Config Option] (String) */
		iconAlign?: string;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (Ext.menu.Menu/String/Object) */
		menu?: any;
		/** [Config Option] (String) */
		menuActiveCls?: string;
		/** [Config Option] (String) */
		menuAlign?: string;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (String) */
		overCls?: string;
		/** [Config Option] (String) */
		overflowText?: string;
		/** [Config Option] (Object) */
		params?: any;
		/** [Config Option] (Boolean) */
		pressed?: boolean;
		/** [Config Option] (String) */
		pressedCls?: string;
		/** [Config Option] (Boolean) */
		preventDefault?: boolean;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Boolean/Object) */
		repeat?: any;
		/** [Config Option] ("small"/"medium"/"large") */
		scale?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		showEmptyMenu?: boolean;
		/** [Config Option] (Boolean/Number) */
		shrinkWrap?: any;
		/** [Config Option] (Number) */
		tabIndex?: number;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (String) */
		textAlign?: string;
		/** [Config Option] (String) */
		toggleGroup?: string;
		/** [Config Option] (Function) */
		toggleHandler?: any;
		/** [Config Option] (String/Object) */
		tooltip?: any;
		/** [Config Option] (String) */
		tooltipType?: string;
		/** [Property] (Boolean) */
		isAction?: boolean;
		/** [Property] (Ext.Template) */
		template?: Ext.ITemplate;
		/** [Method] Retrieves the first direct child of this container which matches the passed selector or component  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching child Ext.Component (or null if no match was found). 
		*/
		child?( selector?:any ): any;
		/** [Method] inherit docs 
		* @param silent Object 
		*/
		disable?( silent?:any ): void;
		/** [Method] Retrieves the first descendant of this container which matches the passed selector  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector or Ext.Component. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching descendant Ext.Component (or null if no match was found). 
		*/
		down?( selector?:any ): any;
		/** [Method] inherit docs 
		* @param silent Object 
		*/
		enable?( silent?:any ): void;
		/** [Method] This method returns an object which provides substitution parameters for the XTemplate used to create this Button s D  
		* @returns Object Substitution data for a Template. The default implementation which provides data for the default template returns an Object containing the following properties: 
		*/
		getTemplateArgs?(): any;
		/** [Method] Gets the text for this Button 
		* @returns String The button text 
		*/
		getText?(): string;
		/** [Method] Returns true if the button has a menu and it is visible 
		* @returns Boolean 
		*/
		hasVisibleMenu?(): boolean;
		/** [Method] Hides this button s menu if it has one  
		* @returns Ext.button.Button this 
		*/
		hideMenu?(): Ext.button.IButton;
		/** [Method] inherit docs */
		initComponent?(): void;
		/** [Method] See comments in onFocus */
		onDisable?(): void;
		/** [Method] Retrieves all descendant components which match the passed selector  
		* @param selector String Selector complying to an Ext.ComponentQuery selector. If no selector is specified all items will be returned. 
		* @returns Ext.Component[] Components which matched the selector 
		*/
		query?( selector?:string ): Ext.IComponent[];
		/** [Method] Retrieves all descendant components which match the passed function  
		* @param fn Function The matcher function. It will be called with a single argument, the component being tested. 
		* @param scope Object The scope in which to run the function. If not specified, it will default to the active component. 
		* @returns Ext.Component[] Components matched by the passed function 
		*/
		queryBy?( fn?:any, scope?:any ): Ext.IComponent[];
		/** [Method] Finds a component at any level under this container matching the id itemId  
		* @param id String The id to find 
		* @returns Ext.Component The matching id, null if not found 
		*/
		queryById?( id?:string ): Ext.IComponent;
		/** [Method] Sets this button s glyph 
		* @param glyph Number/String the numeric charCode or string charCode/font-family. This parameter expects a format consistent with that of glyph 
		* @returns Ext.button.Button this 
		*/
		setGlyph?( glyph?:any ): Ext.button.IButton;
		/** [Method] Assigns this Button s click handler 
		* @param handler Function The function to call when the button is clicked 
		* @param scope Object The scope (this reference) in which the handler function is executed. Defaults to this Button. 
		* @returns Ext.button.Button this 
		*/
		setHandler?( handler?:any, scope?:any ): Ext.button.IButton;
		/** [Method] Sets the href of the embedded anchor element to the passed URL  
		* @param href String The URL to set in the anchor element. 
		*/
		setHref?( href?:string ): void;
		/** [Method] Sets the background image inline style of the button  
		* @param icon String The path to an image to display in the button 
		* @returns Ext.button.Button this 
		*/
		setIcon?( icon?:string ): Ext.button.IButton;
		/** [Method] Sets the CSS class that provides a background image to use as the button s icon  
		* @param cls String The CSS class providing the icon image 
		* @returns Ext.button.Button this 
		*/
		setIconCls?( cls?:string ): Ext.button.IButton;
		/** [Method] Sets the href of the link dynamically according to the params passed and any baseParams configured  
		* @param params Object Parameters to use in the href URL. 
		*/
		setParams?( params?:any ): void;
		/** [Method] Method to change the scale of the button  
		* @param scale String The scale to change to. 
		*/
		setScale?( scale?:string ): void;
		/** [Method] Sets this Button s text 
		* @param text String The button text 
		* @returns Ext.button.Button this 
		*/
		setText?( text?:string ): Ext.button.IButton;
		/** [Method] Sets the text alignment for this button  
		* @param align String The new alignment of the button text. See textAlign. 
		*/
		setTextAlign?( align?:string ): void;
		/** [Method] Sets the tooltip for this Button  
		* @param tooltip String/Object This may be:  String : A string to be used as innerHTML (html tags are accepted) to show in a tooltip Object : A configuration object for Ext.tip.QuickTipManager.register.  
		* @returns Ext.button.Button this 
		*/
		setTooltip?( tooltip?:any ): Ext.button.IButton;
		/** [Method] inherit docs 
		* @param ui Object 
		*/
		setUI?( ui?:any ): void;
		/** [Method] Shows this button s menu if it has one  
		* @param fromEvent Object 
		*/
		showMenu?( fromEvent?:any ): void;
		/** [Method] If a state it passed it becomes the pressed state otherwise the current state is toggled  
		* @param state Boolean Force a particular state 
		* @param suppressEvent Boolean True to stop events being fired when calling this method. 
		* @returns Ext.button.Button this 
		*/
		toggle?( state?:boolean, suppressEvent?:boolean ): Ext.button.IButton;
	}
}
declare module Ext {
	export interface IButton extends Ext.IComponent,Ext.IQueryable {
		/** [Config Option] (Boolean) */
		allowDepress?: boolean;
		/** [Config Option] (String) */
		arrowAlign?: string;
		/** [Config Option] (String) */
		arrowCls?: string;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Object) */
		baseParams?: any;
		/** [Config Option] (String) */
		clickEvent?: string;
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		destroyMenu?: boolean;
		/** [Config Option] (Boolean) */
		disabled?: boolean;
		/** [Config Option] (Boolean) */
		enableToggle?: boolean;
		/** [Config Option] (String) */
		focusCls?: string;
		/** [Config Option] (Boolean) */
		frame?: boolean;
		/** [Config Option] (Number/String) */
		glyph?: any;
		/** [Config Option] (Boolean) */
		handleMouseEvents?: boolean;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (String) */
		href?: string;
		/** [Config Option] (String) */
		hrefTarget?: string;
		/** [Config Option] (String) */
		icon?: string;
		/** [Config Option] (String) */
		iconAlign?: string;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (Ext.menu.Menu/String/Object) */
		menu?: any;
		/** [Config Option] (String) */
		menuActiveCls?: string;
		/** [Config Option] (String) */
		menuAlign?: string;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (String) */
		overCls?: string;
		/** [Config Option] (String) */
		overflowText?: string;
		/** [Config Option] (Object) */
		params?: any;
		/** [Config Option] (Boolean) */
		pressed?: boolean;
		/** [Config Option] (String) */
		pressedCls?: string;
		/** [Config Option] (Boolean) */
		preventDefault?: boolean;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Boolean/Object) */
		repeat?: any;
		/** [Config Option] ("small"/"medium"/"large") */
		scale?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		showEmptyMenu?: boolean;
		/** [Config Option] (Boolean/Number) */
		shrinkWrap?: any;
		/** [Config Option] (Number) */
		tabIndex?: number;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (String) */
		textAlign?: string;
		/** [Config Option] (String) */
		toggleGroup?: string;
		/** [Config Option] (Function) */
		toggleHandler?: any;
		/** [Config Option] (String/Object) */
		tooltip?: any;
		/** [Config Option] (String) */
		tooltipType?: string;
		/** [Property] (Boolean) */
		isAction?: boolean;
		/** [Property] (Ext.Template) */
		template?: Ext.ITemplate;
		/** [Method] Retrieves the first direct child of this container which matches the passed selector or component  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching child Ext.Component (or null if no match was found). 
		*/
		child?( selector?:any ): any;
		/** [Method] inherit docs 
		* @param silent Object 
		*/
		disable?( silent?:any ): void;
		/** [Method] Retrieves the first descendant of this container which matches the passed selector  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector or Ext.Component. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching descendant Ext.Component (or null if no match was found). 
		*/
		down?( selector?:any ): any;
		/** [Method] inherit docs 
		* @param silent Object 
		*/
		enable?( silent?:any ): void;
		/** [Method] This method returns an object which provides substitution parameters for the XTemplate used to create this Button s D  
		* @returns Object Substitution data for a Template. The default implementation which provides data for the default template returns an Object containing the following properties: 
		*/
		getTemplateArgs?(): any;
		/** [Method] Gets the text for this Button 
		* @returns String The button text 
		*/
		getText?(): string;
		/** [Method] Returns true if the button has a menu and it is visible 
		* @returns Boolean 
		*/
		hasVisibleMenu?(): boolean;
		/** [Method] Hides this button s menu if it has one  
		* @returns Ext.button.Button this 
		*/
		hideMenu?(): Ext.button.IButton;
		/** [Method] inherit docs */
		initComponent?(): void;
		/** [Method] See comments in onFocus */
		onDisable?(): void;
		/** [Method] Retrieves all descendant components which match the passed selector  
		* @param selector String Selector complying to an Ext.ComponentQuery selector. If no selector is specified all items will be returned. 
		* @returns Ext.Component[] Components which matched the selector 
		*/
		query?( selector?:string ): Ext.IComponent[];
		/** [Method] Retrieves all descendant components which match the passed function  
		* @param fn Function The matcher function. It will be called with a single argument, the component being tested. 
		* @param scope Object The scope in which to run the function. If not specified, it will default to the active component. 
		* @returns Ext.Component[] Components matched by the passed function 
		*/
		queryBy?( fn?:any, scope?:any ): Ext.IComponent[];
		/** [Method] Finds a component at any level under this container matching the id itemId  
		* @param id String The id to find 
		* @returns Ext.Component The matching id, null if not found 
		*/
		queryById?( id?:string ): Ext.IComponent;
		/** [Method] Sets this button s glyph 
		* @param glyph Number/String the numeric charCode or string charCode/font-family. This parameter expects a format consistent with that of glyph 
		* @returns Ext.button.Button this 
		*/
		setGlyph?( glyph?:any ): Ext.button.IButton;
		/** [Method] Assigns this Button s click handler 
		* @param handler Function The function to call when the button is clicked 
		* @param scope Object The scope (this reference) in which the handler function is executed. Defaults to this Button. 
		* @returns Ext.button.Button this 
		*/
		setHandler?( handler?:any, scope?:any ): Ext.button.IButton;
		/** [Method] Sets the href of the embedded anchor element to the passed URL  
		* @param href String The URL to set in the anchor element. 
		*/
		setHref?( href?:string ): void;
		/** [Method] Sets the background image inline style of the button  
		* @param icon String The path to an image to display in the button 
		* @returns Ext.button.Button this 
		*/
		setIcon?( icon?:string ): Ext.button.IButton;
		/** [Method] Sets the CSS class that provides a background image to use as the button s icon  
		* @param cls String The CSS class providing the icon image 
		* @returns Ext.button.Button this 
		*/
		setIconCls?( cls?:string ): Ext.button.IButton;
		/** [Method] Sets the href of the link dynamically according to the params passed and any baseParams configured  
		* @param params Object Parameters to use in the href URL. 
		*/
		setParams?( params?:any ): void;
		/** [Method] Method to change the scale of the button  
		* @param scale String The scale to change to. 
		*/
		setScale?( scale?:string ): void;
		/** [Method] Sets this Button s text 
		* @param text String The button text 
		* @returns Ext.button.Button this 
		*/
		setText?( text?:string ): Ext.button.IButton;
		/** [Method] Sets the text alignment for this button  
		* @param align String The new alignment of the button text. See textAlign. 
		*/
		setTextAlign?( align?:string ): void;
		/** [Method] Sets the tooltip for this Button  
		* @param tooltip String/Object This may be:  String : A string to be used as innerHTML (html tags are accepted) to show in a tooltip Object : A configuration object for Ext.tip.QuickTipManager.register.  
		* @returns Ext.button.Button this 
		*/
		setTooltip?( tooltip?:any ): Ext.button.IButton;
		/** [Method] inherit docs 
		* @param ui Object 
		*/
		setUI?( ui?:any ): void;
		/** [Method] Shows this button s menu if it has one  
		* @param fromEvent Object 
		*/
		showMenu?( fromEvent?:any ): void;
		/** [Method] If a state it passed it becomes the pressed state otherwise the current state is toggled  
		* @param state Boolean Force a particular state 
		* @param suppressEvent Boolean True to stop events being fired when calling this method. 
		* @returns Ext.button.Button this 
		*/
		toggle?( state?:boolean, suppressEvent?:boolean ): Ext.button.IButton;
	}
}
declare module Ext.button {
	export interface ICycle extends Ext.button.ISplit {
		/** [Config Option] (Function) */
		changeHandler?: any;
		/** [Config Option] (Number/String) */
		forceGlyph?: any;
		/** [Config Option] (String) */
		forceIcon?: string;
		/** [Config Option] (Object[]) */
		items?: any[];
		/** [Config Option] (String) */
		prependText?: string;
		/** [Config Option] (Boolean) */
		showText?: boolean;
		/** [Property] (Ext.menu.Menu) */
		menu?: Ext.menu.IMenu;
		/** [Method] Gets the currently active menu item  
		* @returns Ext.menu.CheckItem The active item 
		*/
		getActiveItem?(): Ext.menu.ICheckItem;
		/** [Method] Sets the button s active menu item  
		* @param item Ext.menu.CheckItem The item to activate 
		* @param suppressEvent Boolean True to prevent the button's change event from firing. 
		*/
		setActiveItem?( item?:Ext.menu.ICheckItem, suppressEvent?:boolean ): void;
		/** [Method] This is normally called internally on button click but can be called externally to advance the button s active item */
		toggleSelected?(): void;
	}
}
declare module Ext {
	export interface ICycleButton extends Ext.button.ISplit {
		/** [Config Option] (Function) */
		changeHandler?: any;
		/** [Config Option] (Number/String) */
		forceGlyph?: any;
		/** [Config Option] (String) */
		forceIcon?: string;
		/** [Config Option] (Object[]) */
		items?: any[];
		/** [Config Option] (String) */
		prependText?: string;
		/** [Config Option] (Boolean) */
		showText?: boolean;
		/** [Property] (Ext.menu.Menu) */
		menu?: Ext.menu.IMenu;
		/** [Method] Gets the currently active menu item  
		* @returns Ext.menu.CheckItem The active item 
		*/
		getActiveItem?(): Ext.menu.ICheckItem;
		/** [Method] Sets the button s active menu item  
		* @param item Ext.menu.CheckItem The item to activate 
		* @param suppressEvent Boolean True to prevent the button's change event from firing. 
		*/
		setActiveItem?( item?:Ext.menu.ICheckItem, suppressEvent?:boolean ): void;
		/** [Method] This is normally called internally on button click but can be called externally to advance the button s active item */
		toggleSelected?(): void;
	}
}
declare module Ext.button {
	export interface IManager extends Ext.IBase {
	}
	export class Manager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext {
	export interface IButtonToggleManager extends Ext.IBase {
	}
	export class ButtonToggleManager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.button {
	export interface ISplit extends Ext.button.IButton {
		/** [Config Option] (Function) */
		arrowHandler?: any;
		/** [Config Option] (String) */
		arrowTooltip?: string;
		/** [Method] Sets this button s arrow click handler  
		* @param handler Function The function to call when the arrow is clicked. 
		* @param scope Object Scope for the function passed above. 
		*/
		setArrowHandler?( handler?:any, scope?:any ): void;
	}
}
declare module Ext {
	export interface ISplitButton extends Ext.button.IButton {
		/** [Config Option] (Function) */
		arrowHandler?: any;
		/** [Config Option] (String) */
		arrowTooltip?: string;
		/** [Method] Sets this button s arrow click handler  
		* @param handler Function The function to call when the arrow is clicked. 
		* @param scope Object Scope for the function passed above. 
		*/
		setArrowHandler?( handler?:any, scope?:any ): void;
	}
}
declare module Ext.chart.axis {
	export interface IAbstract extends Ext.IBase {
		/** [Config Option] (String[]) */
		fields?: string[];
		/** [Config Option] (Ext.chart.Label) */
		label?: Ext.chart.ILabel;
	}
}
declare module Ext.chart.axis {
	export interface IAxis extends Ext.chart.axis.IAbstract {
		/** [Config Option] (Boolean) */
		adjustEnd?: boolean;
		/** [Config Option] (Number) */
		dashSize?: number;
		/** [Config Option] (Boolean/Object) */
		grid?: any;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (Number) */
		length?: number;
		/** [Config Option] (Number) */
		majorTickSteps?: number;
		/** [Config Option] (Number) */
		minorTickSteps?: number;
		/** [Config Option] (String) */
		position?: string;
		/** [Config Option] (String) */
		title?: string;
		/** [Config Option] (Number) */
		width?: number;
		/** [Method] Renders the axis into the screen and updates its position  
		* @param init Object 
		*/
		drawAxis?( init?:any ): void;
		/** [Method] Renders an horizontal and or vertical grid into the Surface  */
		drawGrid?(): void;
		/** [Method] Renders the labels in the axes  */
		drawLabel?(): void;
		/** [Method] Updates the title of this axis  
		* @param title String 
		*/
		setTitle?( title?:string ): void;
	}
}
declare module Ext.chart {
	export interface IAxis extends Ext.chart.axis.IAbstract {
		/** [Config Option] (Boolean) */
		adjustEnd?: boolean;
		/** [Config Option] (Number) */
		dashSize?: number;
		/** [Config Option] (Boolean/Object) */
		grid?: any;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (Number) */
		length?: number;
		/** [Config Option] (Number) */
		majorTickSteps?: number;
		/** [Config Option] (Number) */
		minorTickSteps?: number;
		/** [Config Option] (String) */
		position?: string;
		/** [Config Option] (String) */
		title?: string;
		/** [Config Option] (Number) */
		width?: number;
		/** [Method] Renders the axis into the screen and updates its position  
		* @param init Object 
		*/
		drawAxis?( init?:any ): void;
		/** [Method] Renders an horizontal and or vertical grid into the Surface  */
		drawGrid?(): void;
		/** [Method] Renders the labels in the axes  */
		drawLabel?(): void;
		/** [Method] Updates the title of this axis  
		* @param title String 
		*/
		setTitle?( title?:string ): void;
	}
}
declare module Ext.chart.axis {
	export interface ICategory extends Ext.chart.axis.IAxis {
		/** [Config Option] (Boolean) */
		calculateCategoryCount?: boolean;
		/** [Config Option] (String) */
		categoryNames?: string;
	}
}
declare module Ext.chart {
	export interface ICategoryAxis extends Ext.chart.axis.IAxis {
		/** [Config Option] (Boolean) */
		calculateCategoryCount?: boolean;
		/** [Config Option] (String) */
		categoryNames?: string;
	}
}
declare module Ext.chart.axis {
	export interface IGauge extends Ext.chart.axis.IAbstract {
		/** [Config Option] (Number) */
		margin?: number;
		/** [Config Option] (Number) */
		maximum?: number;
		/** [Config Option] (Number) */
		minimum?: number;
		/** [Config Option] (Number) */
		steps?: number;
		/** [Config Option] (String) */
		title?: string;
		/** [Method] Updates the title of this axis  
		* @param title String 
		*/
		setTitle?( title?:string ): void;
	}
}
declare module Ext.chart.axis {
	export interface INumeric extends Ext.chart.axis.IAxis {
		/** [Config Option] (Boolean) */
		adjustMaximumByMajorUnit?: boolean;
		/** [Config Option] (Boolean) */
		adjustMinimumByMajorUnit?: boolean;
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Number) */
		decimals?: number;
		/** [Config Option] (Number) */
		maximum?: number;
		/** [Config Option] (Number) */
		minimum?: number;
		/** [Config Option] (String) */
		position?: string;
	}
}
declare module Ext.chart {
	export interface INumericAxis extends Ext.chart.axis.IAxis {
		/** [Config Option] (Boolean) */
		adjustMaximumByMajorUnit?: boolean;
		/** [Config Option] (Boolean) */
		adjustMinimumByMajorUnit?: boolean;
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Number) */
		decimals?: number;
		/** [Config Option] (Number) */
		maximum?: number;
		/** [Config Option] (Number) */
		minimum?: number;
		/** [Config Option] (String) */
		position?: string;
	}
}
declare module Ext.chart.axis {
	export interface IRadial extends Ext.chart.axis.INumeric {
		/** [Config Option] (Number) */
		maximum?: number;
		/** [Config Option] (String) */
		position?: string;
		/** [Config Option] (Number) */
		steps?: number;
		/** [Method] Renders the labels in the axes  */
		drawLabel?(): void;
	}
}
declare module Ext.chart.axis {
	export interface ITime extends Ext.chart.axis.INumeric {
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (String/Boolean) */
		dateFormat?: any;
		/** [Config Option] (Date) */
		fromDate?: any;
		/** [Config Option] (Array) */
		step?: any[];
		/** [Config Option] (Date) */
		toDate?: any;
	}
}
declare module Ext.chart {
	export interface ITimeAxis extends Ext.chart.axis.INumeric {
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (String/Boolean) */
		dateFormat?: any;
		/** [Config Option] (Date) */
		fromDate?: any;
		/** [Config Option] (Array) */
		step?: any[];
		/** [Config Option] (Date) */
		toDate?: any;
	}
}
declare module Ext.chart {
	export interface ICallout extends Ext.IBase {
	}
}
declare module Ext.chart {
	export interface IChart extends Ext.draw.IComponent,Ext.chart.theme.ITheme,Ext.chart.IMask,Ext.chart.INavigation,Ext.util.IBindable,Ext.util.IObservable {
		/** [Config Option] (Boolean/Object) */
		animate?: any;
		/** [Config Option] (Ext.chart.axis.Axis[]) */
		axes?: Ext.chart.axis.IAxis[];
		/** [Config Option] (Object/Boolean) */
		background?: any;
		/** [Config Option] (Object[]) */
		gradients?: any[];
		/** [Config Option] (Number) */
		insetPadding?: number;
		/** [Config Option] (Boolean/Object) */
		legend?: any;
		/** [Config Option] (Ext.chart.series.Series[]) */
		series?: Ext.chart.series.ISeries[];
		/** [Config Option] (Ext.data.Store) */
		store?: Ext.data.IStore;
		/** [Config Option] (String) */
		theme?: string;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Binds a store to this instance  
		* @param store Object 
		* @param initial Object 
		*/
		bindStore?( store?:any, initial?:any ): void;
		/** [Method] Binds listeners for this component to the store  
		* @param store Ext.data.AbstractStore The store to bind to 
		*/
		bindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Gets the current store instance  
		* @returns Ext.data.AbstractStore The store, null if one does not exist. 
		*/
		getStore?(): Ext.data.IAbstractStore;
		/** [Method] Gets the listeners to bind to a new store  
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?(): any;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] The initComponent template method is an important initialization step for a Component  */
		initComponent?(): void;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Template method it is called when a new store is bound to the current instance  
		* @param store Ext.data.AbstractStore The store being bound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onBindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  
		* @param store Ext.data.AbstractStore The store being unbound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onUnbindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Redraws the chart  
		* @param resize Boolean flag which changes the default origin points of the chart for animations. 
		*/
		redraw?( resize?:boolean ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Restores the zoom to the original value  */
		restoreZoom?(): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Saves the chart by either triggering a download or returning a string containing the chart data as SVG  
		* @param config Object The configuration to be passed to the exporter. See the export method for the appropriate exporter for the relevant configuration options 
		* @returns Object See the return types for the appropriate exporter 
		*/
		save?( config?:any ): any;
		/** [Method] Zooms the chart to the specified selection range  
		* @param zoomConfig Object 
		*/
		setZoom?( zoomConfig?:any ): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Unbinds listeners from this component to the store  
		* @param store Ext.data.AbstractStore The store to unbind from 
		*/
		unbindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
	}
}
declare module Ext.chart {
	export interface IHighlight extends Ext.IBase {
		/** [Config Option] (Boolean/Object) */
		highlight?: any;
		/** [Property] (Object) */
		highlightCfg?: any;
		/** [Method] Highlight the given series item  
		* @param item Object Info about the item; same format as returned by #getItemForPoint. 
		*/
		highlightItem?( item?:any ): void;
		/** [Method] Un highlight any existing highlights */
		unHighlightItem?(): void;
	}
}
declare module Ext.chart {
	export interface ILabel extends Ext.IBase {
		/** [Config Option] (Object) */
		label?: any;
		/** [Method] Called each time a new label is created  
		* @param storeItem Ext.data.Model The element of the store that is related to the sprite. 
		* @param item Object The item related to the sprite. An item is an object containing the position of the shape used to describe the visualization and also pointing to the actual shape (circle, rectangle, path, etc). 
		* @param i Number The index of the element created (i.e the first created label, second created label, etc). 
		* @param display String The label.display type. May be false if the label is hidden 
		* @returns Ext.draw.Sprite The created sprite that will draw the label. 
		*/
		onCreateLabel?( storeItem?:Ext.data.IModel, item?:any, i?:number, display?:string ): Ext.draw.ISprite;
		/** [Method] Called for updating the position of the label  
		* @param label Ext.draw.Sprite The sprite that draws the label. 
		* @param storeItem Ext.data.Model The element of the store that is related to the sprite. 
		* @param item Object The item related to the sprite. An item is an object containing the position of the shape used to describe the visualization and also pointing to the actual shape (circle, rectangle, path, etc). 
		* @param i Number The index of the element to be updated (i.e. whether it is the first, second, third from the labelGroup) 
		* @param display String The label.display type. May be false if the label is hidden 
		* @param animate Boolean A boolean value to set or unset animations for the labels. 
		* @param index Number The series index. 
		*/
		onPlaceLabel?( label?:Ext.draw.ISprite, storeItem?:Ext.data.IModel, item?:any, i?:number, display?:string, animate?:boolean, index?:number ): void;
	}
}
declare module Ext.chart {
	export interface ILegend extends Ext.IBase {
		/** [Config Option] (String) */
		boxFill?: string;
		/** [Config Option] (String) */
		boxStroke?: string;
		/** [Config Option] (String) */
		boxStrokeWidth?: string;
		/** [Config Option] (Number) */
		boxZIndex?: number;
		/** [Config Option] (Number) */
		itemSpacing?: number;
		/** [Config Option] (String) */
		labelColor?: string;
		/** [Config Option] (String) */
		labelFont?: string;
		/** [Config Option] (Number) */
		padding?: number;
		/** [Config Option] (String) */
		position?: string;
		/** [Config Option] (Boolean) */
		update?: boolean;
		/** [Config Option] (Boolean) */
		visible?: boolean;
		/** [Config Option] (Number) */
		x?: number;
		/** [Config Option] (Number) */
		y?: number;
		/** [Property] (Boolean) */
		isVertical?: boolean;
		/** [Method] toggle 
		* @param show Boolean Whether to show or hide the legend. 
		*/
		toggle?( show?:boolean ): void;
	}
}
declare module Ext.chart {
	export interface ILegendItem extends Ext.draw.ICompositeSprite {
		/** [Method] Creates all the individual sprites for this legend item 
		* @param config Object 
		*/
		createLegend?( config?:any ): void;
		/** [Method] Update the positions of all this item s sprites to match the root position of the legend box  
		* @param relativeTo Object If specified, this object's 'x' and 'y' values will be used as the reference point for the relative positioning. Defaults to the Legend. 
		*/
		updatePosition?( relativeTo?:any ): void;
	}
}
declare module Ext.chart {
	export interface IMask extends Ext.IBase {
		/** [Config Option] (Boolean/String) */
		mask?: any;
	}
}
declare module Ext.chart {
	export interface IMaskLayer extends Ext.IComponent {
		/** [Method] The initComponent template method is an important initialization step for a Component  */
		initComponent?(): void;
	}
}
declare module Ext.chart {
	export interface INavigation extends Ext.IBase {
		/** [Method] Restores the zoom to the original value  */
		restoreZoom?(): void;
		/** [Method] Zooms the chart to the specified selection range  
		* @param zoomConfig Object 
		*/
		setZoom?( zoomConfig?:any ): void;
	}
}
declare module Ext.chart.series {
	export interface IArea extends Ext.chart.series.ICartesian {
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
		/** [Method] Returns the color of the series to be displayed as color for the series legend item 
		* @param item Object Info about the item; same format as returned by getItemForPoint 
		*/
		getLegendColor?( item?:any ): void;
		/** [Method] Highlight the specified item  
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		highlightItem?( item?:any ): void;
		/** [Method] Highlight this entire series  
		* @param item Object Info about the item; same format as returned by getItemForPoint. 
		*/
		highlightSeries?( item?:any ): void;
		/** [Method] Un highlights the specified item  
		* @param item Object Info about the item; same format as returned by getItemForPoint 
		*/
		unHighlightItem?( item?:any ): void;
		/** [Method] UnHighlight this entire series  
		* @param item Object Info about the item; same format as returned by getItemForPoint. 
		*/
		unHighlightSeries?( item?:any ): void;
	}
}
declare module Ext.chart.series {
	export interface IBar extends Ext.chart.series.ICartesian {
		/** [Config Option] (Boolean) */
		column?: boolean;
		/** [Config Option] (Number) */
		groupGutter?: number;
		/** [Config Option] (Number) */
		gutter?: number;
		/** [Config Option] (Boolean) */
		stacked?: boolean;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (Number/Object) */
		xPadding?: any;
		/** [Config Option] (Number/Object) */
		yPadding?: any;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
		/** [Method] Returns a string with the color to be used for the series legend item  
		* @param index Object 
		*/
		getLegendColor?( index?:any ): void;
		/** [Method] Highlight the given series item  
		* @param item Object 
		*/
		highlightItem?( item?:any ): void;
		/** [Method] Un highlight any existing highlights */
		unHighlightItem?(): void;
	}
}
declare module Ext.chart {
	export interface IBarSeries extends Ext.chart.series.ICartesian {
		/** [Config Option] (Boolean) */
		column?: boolean;
		/** [Config Option] (Number) */
		groupGutter?: number;
		/** [Config Option] (Number) */
		gutter?: number;
		/** [Config Option] (Boolean) */
		stacked?: boolean;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (Number/Object) */
		xPadding?: any;
		/** [Config Option] (Number/Object) */
		yPadding?: any;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
		/** [Method] Returns a string with the color to be used for the series legend item  
		* @param index Object 
		*/
		getLegendColor?( index?:any ): void;
		/** [Method] Highlight the given series item  
		* @param item Object 
		*/
		highlightItem?( item?:any ): void;
		/** [Method] Un highlight any existing highlights */
		unHighlightItem?(): void;
	}
}
declare module Ext.chart {
	export interface IBarChart extends Ext.chart.series.ICartesian {
		/** [Config Option] (Boolean) */
		column?: boolean;
		/** [Config Option] (Number) */
		groupGutter?: number;
		/** [Config Option] (Number) */
		gutter?: number;
		/** [Config Option] (Boolean) */
		stacked?: boolean;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (Number/Object) */
		xPadding?: any;
		/** [Config Option] (Number/Object) */
		yPadding?: any;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
		/** [Method] Returns a string with the color to be used for the series legend item  
		* @param index Object 
		*/
		getLegendColor?( index?:any ): void;
		/** [Method] Highlight the given series item  
		* @param item Object 
		*/
		highlightItem?( item?:any ): void;
		/** [Method] Un highlight any existing highlights */
		unHighlightItem?(): void;
	}
}
declare module Ext.chart {
	export interface IStackedBarChart extends Ext.chart.series.ICartesian {
		/** [Config Option] (Boolean) */
		column?: boolean;
		/** [Config Option] (Number) */
		groupGutter?: number;
		/** [Config Option] (Number) */
		gutter?: number;
		/** [Config Option] (Boolean) */
		stacked?: boolean;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (Number/Object) */
		xPadding?: any;
		/** [Config Option] (Number/Object) */
		yPadding?: any;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
		/** [Method] Returns a string with the color to be used for the series legend item  
		* @param index Object 
		*/
		getLegendColor?( index?:any ): void;
		/** [Method] Highlight the given series item  
		* @param item Object 
		*/
		highlightItem?( item?:any ): void;
		/** [Method] Un highlight any existing highlights */
		unHighlightItem?(): void;
	}
}
declare module Ext.chart.series {
	export interface ICartesian extends Ext.chart.series.ISeries {
		/** [Config Option] (String/String[]) */
		axis?: any;
		/** [Config Option] (String) */
		xField?: string;
		/** [Config Option] (String/String[]) */
		yField?: any;
		/** [Method] Iterates over a given record s values for each of this series s yFields executing a given function for each value  
		* @param record Ext.data.Model 
		* @param fn Function 
		* @param scope Object 
		*/
		eachYValue?( record?:Ext.data.IModel, fn?:any, scope?:any ): void;
		/** [Method] Calculate the min and max values for this series s xField  
		* @returns Array [min, max] 
		*/
		getMinMaxXValues?(): any[];
		/** [Method] Calculate the min and max values for this series s yField s 
		* @returns Array [min, max] 
		*/
		getMinMaxYValues?(): any[];
		/** [Method] Returns an array of functions each of which returns the value of the yField corresponding to function s index in the  
		* @returns Array array of accessor functions 
		*/
		getYValueAccessors?(): any[];
		/** [Method] Returns the number of yField values taking into account fields combined via legend drag drop  
		* @returns Number 
		*/
		getYValueCount?(): number;
	}
}
declare module Ext.chart {
	export interface ICartesianSeries extends Ext.chart.series.ISeries {
		/** [Config Option] (String/String[]) */
		axis?: any;
		/** [Config Option] (String) */
		xField?: string;
		/** [Config Option] (String/String[]) */
		yField?: any;
		/** [Method] Iterates over a given record s values for each of this series s yFields executing a given function for each value  
		* @param record Ext.data.Model 
		* @param fn Function 
		* @param scope Object 
		*/
		eachYValue?( record?:Ext.data.IModel, fn?:any, scope?:any ): void;
		/** [Method] Calculate the min and max values for this series s xField  
		* @returns Array [min, max] 
		*/
		getMinMaxXValues?(): any[];
		/** [Method] Calculate the min and max values for this series s yField s 
		* @returns Array [min, max] 
		*/
		getMinMaxYValues?(): any[];
		/** [Method] Returns an array of functions each of which returns the value of the yField corresponding to function s index in the  
		* @returns Array array of accessor functions 
		*/
		getYValueAccessors?(): any[];
		/** [Method] Returns the number of yField values taking into account fields combined via legend drag drop  
		* @returns Number 
		*/
		getYValueCount?(): number;
	}
}
declare module Ext.chart {
	export interface ICartesianChart extends Ext.chart.series.ISeries {
		/** [Config Option] (String/String[]) */
		axis?: any;
		/** [Config Option] (String) */
		xField?: string;
		/** [Config Option] (String/String[]) */
		yField?: any;
		/** [Method] Iterates over a given record s values for each of this series s yFields executing a given function for each value  
		* @param record Ext.data.Model 
		* @param fn Function 
		* @param scope Object 
		*/
		eachYValue?( record?:Ext.data.IModel, fn?:any, scope?:any ): void;
		/** [Method] Calculate the min and max values for this series s xField  
		* @returns Array [min, max] 
		*/
		getMinMaxXValues?(): any[];
		/** [Method] Calculate the min and max values for this series s yField s 
		* @returns Array [min, max] 
		*/
		getMinMaxYValues?(): any[];
		/** [Method] Returns an array of functions each of which returns the value of the yField corresponding to function s index in the  
		* @returns Array array of accessor functions 
		*/
		getYValueAccessors?(): any[];
		/** [Method] Returns the number of yField values taking into account fields combined via legend drag drop  
		* @returns Number 
		*/
		getYValueCount?(): number;
	}
}
declare module Ext.chart.series {
	export interface IColumn extends Ext.chart.series.IBar {
		/** [Config Option] (String) */
		axis?: string;
		/** [Config Option] (Boolean) */
		column?: boolean;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (Number/Object) */
		xPadding?: any;
		/** [Config Option] (Number/Object) */
		yPadding?: any;
	}
}
declare module Ext.chart {
	export interface IColumnSeries extends Ext.chart.series.IBar {
		/** [Config Option] (String) */
		axis?: string;
		/** [Config Option] (Boolean) */
		column?: boolean;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (Number/Object) */
		xPadding?: any;
		/** [Config Option] (Number/Object) */
		yPadding?: any;
	}
}
declare module Ext.chart {
	export interface IColumnChart extends Ext.chart.series.IBar {
		/** [Config Option] (String) */
		axis?: string;
		/** [Config Option] (Boolean) */
		column?: boolean;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (Number/Object) */
		xPadding?: any;
		/** [Config Option] (Number/Object) */
		yPadding?: any;
	}
}
declare module Ext.chart {
	export interface IStackedColumnChart extends Ext.chart.series.IBar {
		/** [Config Option] (String) */
		axis?: string;
		/** [Config Option] (Boolean) */
		column?: boolean;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (Number/Object) */
		xPadding?: any;
		/** [Config Option] (Number/Object) */
		yPadding?: any;
	}
}
declare module Ext.chart.series {
	export interface IGauge extends Ext.chart.series.ISeries {
		/** [Config Option] (String) */
		angleField?: string;
		/** [Config Option] (Boolean/Number) */
		donut?: any;
		/** [Config Option] (Number) */
		highlightDuration?: number;
		/** [Config Option] (Boolean) */
		needle?: boolean;
		/** [Config Option] (Boolean) */
		showInLegend?: boolean;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
		/** [Method] Returns the color of the series to be displayed as color for the series legend item 
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		getLegendColor?( item?:any ): void;
		/** [Method] Sets the Gauge chart to the current specified value  
		* @param value Object 
		*/
		setValue?( value?:any ): void;
	}
}
declare module Ext.chart.series {
	export interface ILine extends Ext.chart.series.ICartesian {
		/** [Config Option] (Boolean) */
		fill?: boolean;
		/** [Config Option] (Object) */
		markerConfig?: any;
		/** [Config Option] (Number) */
		selectionTolerance?: number;
		/** [Config Option] (Boolean) */
		showMarkers?: boolean;
		/** [Config Option] (Boolean/Number) */
		smooth?: any;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
	}
}
declare module Ext.chart {
	export interface ILineSeries extends Ext.chart.series.ICartesian {
		/** [Config Option] (Boolean) */
		fill?: boolean;
		/** [Config Option] (Object) */
		markerConfig?: any;
		/** [Config Option] (Number) */
		selectionTolerance?: number;
		/** [Config Option] (Boolean) */
		showMarkers?: boolean;
		/** [Config Option] (Boolean/Number) */
		smooth?: any;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
	}
}
declare module Ext.chart {
	export interface ILineChart extends Ext.chart.series.ICartesian {
		/** [Config Option] (Boolean) */
		fill?: boolean;
		/** [Config Option] (Object) */
		markerConfig?: any;
		/** [Config Option] (Number) */
		selectionTolerance?: number;
		/** [Config Option] (Boolean) */
		showMarkers?: boolean;
		/** [Config Option] (Boolean/Number) */
		smooth?: any;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
	}
}
declare module Ext.chart.series {
	export interface IPie extends Ext.chart.series.ISeries {
		/** [Config Option] (String) */
		angleField?: string;
		/** [Config Option] (Array) */
		colorSet?: any[];
		/** [Config Option] (Boolean/Number) */
		donut?: any;
		/** [Config Option] (String) */
		field?: string;
		/** [Config Option] (Number) */
		highlightDuration?: number;
		/** [Config Option] (String) */
		lengthField?: string;
		/** [Config Option] (Boolean) */
		showInLegend?: boolean;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (String) */
		xField?: string;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
		/** [Method] Returns the color of the series to be displayed as color for the series legend item 
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		getLegendColor?( item?:any ): void;
		/** [Method] Highlight the specified item  
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		highlightItem?( item?:any ): void;
		/** [Method] Un highlights the specified item  
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		unHighlightItem?( item?:any ): void;
	}
}
declare module Ext.chart {
	export interface IPieSeries extends Ext.chart.series.ISeries {
		/** [Config Option] (String) */
		angleField?: string;
		/** [Config Option] (Array) */
		colorSet?: any[];
		/** [Config Option] (Boolean/Number) */
		donut?: any;
		/** [Config Option] (String) */
		field?: string;
		/** [Config Option] (Number) */
		highlightDuration?: number;
		/** [Config Option] (String) */
		lengthField?: string;
		/** [Config Option] (Boolean) */
		showInLegend?: boolean;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (String) */
		xField?: string;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
		/** [Method] Returns the color of the series to be displayed as color for the series legend item 
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		getLegendColor?( item?:any ): void;
		/** [Method] Highlight the specified item  
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		highlightItem?( item?:any ): void;
		/** [Method] Un highlights the specified item  
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		unHighlightItem?( item?:any ): void;
	}
}
declare module Ext.chart {
	export interface IPieChart extends Ext.chart.series.ISeries {
		/** [Config Option] (String) */
		angleField?: string;
		/** [Config Option] (Array) */
		colorSet?: any[];
		/** [Config Option] (Boolean/Number) */
		donut?: any;
		/** [Config Option] (String) */
		field?: string;
		/** [Config Option] (Number) */
		highlightDuration?: number;
		/** [Config Option] (String) */
		lengthField?: string;
		/** [Config Option] (Boolean) */
		showInLegend?: boolean;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (String) */
		xField?: string;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
		/** [Method] Returns the color of the series to be displayed as color for the series legend item 
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		getLegendColor?( item?:any ): void;
		/** [Method] Highlight the specified item  
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		highlightItem?( item?:any ): void;
		/** [Method] Un highlights the specified item  
		* @param item Object {Object} Info about the item; same format as returned by getItemForPoint 
		*/
		unHighlightItem?( item?:any ): void;
	}
}
declare module Ext.chart.series {
	export interface IRadar extends Ext.chart.series.ISeries {
		/** [Config Option] (Object) */
		markerConfig?: any;
		/** [Config Option] (Boolean) */
		showInLegend?: boolean;
		/** [Config Option] (Boolean) */
		showMarkers?: boolean;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (String) */
		xField?: string;
		/** [Config Option] (String) */
		yField?: string;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
	}
}
declare module Ext.chart.series {
	export interface IScatter extends Ext.chart.series.ICartesian {
		/** [Config Option] (Object) */
		markerConfig?: any;
		/** [Config Option] (Object) */
		style?: any;
		/** [Config Option] (String) */
		type?: string;
		/** [Method] Draws the series for the current chart  */
		drawSeries?(): void;
	}
}
declare module Ext.chart.series {
	export interface ISeries extends Ext.IBase,Ext.util.IObservable,Ext.chart.ILabel,Ext.chart.IHighlight,Ext.chart.ITip,Ext.chart.ICallout {
		/** [Config Option] (Boolean/Object) */
		highlight?: any;
		/** [Config Option] (Object) */
		listeners?: any;
		/** [Config Option] (Function) */
		renderer?: any;
		/** [Config Option] (Array) */
		shadowAttributes?: any[];
		/** [Config Option] (Boolean) */
		showInLegend?: boolean;
		/** [Config Option] (Object) */
		tips?: any;
		/** [Config Option] (String) */
		title?: string;
		/** [Config Option] (String) */
		type?: string;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Iterate over each of the records for this series  
		* @param fn Function The function to execute for each record. 
		* @param scope Object Scope for the fn. 
		*/
		eachRecord?( fn?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] For a given x y point relative to the Surface find a corresponding item from this series if any  
		* @param x Number 
		* @param y Number 
		* @returns Object An object describing the item, or null if there is no matching item. The exact contents of this object will vary by series type, but should always contain the following: 
		*/
		getItemForPoint?( x?:number, y?:number ): any;
		/** [Method] Returns a string with the color to be used for the series legend item  
		* @param index Object 
		*/
		getLegendColor?( index?:any ): void;
		/** [Method] Return the number of records being displayed in this series  */
		getRecordCount?(): void;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Hides all the elements in the series  */
		hideAll?(): void;
		/** [Method] Highlight the given series item  
		* @param item Object Info about the item; same format as returned by #getItemForPoint. 
		*/
		highlightItem?( item?:any ): void;
		/** [Method] Determines whether the series item at the given index has been excluded i e  
		* @param index Object 
		*/
		isExcluded?( index?:any ): void;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Called each time a new label is created  
		* @param storeItem Ext.data.Model The element of the store that is related to the sprite. 
		* @param item Object The item related to the sprite. An item is an object containing the position of the shape used to describe the visualization and also pointing to the actual shape (circle, rectangle, path, etc). 
		* @param i Number The index of the element created (i.e the first created label, second created label, etc). 
		* @param display String The label.display type. May be false if the label is hidden 
		* @returns Ext.draw.Sprite The created sprite that will draw the label. 
		*/
		onCreateLabel?( storeItem?:Ext.data.IModel, item?:any, i?:number, display?:string ): Ext.draw.ISprite;
		/** [Method] Called for updating the position of the label  
		* @param label Ext.draw.Sprite The sprite that draws the label. 
		* @param storeItem Ext.data.Model The element of the store that is related to the sprite. 
		* @param item Object The item related to the sprite. An item is an object containing the position of the shape used to describe the visualization and also pointing to the actual shape (circle, rectangle, path, etc). 
		* @param i Number The index of the element to be updated (i.e. whether it is the first, second, third from the labelGroup) 
		* @param display String The label.display type. May be false if the label is hidden 
		* @param animate Boolean A boolean value to set or unset animations for the labels. 
		* @param index Number The series index. 
		*/
		onPlaceLabel?( label?:Ext.draw.ISprite, storeItem?:Ext.data.IModel, item?:any, i?:number, display?:string, animate?:boolean, index?:number ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Changes the value of the title for the series  
		* @param index Number 
		* @param title String 
		*/
		setTitle?( index?:number, title?:string ): void;
		/** [Method] Shows all the elements in the series  */
		showAll?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Un highlight any existing highlights */
		unHighlightItem?(): void;
	}
}
declare module Ext.chart {
	export interface IShape extends Ext.IBase {
	}
	export class Shape {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.chart.theme {
	export interface IBase extends Ext.IBase {
	}
}
declare module Ext.chart.theme {
	export interface ITheme {
	}
}
declare module Ext.chart {
	export interface ITip extends Ext.IBase {
	}
}
declare module Ext.chart {
	export interface ITipSurface extends Ext.draw.IComponent {
	}
}
declare module Ext {
	export interface IClass {
		/** [Config Option] (String[]) */
		alias?: string[];
		/** [Config Option] (String/String[]) */
		alternateClassName?: any;
		/** [Config Option] (Object) */
		config?: any;
		/** [Config Option] (String) */
		extend?: string;
		/** [Config Option] (Object) */
		inheritableStatics?: any;
		/** [Config Option] (String[]/Object) */
		mixins?: any;
		/** [Config Option] (String[]) */
		requires?: string[];
		/** [Config Option] (Boolean) */
		singleton?: boolean;
		/** [Config Option] (Object) */
		statics?: any;
		/** [Config Option] (String[]) */
		uses?: string[];
	}
}
declare module Ext {
	export interface IClassManager {
	}
	export class ClassManager {
		/** [Method] Adds a batch of class name to alias mappings 
		* @param aliases Object The set of mappings of the form className : [values...] 
		* @returns Ext.ClassManager this 
		*/
		static addNameAliasMappings( aliases?:any ): Ext.IClassManager;
		/** [Method]  
		* @param alternates Object The set of mappings of the form className : [values...] 
		* @returns Ext.ClassManager this 
		*/
		static addNameAlternateMappings( alternates?:any ): Ext.IClassManager;
		/** [Method] Defines a class  
		* @param className Object 
		* @param data Object 
		* @param createdFn Object 
		*/
		static create( className?:any, data?:any, createdFn?:any ): void;
		/** [Method] Retrieve a class by its name  
		* @param name String 
		* @returns Ext.Class class 
		*/
		static get( name?:string ): Ext.IClass;
		/** [Method] Get the aliases of a class by the class name 
		* @param name String 
		* @returns Array aliases 
		*/
		static getAliasesByName( name?:string ): any[];
		/** [Method] Get a reference to the class by its alias  
		* @param alias String 
		* @returns Ext.Class class 
		*/
		static getByAlias( alias?:string ): Ext.IClass;
		/** [Method] Get the class of the provided object returns null if it s not an instance of any class created with Ext define  
		* @param object Object 
		* @returns Ext.Class class 
		*/
		static getClass( object?:any ): Ext.IClass;
		/** [Method] Returns the displayName property or className or object  
		* @param object Object 
		* @returns String 
		*/
		static getDisplayName( object?:any ): string;
		/** [Method] Get the name of the class by its reference or its instance  getName is usually invoked by the shorthand Ext getClass  
		* @param object Ext.Class/Object 
		* @returns String className 
		*/
		static getName( object?:any ): string;
		/** [Method] Get the name of a class by its alias  
		* @param alias String 
		* @returns String className 
		*/
		static getNameByAlias( alias?:string ): string;
		/** [Method] Get the name of a class by its alternate name  
		* @param alternate String 
		* @returns String className 
		*/
		static getNameByAlternate( alternate?:string ): string;
		/** [Method] Converts a string expression to an array of matching class names  
		* @param expression String 
		* @returns String[] classNames 
		*/
		static getNamesByExpression( expression?:string ): string[];
		/** [Method] Instantiate a class by its alias  
		* @param alias String 
		* @param args Object... Additional arguments after the alias will be passed to the class constructor. 
		* @returns Object instance 
		*/
		static instantiateByAlias( alias:string, ...args:any[] ): any;
		/** [Method] Checks if a class has already been created  
		* @param className String 
		* @returns Boolean exist 
		*/
		static isCreated( className?:string ): boolean;
		/** [Method] Sets a name reference to a class  
		* @param name String 
		* @param value Object 
		* @returns Ext.ClassManager this 
		*/
		static set( name?:string, value?:any ): Ext.IClassManager;
		/** [Method] Register the alias for a class  
		* @param cls Ext.Class/String a reference to a class or a className 
		* @param alias String Alias to use when referring to this class 
		* @returns Ext.ClassManager this 
		*/
		static setAlias( cls?:any, alias?:string ): Ext.IClassManager;
		/** [Method] Creates a namespace and assign the value to the created object Ext ClassManager setNamespace MyCompany pkg Example 
		* @param name String 
		* @param value Object 
		*/
		static setNamespace( name?:string, value?:any ): void;
	}
}
declare module Ext {
	export interface IComponent extends Ext.IAbstractComponent,Ext.util.IFloating {
		/** [Config Option] (Boolean) */
		autoScroll?: boolean;
		/** [Config Option] (Number/String) */
		columnWidth?: any;
		/** [Config Option] (Ext.util.Region/Ext.Element) */
		constrainTo?: any;
		/** [Config Option] (Object/String) */
		constraintInsets?: any;
		/** [Config Option] (String) */
		defaultAlign?: string;
		/** [Config Option] (Boolean) */
		floating?: boolean;
		/** [Config Option] (Boolean) */
		formBind?: boolean;
		/** [Config Option] (String) */
		overflowX?: string;
		/** [Config Option] (String) */
		overflowY?: string;
		/** [Config Option] ("north"/"south"/"east"/"west"/"center") */
		region?: any;
		/** [Config Option] (Boolean/Object) */
		resizable?: any;
		/** [Config Option] (String) */
		resizeHandles?: string;
		/** [Config Option] (Boolean) */
		toFrontOnShow?: boolean;
		/** [Property] (Ext.Container) */
		floatParent?: Ext.IContainer;
		/** [Property] (Object) */
		scrollFlags?: any;
		/** [Property] (Ext.ZIndexManager) */
		zIndexManager?: Ext.IZIndexManager;
		/** [Property] (Ext.Container) */
		zIndexParent?: Ext.IContainer;
		/** [Method] Called by the layout system after the Component has been laid out  */
		afterComponentLayout?(): void;
		/** [Method] Invoked after the Component has been hidden  
		* @param callback Function 
		* @param scope Object 
		*/
		afterHide?( callback?:any, scope?:any ): void;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Template method called after a Component has been positioned  
		* @param ax Object 
		* @param ay Object 
		*/
		afterSetPosition?( ax?:any, ay?:any ): void;
		/** [Method] Invoked after the Component is shown after onShow is called 
		* @param animateTarget String/Ext.Element 
		* @param callback Function 
		* @param scope Object 
		*/
		afterShow?( animateTarget?:any, callback?:any, scope?:any ): void;
		/** [Method] Occurs before componentLayout is run  */
		beforeLayout?(): void;
		/** [Method] Invoked before the Component is shown  */
		beforeShow?(): void;
		/** [Method] Bubbles up the component container heirarchy calling the specified function with each component  
		* @param fn Function The function to call 
		* @param scope Object The scope of the function. Defaults to current node. 
		* @param args Array The args to call the function with. Defaults to passing the current component. 
		* @returns Ext.Component this 
		*/
		bubble?( fn?:any, scope?:any, args?:any[] ): Ext.IComponent;
		/** [Method] Cancel any deferred focus on this component */
		cancelFocus?(): void;
		/** [Method] Center this Component in its container  
		* @returns Ext.Component this 
		*/
		center?(): Ext.IComponent;
		/** [Method] Clone the current component using the original config values passed into this instance by default  
		* @param overrides Object A new config containing any properties to override in the cloned version. An id property can be passed on this object, otherwise one will be generated to avoid duplicates. 
		* @returns Ext.Component clone The cloned copy of this component 
		*/
		cloneConfig?( overrides?:any ): Ext.IComponent;
		/** [Method] Moves this floating Component into a constrain region  
		* @param constrainTo String/HTMLElement/Ext.Element/Ext.util.Region The Element or Region into which this Component is to be constrained. Defaults to the element into which this floating Component was rendered. 
		*/
		doConstrain?( constrainTo?:any ): void;
		/** [Method] Find a container above this component at any level by a custom function  
		* @param fn Function The custom function to call with the arguments (container, this component). 
		* @returns Ext.container.Container The first Container for which the custom function returns true 
		*/
		findParentBy?( fn?:any ): Ext.container.IContainer;
		/** [Method] Find a container above this component at any level by xtype or class See also the up method  
		* @param xtype String/Ext.Class The xtype string for a component, or the class of the component directly 
		* @returns Ext.container.Container The first Container which matches the given xtype or class 
		*/
		findParentByType?( xtype?:any ): Ext.container.IContainer;
		/** [Method] Try to focus this component  
		* @param selectText Boolean If applicable, true to also select the text in this component 
		* @param delay Boolean/Number Delay the focus this number of milliseconds (true for 10 milliseconds). 
		* @param callback Function Only needed if the delay parameter is used. A function to call upon focus. 
		* @param scope Function Only needed if the delay parameter is used. The scope (this reference) in which to execute the callback. 
		* @returns Ext.Component The focused Component. Usually this Component. Some Containers may delegate focus to a descendant Component (Windows can do this through their defaultFocus config option. 
		*/
		focus?( selectText?:boolean, delay?:any, callback?:any, scope?:any ): Ext.IComponent;
		/** [Method] Retrieves the top level element representing this component  
		* @returns Ext.dom.Element 
		*/
		getEl?(): Ext.dom.IElement;
		/** [Method] Retrieves the id of this component  
		* @returns String 
		*/
		getId?(): string;
		/** [Method] Gets the current XY position of the component s underlying element  
		* @param local Boolean If true the element's left and top are returned instead of page XY. 
		* @returns Number[] The XY position of the element (e.g., [100, 200]) 
		*/
		getPosition?( local?:boolean ): number[];
		/** [Method] Gets the xtype for this component as registered with Ext ComponentManager  
		* @returns String The xtype 
		*/
		getXType?(): string;
		/** [Method] Hides this Component setting it to invisible using the configured hideMode  
		* @param animateTarget String/Ext.Element/Ext.Component only valid for floating Components such as Windows or ToolTips, or regular Components which have been configured with floating: true.. The target to which the Component should animate while hiding. 
		* @param callback Function A callback function to call after the Component is hidden. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to this Component. 
		* @returns Ext.Component this 
		*/
		hide?( animateTarget?:any, callback?:any, scope?:any ): Ext.IComponent;
		/** [Method] The initComponent template method is an important initialization step for a Component  */
		initComponent?(): void;
		/** [Method] Method to manage awareness of when components are added to their respective Container firing an added event  */
		onAdded?(): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Possibly animates down to a target element  
		* @param animateTarget String/Ext.Element/Ext.Component 
		* @param callback Function 
		* @param scope Object 
		*/
		onHide?( animateTarget?:any, callback?:any, scope?:any ): void;
		/** [Method] Allows addition of behavior to the show operation  
		* @param animateTarget String/Ext.Element 
		* @param callback Function 
		* @param scope Object 
		*/
		onShow?( animateTarget?:any, callback?:any, scope?:any ): void;
		/** [Method] Invoked after the afterShow method is complete  
		* @param callback Function 
		* @param scope Object 
		*/
		onShowComplete?( callback?:any, scope?:any ): void;
		/** [Method] Scrolls this Component s target element by the passed delta values optionally animating  
		* @param deltaX Number/Number[]/Object Either the x delta, an Array specifying x and y deltas or an object with "x" and "y" properties. 
		* @param deltaY Number/Boolean/Object Either the y delta, or an animate flag or config object. 
		* @param animate Boolean/Object Animate flag/config object if the delta values were passed separately. 
		*/
		scrollBy?( deltaX?:any, deltaY?:any, animate?:any ): void;
		/** [Method] This method is called internally by Ext ZIndexManager to signal that a floating Component has either been moved to th  
		* @param active Boolean True to activate the Component, false to deactivate it. 
		* @param newActive Ext.Component The newly active Component which is taking over topmost zIndex position. 
		*/
		setActive?( active?:boolean, newActive?:Ext.IComponent ): void;
		/** [Method] Sets the overflow on the content element of the component  
		* @param scroll Boolean True to allow the Component to auto scroll. 
		* @returns Ext.Component this 
		*/
		setAutoScroll?( scroll?:boolean ): Ext.IComponent;
		/** [Method] This method changes the region config property for this border region  
		* @param region String The new region value ("north", "south", "east" or "west"). 
		* @returns String The previous value of the region property. 
		*/
		setBorderRegion?( region?:string ): string;
		/** [Method] This method allows you to show or hide a LoadMask on top of this component  
		* @param load Boolean/Object/String True to show the default LoadMask, a config object that will be passed to the LoadMask constructor, or a message String to show. False to hide the current LoadMask. 
		* @param targetEl Boolean True to mask the targetEl of this Component instead of the this.el. For example, setting this to true on a Panel will cause only the body to be masked. 
		* @returns Ext.LoadMask The LoadMask instance that has just been shown. 
		*/
		setLoading?( load?:any, targetEl?:boolean ): Ext.ILoadMask;
		/** [Method] Sets the overflow x y on the content element of the component  
		* @param overflowX String The overflow-x value. 
		* @param overflowY String The overflow-y value. 
		* @returns Ext.Component this 
		*/
		setOverflowXY?( overflowX?:string, overflowY?:string ): Ext.IComponent;
		/** [Method] Sets the page XY position of the component  
		* @param x Number/Number[] The new x position or an array of [x,y]. 
		* @param y Number The new y position. 
		* @param animate Boolean/Object True to animate the Component into its new position. You may also pass an animation configuration. 
		* @returns Ext.Component this 
		*/
		setPagePosition?( x?:any, y?:number, animate?:any ): Ext.IComponent;
		/** [Method] Sets the left and top of the component  
		* @param x Number/Number[]/Object The new left, an array of [x,y], or animation config object containing x and y properties. 
		* @param y Number The new top. 
		* @param animate Boolean/Object If true, the Component is animated into its new position. You may also pass an animation configuration. 
		* @returns Ext.Component this 
		*/
		setPosition?( x?:any, y?:number, animate?:any ): Ext.IComponent;
		/** [Method] Sets the weight config property for this component  
		* @param weight Number The new weight value. 
		* @returns Number The previous value of the weight property. 
		*/
		setRegionWeight?( weight?:number ): number;
		/** [Method] Shows this Component rendering it first if autoRender or floating are true  
		* @param animateTarget String/Ext.Element only valid for floating Components such as Windows or ToolTips, or regular Components which have been configured with floating: true. The target from which the Component should animate from while opening. 
		* @param callback Function A callback function to call after the Component is displayed. Only necessary if animation was specified. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to this Component. 
		* @returns Ext.Component this 
		*/
		show?( animateTarget?:any, callback?:any, scope?:any ): Ext.IComponent;
		/** [Method] Displays component at specific xy position  
		* @param x Number/Number[] The new x position or array of [x,y]. 
		* @param y Number The new y position 
		* @param animate Boolean/Object True to animate the Component into its new position. You may also pass an animation configuration. 
		* @returns Ext.Component this 
		*/
		showAt?( x?:any, y?:number, animate?:any ): Ext.IComponent;
		/** [Method] Shows this component by the specified Component or Element  
		* @param component Ext.Component/Ext.dom.Element The Ext.Component or Ext.Element to show the component by. 
		* @param position String Alignment position as used by Ext.util.Positionable.getAlignToXY. Defaults to defaultAlign. 
		* @param offsets Number[] Alignment offsets as used by Ext.util.Positionable.getAlignToXY. 
		* @returns Ext.Component this 
		*/
		showBy?( component?:any, position?:string, offsets?:number[] ): Ext.IComponent;
		/** [Method] Sends this Component to the back of lower z index than any other visible windows 
		* @returns Ext.Component this 
		*/
		toBack?(): Ext.IComponent;
		/** [Method] Brings this floating Component to the front of any other visible floating Components managed by the same ZIndexManag  
		* @param preventFocus Boolean Specify true to prevent the Component from being focused. 
		* @returns Ext.Component this 
		*/
		toFront?( preventFocus?:boolean ): Ext.IComponent;
		/** [Method] Sets the current box measurements of the component s underlying element  
		* @param box Object An object in the format {x, y, width, height} 
		* @returns Ext.Component this 
		*/
		updateBox?( box?:any ): Ext.IComponent;
	}
}
declare module Ext {
	export interface IComponentLoader extends Ext.IElementLoader {
		/** [Config Option] (Boolean/Object) */
		loadMask?: any;
		/** [Config Option] (Boolean) */
		scripts?: boolean;
		/** [Config Option] (Ext.Component/String) */
		target?: any;
		/** [Method] Set a Ext Component as the target of this loader  
		* @param target String/Ext.Component The component to be the target of this loader. If a string is passed it will be looked up via its id. 
		*/
		setTarget?( target?:any ): void;
	}
}
declare module Ext {
	export interface IComponentManager extends Ext.IAbstractManager {
	}
	export class ComponentManager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Creates a new Component from the specified config object using the config object s xtype to determine the class to in  
		* @param config Object A configuration object for the Component you wish to create. 
		* @param defaultType String The xtype to use if the config object does not contain a xtype. (Optional if the config contains a xtype). 
		* @returns Ext.Component The newly instantiated Component. 
		*/
		static create( config?:any, defaultType?:string ): Ext.IComponent;
		/** [Method] Executes the specified function once for each item in the collection  
		* @param fn Function The function to execute. 
		* @param scope Object The scope to execute in. Defaults to this. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Returns an item by id  
		* @param id String The id of the item 
		* @returns Object The item, undefined if not found. 
		*/
		static get( id?:string ): any;
		/** [Method] Gets the number of items in the collection  
		* @returns Number The number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Checks if an item type is registered  
		* @param type String The mnemonic string by which the class may be looked up 
		* @returns Boolean Whether the type is registered. 
		*/
		static isRegistered( type?:string ): boolean;
		/** [Method] Registers a function that will be called when an item with the specified id is added to the manager  
		* @param id String The item id 
		* @param fn Function The callback function. Called with a single parameter, the item. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to the item. 
		*/
		static onAvailable( id?:string, fn?:any, scope?:any ): void;
		/** [Method] Registers an item to be managed 
		* @param item Object The item to register 
		*/
		static register( item?:any ): void;
		/** [Method] Registers a new item constructor keyed by a type key  
		* @param type Object 
		* @param cls Object 
		*/
		static registerType( type?:any, cls?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Unregisters an item by removing it from this manager 
		* @param item Object The item to unregister 
		*/
		static unregister( item?:any ): void;
	}
}
declare module Ext {
	export interface IComponentMgr extends Ext.IAbstractManager {
	}
	export class ComponentMgr {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Creates a new Component from the specified config object using the config object s xtype to determine the class to in  
		* @param config Object A configuration object for the Component you wish to create. 
		* @param defaultType String The xtype to use if the config object does not contain a xtype. (Optional if the config contains a xtype). 
		* @returns Ext.Component The newly instantiated Component. 
		*/
		static create( config?:any, defaultType?:string ): Ext.IComponent;
		/** [Method] Executes the specified function once for each item in the collection  
		* @param fn Function The function to execute. 
		* @param scope Object The scope to execute in. Defaults to this. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Returns an item by id  
		* @param id String The id of the item 
		* @returns Object The item, undefined if not found. 
		*/
		static get( id?:string ): any;
		/** [Method] Gets the number of items in the collection  
		* @returns Number The number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Checks if an item type is registered  
		* @param type String The mnemonic string by which the class may be looked up 
		* @returns Boolean Whether the type is registered. 
		*/
		static isRegistered( type?:string ): boolean;
		/** [Method] Registers a function that will be called when an item with the specified id is added to the manager  
		* @param id String The item id 
		* @param fn Function The callback function. Called with a single parameter, the item. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to the item. 
		*/
		static onAvailable( id?:string, fn?:any, scope?:any ): void;
		/** [Method] Registers an item to be managed 
		* @param item Object The item to register 
		*/
		static register( item?:any ): void;
		/** [Method] Registers a new item constructor keyed by a type key  
		* @param type Object 
		* @param cls Object 
		*/
		static registerType( type?:any, cls?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Unregisters an item by removing it from this manager 
		* @param item Object The item to unregister 
		*/
		static unregister( item?:any ): void;
	}
}
declare module Ext {
	export interface IComponentQuery extends Ext.IBase {
	}
	export class ComponentQuery {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Tests whether the passed Component matches the selector string  
		* @param component Ext.Component The Component to test 
		* @param selector String The selector string to test against. 
		* @returns Boolean True if the Component matches the selector. 
		*/
		static is( component?:Ext.IComponent, selector?:string ): boolean;
		/** [Method] Returns an array of matched Components from within the passed root object  
		* @param selector String The selector string to filter returned Components 
		* @param root Ext.container.Container The Container within which to perform the query. If omitted, all Components within the document are included in the search. This parameter may also be an array of Components to filter according to the selector. 
		* @returns Ext.Component[] The matched Components. 
		*/
		static query( selector?:string, root?:Ext.container.IContainer ): Ext.IComponent[];
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.container {
	export interface IAbstractContainer extends Ext.IComponent,Ext.IQueryable {
		/** [Config Option] (String/Number) */
		activeItem?: any;
		/** [Config Option] (Boolean) */
		autoDestroy?: boolean;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String[]) */
		bubbleEvents?: string[];
		/** [Config Option] (String) */
		defaultType?: string;
		/** [Config Option] (Object/Function) */
		defaults?: any;
		/** [Config Option] (Boolean) */
		detachOnRemove?: boolean;
		/** [Config Option] (Object/Object[]) */
		items?: any;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Boolean) */
		suspendLayout?: boolean;
		/** [Method] Adds Component s to this Container  
		* @param component Ext.Component[]|Object[]/Ext.Component.../Object... Either one or more Components to add or an Array of Components to add. See items for additional information. 
		* @returns Ext.Component[]/Ext.Component The Components that were added. 
		*/
		add?( component?:any ): any;
		/** [Method] Called by the layout system after the Component has been laid out  */
		afterComponentLayout?(): void;
		/** [Method] Invoked after the Container has laid out and rendered if necessary its child Components  
		* @param layout Ext.layout.container.Container 
		*/
		afterLayout?( layout?:Ext.layout.container.IContainer ): void;
		/** [Method] Cascades down the component container heirarchy from this component passed in the first call  calling the specified  
		* @param fn Function The function to call 
		* @param scope Object The scope of the function (defaults to current component) 
		* @param args Array The args to call the function with. The current component always passed as the last argument. 
		* @returns Ext.Container this 
		*/
		cascade?( fn?:any, scope?:any, args?:any[] ): Ext.IContainer;
		/** [Method] Retrieves the first direct child of this container which matches the passed selector or component  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching child Ext.Component (or null if no match was found). 
		*/
		child?( selector?:any ): any;
		/** [Method] Determines whether the passed Component is either an immediate child of this Container or whether it is a descendant  
		* @param comp Ext.Component The Component to test. 
		* @param deep Boolean Pass true to test for the Component being a descendant at any level. 
		* @returns Boolean true if the passed Component is contained at the specified level. 
		*/
		contains?( comp?:Ext.IComponent, deep?:boolean ): boolean;
		/** [Method] Inherit docs Disable all immediate children that was previously disabled Override disable because onDisable only gets  
		* @returns Ext.container.AbstractContainer this 
		*/
		disable?(): Ext.container.IAbstractContainer;
		/** [Method] Manually force this container s layout to be recalculated  
		* @returns Ext.container.Container this 
		*/
		doLayout?(): Ext.container.IContainer;
		/** [Method] Retrieves the first descendant of this container which matches the passed selector  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector or Ext.Component. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching descendant Ext.Component (or null if no match was found). 
		*/
		down?( selector?:any ): any;
		/** [Method] Examines this container s items property and gets a direct child component of this container  
		* @param comp String/Number This parameter may be any of the following:  a String : representing the itemId or id of the child component. a Number : representing the position of the child component within the items property For additional information see Ext.util.MixedCollection.get. 
		* @returns Ext.Component The component (if found). 
		*/
		getComponent?( comp?:any ): Ext.IComponent;
		/** [Method] Returns the layout instance currently associated with this Container  
		* @returns Ext.layout.container.Container The layout 
		*/
		getLayout?(): Ext.layout.container.IContainer;
		/** [Method] Used by ComponentQuery child and down to retrieve all of the items which can potentially be considered a child of th  
		* @param deep Object 
		*/
		getRefItems?( deep?:any ): void;
		/** [Method] Inserts a Component into this Container at a specified index  
		* @param index Number The index at which the Component will be inserted into the Container's items collection 
		* @param component Ext.Component/Object The child Component to insert. Ext uses lazy rendering, and will only render the inserted Component should it become necessary. A Component config object may be passed in order to avoid the overhead of constructing a real Component object if lazy rendering might mean that the inserted Component will not be rendered immediately. To take advantage of this 'lazy instantiation', set the Ext.Component.xtype config property to the registered type of the Component wanted. For a list of all available xtypes, see Ext.enums.Widget. 
		* @returns Ext.Component component The Component (or config object) that was inserted with the Container's default config values applied. 
		*/
		insert?( index?:number, component?:any ): Ext.IComponent;
		/** [Method] Determines whether this Container is an ancestor of the passed Component  
		* @param possibleDescendant Ext.Component The Component to test for presence within this Container's subtree. 
		*/
		isAncestor?( possibleDescendant?:Ext.IComponent ): void;
		/** [Method] Moves a Component within the Container 
		* @param fromIdx Number/Ext.Component The index/component to move. 
		* @param toIdx Number The new index for the Component. 
		* @returns Ext.Component component The Component that was moved. 
		*/
		move?( fromIdx?:any, toIdx?:number ): Ext.IComponent;
		/** [Method] This method is invoked after a new Component has been added  
		* @param component Ext.Component 
		* @param position Number 
		*/
		onAdd?( component?:Ext.IComponent, position?:number ): void;
		/** [Method] This method is invoked before adding a new child Component  
		* @param item Ext.Component 
		*/
		onBeforeAdd?( item?:Ext.IComponent ): void;
		/** [Method] Called after the component is moved this method is empty by default but can be implemented by any subclass that need  */
		onPosition?(): void;
		/** [Method] This method is invoked after a new Component has been removed  
		* @param component Ext.Component 
		* @param autoDestroy Boolean 
		*/
		onRemove?( component?:Ext.IComponent, autoDestroy?:boolean ): void;
		/** [Method] Allows addition of behavior to the resize operation  */
		onResize?(): void;
		/** [Method] Retrieves all descendant components which match the passed selector  
		* @param selector String Selector complying to an Ext.ComponentQuery selector. If no selector is specified all items will be returned. 
		* @returns Ext.Component[] Components which matched the selector 
		*/
		query?( selector?:string ): Ext.IComponent[];
		/** [Method] Retrieves all descendant components which match the passed function  
		* @param fn Function The matcher function. It will be called with a single argument, the component being tested. 
		* @param scope Object The scope in which to run the function. If not specified, it will default to the active component. 
		* @returns Ext.Component[] Components matched by the passed function 
		*/
		queryBy?( fn?:any, scope?:any ): Ext.IComponent[];
		/** [Method] Finds a component at any level under this container matching the id itemId  
		* @param id String The id to find 
		* @returns Ext.Component The matching id, null if not found 
		*/
		queryById?( id?:string ): Ext.IComponent;
		/** [Method] Removes a component from this container  
		* @param component Ext.Component/String The component reference or id to remove. 
		* @param autoDestroy Boolean True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config. 
		* @returns Ext.Component component The Component that was removed. 
		*/
		remove?( component?:any, autoDestroy?:boolean ): Ext.IComponent;
		/** [Method] Removes all components from this container  
		* @param autoDestroy Boolean True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config. 
		* @returns Ext.Component[] Array of the removed components 
		*/
		removeAll?( autoDestroy?:boolean ): Ext.IComponent[];
	}
}
declare module Ext.container {
	export interface IButtonGroup extends Ext.panel.IPanel {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number) */
		columns?: number;
		/** [Config Option] (String) */
		defaultButtonUI?: string;
		/** [Config Option] (String) */
		defaultType?: string;
		/** [Config Option] (Boolean) */
		frame?: boolean;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (String) */
		titleAlign?: string;
		/** [Method] private 
		* @param component Object 
		*/
		onBeforeAdd?( component?:any ): void;
	}
}
declare module Ext {
	export interface IButtonGroup extends Ext.panel.IPanel {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number) */
		columns?: number;
		/** [Config Option] (String) */
		defaultButtonUI?: string;
		/** [Config Option] (String) */
		defaultType?: string;
		/** [Config Option] (Boolean) */
		frame?: boolean;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (String) */
		titleAlign?: string;
		/** [Method] private 
		* @param component Object 
		*/
		onBeforeAdd?( component?:any ): void;
	}
}
declare module Ext.container {
	export interface IContainer extends Ext.container.IAbstractContainer {
		/** [Config Option] (Number/Object) */
		anchorSize?: any;
		/** [Method] Return the immediate child Component in which the passed element is located  
		* @param el Ext.Element/HTMLElement/String The element to test (or ID of element). 
		* @param deep Boolean If true, returns the deepest descendant Component which contains the passed element. 
		* @returns Ext.Component The child item which contains the passed element. 
		*/
		getChildByElement?( el?:any, deep?:boolean ): Ext.IComponent;
	}
}
declare module Ext {
	export interface IContainer extends Ext.container.IAbstractContainer {
		/** [Config Option] (Number/Object) */
		anchorSize?: any;
		/** [Method] Return the immediate child Component in which the passed element is located  
		* @param el Ext.Element/HTMLElement/String The element to test (or ID of element). 
		* @param deep Boolean If true, returns the deepest descendant Component which contains the passed element. 
		* @returns Ext.Component The child item which contains the passed element. 
		*/
		getChildByElement?( el?:any, deep?:boolean ): Ext.IComponent;
	}
}
declare module Ext.container {
	export interface IDockingContainer extends Ext.IBase {
		/** [Config Option] (Object) */
		defaultDockWeights?: any;
		/** [Method] Adds docked item s to the container  
		* @param component Object/Object[] The Component or array of components to add. The components must include a 'dock' parameter on each component to indicate where it should be docked ('top', 'right', 'bottom', 'left'). 
		* @param pos Number The index at which the Component will be added 
		* @returns Ext.Component[] The added components. 
		*/
		addDocked?( component?:any, pos?:number ): Ext.IComponent[];
		/** [Method] Finds a docked component by id itemId or position  
		* @param comp String/Number The id, itemId or position of the docked component (see getComponent for details) 
		* @returns Ext.Component The docked component (if found) 
		*/
		getDockedComponent?( comp?:any ): Ext.IComponent;
		/** [Method] Retrieves an array of all currently docked Components  
		* @param selector String A ComponentQuery selector string to filter the returned items. 
		* @param beforeBody Boolean An optional flag to limit the set of items to only those before the body (true) or after the body (false). All components are returned by default. 
		* @returns Ext.Component[] The array of docked components meeting the specified criteria. 
		*/
		getDockedItems?( selector?:string, beforeBody?:boolean ): Ext.IComponent[];
		/** [Method] Inserts docked item s to the panel at the indicated position  
		* @param pos Number The index at which the Component will be inserted 
		* @param component Object/Object[] The Component or array of components to add. The components must include a 'dock' paramater on each component to indicate where it should be docked ('top', 'right', 'bottom', 'left'). 
		*/
		insertDocked?( pos?:number, component?:any ): void;
		/** [Method] Invoked after a docked item is added to the Panel  
		* @param component Ext.Component 
		*/
		onDockedAdd?( component?:Ext.IComponent ): void;
		/** [Method] Invoked after a docked item is removed from the Panel  
		* @param component Ext.Component 
		*/
		onDockedRemove?( component?:Ext.IComponent ): void;
		/** [Method] Removes the docked item from the panel  
		* @param item Ext.Component The Component to remove. 
		* @param autoDestroy Boolean Destroy the component after removal. 
		*/
		removeDocked?( item?:Ext.IComponent, autoDestroy?:boolean ): void;
	}
}
declare module Ext.container {
	export interface IMonitor extends Ext.IBase {
	}
}
declare module Ext.container {
	export interface IViewport extends Ext.container.IContainer {
		/** [Property] (Boolean) */
		isViewport?: boolean;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
	}
}
declare module Ext {
	export interface IViewport extends Ext.container.IContainer {
		/** [Property] (Boolean) */
		isViewport?: boolean;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
	}
}
declare module Ext.data {
	export interface IAbstractStore extends Ext.IBase,Ext.util.IObservable,Ext.util.ISortable {
		/** [Config Option] (Boolean/Object) */
		autoLoad?: any;
		/** [Config Option] (Boolean) */
		autoSync?: boolean;
		/** [Config Option] (String) */
		batchUpdateMode?: string;
		/** [Config Option] (Object[]) */
		fields?: any[];
		/** [Config Option] (Boolean) */
		filterOnLoad?: boolean;
		/** [Config Option] (Object[]/Function[]) */
		filters?: any;
		/** [Config Option] (String) */
		model?: string;
		/** [Config Option] (String/Ext.data.proxy.Proxy/Object) */
		proxy?: any;
		/** [Config Option] (Boolean) */
		remoteFilter?: boolean;
		/** [Config Option] (Boolean) */
		remoteSort?: boolean;
		/** [Config Option] (Boolean) */
		sortOnLoad?: boolean;
		/** [Config Option] (Boolean) */
		statefulFilters?: boolean;
		/** [Config Option] (String) */
		storeId?: string;
		/** [Property] (String) */
		defaultProxyType?: string;
		/** [Property] (Boolean) */
		isDestroyed?: boolean;
		/** [Property] (Boolean) */
		isStore?: boolean;
		/** [Property] (Ext.data.Model[]) */
		removed?: Ext.data.IModel[];
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns a comparator function which compares two items and returns 1 0 or 1 depending on the currently defined set  */
		generateComparator?(): void;
		/** [Method] Gets the first sorter from the sorters collection excluding any groupers that may be in place 
		* @returns Ext.util.Sorter The sorter, null if none exist 
		*/
		getFirstSorter?(): Ext.util.ISorter;
		/** [Method] Gets all records added or updated since the last commit  
		* @returns Ext.data.Model[] The added and updated Model instances 
		*/
		getModifiedRecords?(): Ext.data.IModel[];
		/** [Method] Returns all Model instances that are either currently a phantom e g  
		* @returns Ext.data.Model[] The Model instances 
		*/
		getNewRecords?(): Ext.data.IModel[];
		/** [Method] Returns the proxy currently attached to this proxy instance 
		* @returns Ext.data.proxy.Proxy The Proxy instance 
		*/
		getProxy?(): Ext.data.proxy.IProxy;
		/** [Method] Returns any records that have been removed from the store but not yet destroyed on the proxy  
		* @returns Ext.data.Model[] The removed Model instances 
		*/
		getRemovedRecords?(): Ext.data.IModel[];
		/** [Method] Returns all Model instances that have been updated in the Store but not yet synchronized with the Proxy 
		* @returns Ext.data.Model[] The updated Model instances 
		*/
		getUpdatedRecords?(): Ext.data.IModel[];
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Performs initialization of this mixin  */
		initSortable?(): void;
		/** [Method] Returns true if the Store is currently performing a load operation 
		* @returns Boolean True if the Store is currently loading 
		*/
		isLoading?(): boolean;
		/** [Method] Loads the Store using its configured proxy  
		* @param options Object config object. This is passed into the Operation object that is created and then sent to the proxy's Ext.data.proxy.Proxy.read function 
		* @returns void this 
		*/
		load?( options?:any ): void;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Reloads the store using the last options passed to the load method  
		* @param options Object A config object which contains options which may override the options passed to the previous load call. 
		*/
		reload?( options?:any ): void;
		/** [Method] Removes all records from the store  */
		removeAll?(): void;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes automatically syncing the Store with its Proxy  */
		resumeAutoSync?(): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Saves all pending changes via the configured proxy  */
		save?(): void;
		/** [Method] Sets the Store s Proxy by string config object or Proxy instance 
		* @param proxy String/Object/Ext.data.proxy.Proxy The new Proxy, which can be either a type string, a configuration object or an Ext.data.proxy.Proxy instance 
		* @returns Ext.data.proxy.Proxy The attached Proxy object 
		*/
		setProxy?( proxy?:any ): Ext.data.proxy.IProxy;
		/** [Method] Sorts the data in the Store by one or more of its properties  
		* @param sorters String/Ext.util.Sorter[] Either a string name of one of the fields in this Store's configured Model, or an array of sorter configurations. 
		* @param direction String The overall direction to sort the data by. 
		* @returns Ext.util.Sorter[] 
		*/
		sort?( sorters?:any, direction?:string ): Ext.util.ISorter[];
		/** [Method] Suspends automatically syncing the Store with its Proxy  */
		suspendAutoSync?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Synchronizes the store with its proxy  
		* @param options Object Object containing one or more properties supported by the sync method (these get passed along to the underlying proxy's batch method): 
		* @returns Ext.data.Store this 
		*/
		sync?( options?:any ): Ext.data.IStore;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
	export class AbstractStore {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Creates a store from config object  
		* @param store Object/Ext.data.AbstractStore A config for the store to be created. It may contain a type field which defines the particular type of store to create. Alteratively passing an actual store to this method will just return it, no changes made. 
		* @returns Ext.data.AbstractStore The created store. 
		*/
		static create( store?:any ): Ext.data.IAbstractStore;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext.data {
	export interface IArrayStore extends Ext.data.IStore {
		/** [Method] Loads an array of data straight into the Store  
		* @param data Object 
		* @param append Object 
		*/
		loadData?( data?:any, append?:any ): void;
	}
}
declare module Ext.data.association {
	export interface IAssociation extends Ext.IBase {
		/** [Config Option] (String) */
		associatedModel?: string;
		/** [Config Option] (String) */
		associationKey?: string;
		/** [Config Option] (String) */
		model?: string;
		/** [Config Option] (String) */
		ownerModel?: string;
		/** [Config Option] (String) */
		primaryKey?: string;
		/** [Config Option] (Ext.data.reader.Reader) */
		reader?: Ext.data.reader.IReader;
		/** [Property] (String) */
		associatedName?: string;
		/** [Property] (String) */
		ownerName?: string;
		/** [Method] Get a specialized reader for reading associated data 
		* @returns Ext.data.reader.Reader The reader, null if not supplied 
		*/
		getReader?(): Ext.data.reader.IReader;
	}
}
declare module Ext.data {
	export interface IAssociation extends Ext.IBase {
		/** [Config Option] (String) */
		associatedModel?: string;
		/** [Config Option] (String) */
		associationKey?: string;
		/** [Config Option] (String) */
		model?: string;
		/** [Config Option] (String) */
		ownerModel?: string;
		/** [Config Option] (String) */
		primaryKey?: string;
		/** [Config Option] (Ext.data.reader.Reader) */
		reader?: Ext.data.reader.IReader;
		/** [Property] (String) */
		associatedName?: string;
		/** [Property] (String) */
		ownerName?: string;
		/** [Method] Get a specialized reader for reading associated data 
		* @returns Ext.data.reader.Reader The reader, null if not supplied 
		*/
		getReader?(): Ext.data.reader.IReader;
	}
}
declare module Ext.data.association {
	export interface IBelongsTo extends Ext.data.association.IAssociation {
		/** [Config Option] (String) */
		foreignKey?: string;
		/** [Config Option] (String) */
		getterName?: string;
		/** [Config Option] (String) */
		setterName?: string;
		/** [Config Option] (String) */
		type?: string;
	}
}
declare module Ext.data {
	export interface IBelongsToAssociation extends Ext.data.association.IAssociation {
		/** [Config Option] (String) */
		foreignKey?: string;
		/** [Config Option] (String) */
		getterName?: string;
		/** [Config Option] (String) */
		setterName?: string;
		/** [Config Option] (String) */
		type?: string;
	}
}
declare module Ext.data.association {
	export interface IHasMany extends Ext.data.association.IAssociation {
		/** [Config Option] (Boolean) */
		autoLoad?: boolean;
		/** [Config Option] (String) */
		filterProperty?: string;
		/** [Config Option] (String) */
		foreignKey?: string;
		/** [Config Option] (String) */
		name?: string;
		/** [Config Option] (Object) */
		storeConfig?: any;
		/** [Config Option] (String) */
		type?: string;
	}
}
declare module Ext.data {
	export interface IHasManyAssociation extends Ext.data.association.IAssociation {
		/** [Config Option] (Boolean) */
		autoLoad?: boolean;
		/** [Config Option] (String) */
		filterProperty?: string;
		/** [Config Option] (String) */
		foreignKey?: string;
		/** [Config Option] (String) */
		name?: string;
		/** [Config Option] (Object) */
		storeConfig?: any;
		/** [Config Option] (String) */
		type?: string;
	}
}
declare module Ext.data.association {
	export interface IHasOne extends Ext.data.association.IAssociation {
		/** [Config Option] (String) */
		foreignKey?: string;
		/** [Config Option] (String) */
		getterName?: string;
		/** [Config Option] (String) */
		setterName?: string;
		/** [Config Option] (String) */
		type?: string;
	}
}
declare module Ext.data {
	export interface IHasOneAssociation extends Ext.data.association.IAssociation {
		/** [Config Option] (String) */
		foreignKey?: string;
		/** [Config Option] (String) */
		getterName?: string;
		/** [Config Option] (String) */
		setterName?: string;
		/** [Config Option] (String) */
		type?: string;
	}
}
declare module Ext.data {
	export interface IBatch extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Boolean) */
		autoStart?: boolean;
		/** [Config Option] (Boolean) */
		pauseOnException?: boolean;
		/** [Property] (Number) */
		current?: number;
		/** [Property] (Ext.data.Operation[]) */
		exceptions?: Ext.data.IOperation[];
		/** [Property] (Boolean) */
		hasException?: boolean;
		/** [Property] (Boolean) */
		isComplete?: boolean;
		/** [Property] (Boolean) */
		isRunning?: boolean;
		/** [Property] (Ext.data.Operation[]) */
		operations?: Ext.data.IOperation[];
		/** [Property] (Number) */
		total?: number;
		/** [Method] Adds a new operation to this batch at the end of the operations array 
		* @param operation Object The Operation object 
		* @returns Ext.data.Batch this 
		*/
		add?( operation?:any ): Ext.data.IBatch;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Pauses execution of the batch but does not cancel the current operation 
		* @returns Ext.data.Batch this 
		*/
		pause?(): Ext.data.IBatch;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Kicks off execution of the batch continuing from the current operation  
		* @returns Ext.data.Batch this 
		*/
		retry?(): Ext.data.IBatch;
		/** [Method] Executes an operation by its numeric index in the operations array 
		* @param index Number The operation index to run 
		* @returns Ext.data.Batch this 
		*/
		runOperation?( index?:number ): Ext.data.IBatch;
		/** [Method] Kicks off execution of the batch continuing from the next operation if the previous operation encountered an excepti  
		* @param index Object 
		* @returns Ext.data.Batch this 
		*/
		start?( index?:any ): Ext.data.IBatch;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.data {
	export interface IBufferStore extends Ext.data.IStore {
		/** [Config Option] (Boolean) */
		filterOnLoad?: boolean;
		/** [Config Option] (Boolean) */
		sortOnLoad?: boolean;
	}
}
declare module Ext.data {
	export interface IConnection extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Boolean) */
		autoAbort?: boolean;
		/** [Config Option] (Boolean) */
		binary?: boolean;
		/** [Config Option] (Boolean) */
		cors?: boolean;
		/** [Config Option] (Object) */
		defaultHeaders?: any;
		/** [Config Option] (Boolean) */
		disableCaching?: boolean;
		/** [Config Option] (String) */
		disableCachingParam?: string;
		/** [Config Option] (Object) */
		extraParams?: any;
		/** [Config Option] (String) */
		method?: string;
		/** [Config Option] (Number) */
		timeout?: number;
		/** [Config Option] (Boolean) */
		withCredentials?: boolean;
		/** [Method] Aborts an active request  
		* @param request Object Defaults to the last request 
		*/
		abort?( request?:any ): void;
		/** [Method] Aborts all active requests */
		abortAll?(): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Determines whether this object has a request outstanding  
		* @param request Object Defaults to the last transaction 
		* @returns Boolean True if there is an outstanding request. 
		*/
		isLoading?( request?:any ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Checks if the response status was successful 
		* @param status Number The status code 
		* @returns Object An object containing success/status state 
		*/
		parseStatus?( status?:number ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Sends an HTTP request to a remote server  
		* @param options Object An object which may contain the following properties: (The options object may also contain any other property which might be needed to perform postprocessing in a callback because it is passed to callback functions.) 
		* @returns Object The request object. This may be used to cancel the request. 
		*/
		request?( options?:any ): any;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Sets various options such as the url params for the request 
		* @param options Object The initial options 
		* @param scope Object The scope to execute in 
		* @returns Object The params for the request 
		*/
		setOptions?( options?:any, scope?:any ): any;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Uploads a form using a hidden iframe  
		* @param form String/HTMLElement/Ext.Element The form to upload 
		* @param url String The url to post to 
		* @param params String Any extra parameters to pass 
		* @param options Object The initial options 
		*/
		upload?( form?:any, url?:string, params?:string, options?:any ): void;
	}
}
declare module Ext.data {
	export interface IDirectStore extends Ext.data.IStore {
	}
}
declare module Ext.data {
	export interface IErrors extends Ext.util.IMixedCollection {
		/** [Method] Returns all of the errors for the given field 
		* @param fieldName String The field to get errors for 
		* @returns Object[] All errors for the given field 
		*/
		getByField?( fieldName?:string ): any[];
		/** [Method] Returns true if there are no errors in the collection 
		* @returns Boolean 
		*/
		isValid?(): boolean;
	}
}
declare module Ext.data {
	export interface IField extends Ext.IBase {
		/** [Config Option] (Function) */
		convert?: any;
		/** [Config Option] (String) */
		dateFormat?: string;
		/** [Config Option] (String) */
		dateReadFormat?: string;
		/** [Config Option] (String) */
		dateWriteFormat?: string;
		/** [Config Option] (Object) */
		defaultValue?: any;
		/** [Config Option] (String/Number) */
		mapping?: any;
		/** [Config Option] (String) */
		name?: string;
		/** [Config Option] (Boolean) */
		persist?: boolean;
		/** [Config Option] (Function) */
		serialize?: any;
		/** [Config Option] (String) */
		sortDir?: string;
		/** [Config Option] (Function/String) */
		sortType?: any;
		/** [Config Option] (String/Object) */
		type?: any;
		/** [Config Option] (Boolean) */
		useNull?: boolean;
	}
}
declare module Ext.data.flash {
	export interface IBinaryXhr extends Ext.IBase {
		/** [Property] (number) */
		readyState?: number;
		/** [Property] (Array) */
		responseBytes?: any[];
		/** [Property] (number) */
		status?: number;
		/** [Property] (String) */
		statusText?: string;
		/** [Method] Abort this connection  */
		abort?(): void;
		/** [Method] As in XMLHttpRequest  */
		getAllResponseHeaders?(): void;
		/** [Method] As in XMLHttpRequest  
		* @param header Object 
		*/
		getResponseHeader?( header?:any ): void;
		/** [Method] As in XMLHttpRequest  */
		onreadystatechange?(): void;
		/** [Method] As in XMLHttpRequest  
		* @param method Object 
		* @param url Object 
		* @param async Object 
		* @param user Object 
		* @param password Object 
		*/
		open?( method?:any, url?:any, async?:any, user?:any, password?:any ): void;
		/** [Method] As in XMLHttpRequest  
		* @param mimeType Object 
		*/
		overrideMimeType?( mimeType?:any ): void;
		/** [Method] Initiate the request  
		* @param body Array an array of byte values to send. 
		*/
		send?( body?:any[] ): void;
		/** [Method] As in XMLHttpRequest  
		* @param header Object 
		* @param value Object 
		*/
		setRequestHeader?( header?:any, value?:any ): void;
	}
}
declare module Ext.data {
	export interface IGroup extends Ext.util.IObservable {
	}
}
declare module Ext.data {
	export interface IIdGenerator extends Ext.IBase {
		/** [Config Option] (String) */
		id?: string;
		/** [Property] (Boolean) */
		isGenerator?: boolean;
		/** [Method] Generates and returns the next id  
		* @returns String The next id. 
		*/
		generate?(): string;
	}
	export class IdGenerator {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Returns the IdGenerator given its config description  
		* @param config String/Object If this parameter is an IdGenerator instance, it is simply returned. If this is a string, it is first used as an id for lookup and then, if there is no match, as a type to create a new instance. This parameter can also be a config object that contains a type property (among others) that are used to create and configure the instance. 
		*/
		static get( config?:any ): void;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext.data {
	export interface IJsonP extends Ext.IBase {
	}
	export class JsonP {
		/** [Method] Abort a request  
		* @param request Object/String The request to abort 
		*/
		static abort( request?:any ): void;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Makes a JSONP request  
		* @param options Object An object which may contain the following properties. Note that options will take priority over any defaults that are specified in the class.  url : String The URL to request. params : Object (Optional)An object containing a series of key value pairs that will be sent along with the request. timeout : Number (Optional) See timeout callbackKey : String (Optional) See callbackKey callbackName : String (Optional) The function name to use for this request. By default this name will be auto-generated: Ext.data.JsonP.callback1, Ext.data.JsonP.callback2, etc. Setting this option to "my_name" will force the function name to be Ext.data.JsonP.my_name. Use this if you want deterministic behavior, but be careful - the callbackName should be different in each JsonP request that you make. disableCaching : Boolean (Optional) See disableCaching disableCachingParam : String (Optional) See disableCachingParam success : Function (Optional) A function to execute if the request succeeds. failure : Function (Optional) A function to execute if the request fails. callback : Function (Optional) A function to execute when the request completes, whether it is a success or failure. scope : Object (Optional)The scope in which to execute the callbacks: The "this" object for the callback function. Defaults to the browser window.  
		* @returns Object request An object containing the request details. 
		*/
		static request( options?:any ): any;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.data {
	export interface IJsonPStore extends Ext.data.IStore {
	}
}
declare module Ext.data {
	export interface IJsonStore extends Ext.data.IStore {
	}
}
declare module Ext.data {
	export interface IModel extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Object[]) */
		associations?: any[];
		/** [Config Option] (String/Object/String[]/Object[]) */
		belongsTo?: any;
		/** [Config Option] (String) */
		clientIdProperty?: string;
		/** [Config Option] (String) */
		defaultProxyType?: string;
		/** [Config Option] (Object[]/String[]) */
		fields?: any;
		/** [Config Option] (String/Object/String[]/Object[]) */
		hasMany?: any;
		/** [Config Option] (String/Object/Ext.data.Field) */
		idProperty?: any;
		/** [Config Option] (String/Object) */
		idgen?: any;
		/** [Config Option] (String) */
		persistenceProperty?: string;
		/** [Config Option] (String/Object/Ext.data.proxy.Proxy) */
		proxy?: any;
		/** [Config Option] (Object[]) */
		validations?: any[];
		/** [Property] (Boolean) */
		dirty?: boolean;
		/** [Property] (Boolean) */
		editing?: boolean;
		/** [Property] (Boolean) */
		isModel?: boolean;
		/** [Property] (Object) */
		modified?: any;
		/** [Property] (Boolean) */
		phantom?: boolean;
		/** [Property] (Object) */
		raw?: any;
		/** [Property] (Ext.data.Store) */
		store?: Ext.data.IStore;
		/** [Property] (Ext.data.Store[]) */
		stores?: Ext.data.IStore[];
		/** [Property] (String) */
		COMMIT?: string;
		/** [Property] (String) */
		EDIT?: string;
		/** [Property] (String) */
		REJECT?: string;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Begins an edit  */
		beginEdit?(): void;
		/** [Method] Cancels all changes made in the current edit operation  */
		cancelEdit?(): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Usually called by the Ext data Store which owns the model instance  
		* @param silent Boolean Pass true to skip notification of the owning store of the change. 
		* @param modifiedFieldNames String[] Array of field names changed during sync with server if known. Omit or pass null if unknown. An empty array means that it is known that no fields were modified by the server's response. Defaults to false. 
		*/
		commit?( silent?:boolean, modifiedFieldNames?:string[] ): void;
		/** [Method] Creates a copy clone of this Model instance  
		* @param id String A new id, defaults to the id of the instance being copied. See id. To generate a phantom instance with a new id use: var rec = record.copy(); // clone the record Ext.data.Model.id(rec); // automatically generate a unique sequential id 
		* @returns Ext.data.Model 
		*/
		copy?( id?:string ): Ext.data.IModel;
		/** [Method] Destroys the model using the configured proxy  
		* @param options Object Options to pass to the proxy. Config object for Ext.data.Operation. 
		* @returns Ext.data.Model The Model instance 
		*/
		destroy?( options?:any ): Ext.data.IModel;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Ends an edit  
		* @param silent Boolean True to not notify the store of the change 
		* @param modifiedFieldNames String[] Array of field names changed during edit. 
		*/
		endEdit?( silent?:boolean, modifiedFieldNames?:string[] ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the value of the given field 
		* @param fieldName String The field to fetch the value for 
		* @returns Object The value 
		*/
		get?( fieldName?:string ): any;
		/** [Method] Gets all of the data from this Models loaded associations  
		* @returns Object The nested data set for the Model's loaded associations 
		*/
		getAssociatedData?(): any;
		/** [Method] Gets a hash of only the fields that have been modified since this Model was created or commited  
		* @returns Object 
		*/
		getChanges?(): any;
		/** [Method] Gets all values for each field in this model and returns an object containing the current data  
		* @param includeAssociated Boolean True to also include associated data. Defaults to false. 
		* @returns Object An object hash containing all the values in this model 
		*/
		getData?( includeAssociated?:boolean ): any;
		/** [Method] Returns the unique ID allocated to this model instance as defined by idProperty  
		* @returns Number/String The id 
		*/
		getId?(): any;
		/** [Method] Returns the configured Proxy for this Model  
		* @returns Ext.data.proxy.Proxy The proxy 
		*/
		getProxy?(): Ext.data.proxy.IProxy;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Returns true if the passed field name has been modified since the load or last commit  
		* @param fieldName String Ext.data.Field.name 
		* @returns Boolean 
		*/
		isModified?( fieldName?:string ): boolean;
		/** [Method] Checks if the model is valid  
		* @returns Boolean True if the model is valid. 
		*/
		isValid?(): boolean;
		/** [Method] Tells this model instance that it has been added to a store  
		* @param store Ext.data.Store The store to which this model has been added. 
		*/
		join?( store?:Ext.data.IStore ): void;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Usually called by the Ext data Store to which this model instance has been joined  
		* @param silent Boolean True to skip notification of the owning store of the change. Defaults to false. 
		*/
		reject?( silent?:boolean ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Saves the model instance using the configured proxy  
		* @param options Object Options to pass to the proxy. Config object for Ext.data.Operation. 
		* @returns Ext.data.Model The Model instance 
		*/
		save?( options?:any ): Ext.data.IModel;
		/** [Method] Sets the given field to the given value marks the instance as dirty 
		* @param fieldName String/Object The field to set, or an object containing key/value pairs 
		* @param newValue Object The value to set 
		* @returns String[] The array of modified field names or null if nothing was modified. 
		*/
		set?( fieldName?:any, newValue?:any ): string[];
		/** [Method] Marks this Record as dirty  */
		setDirty?(): void;
		/** [Method] Sets the model instance s id field to the given id  
		* @param id Number/String The new id 
		*/
		setId?( id?:any ): void;
		/** [Method] Sets the Proxy to use for this model  
		* @param proxy String/Object/Ext.data.proxy.Proxy The proxy 
		* @returns Ext.data.proxy.Proxy 
		*/
		setProxy?( proxy?:any ): Ext.data.proxy.IProxy;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Tells this model instance that it has been removed from the store  
		* @param store Ext.data.Store The store from which this model has been removed. 
		*/
		unjoin?( store?:Ext.data.IStore ): void;
		/** [Method] Validates the current data against all of its configured validations  
		* @returns Ext.data.Errors The errors object 
		*/
		validate?(): Ext.data.IErrors;
	}
	export class Model {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Returns an Array of Field definitions which define this Model s structure Fields are sorted upon Model class definit  
		* @returns Ext.data.Field[] The defined Fields for this Model. 
		*/
		static getFields(): Ext.data.IField[];
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Returns the configured Proxy for this Model 
		* @returns Ext.data.proxy.Proxy The proxy 
		*/
		static getProxy(): Ext.data.proxy.IProxy;
		/** [Method] Generates a sequential id  
		* @param rec Ext.data.Model The record being created. The record does not exist, it's a phantom. 
		* @returns String auto-generated string id, "ext-record-i++"; 
		*/
		static id( rec?:Ext.data.IModel ): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Asynchronously loads a model instance by id  
		* @param id Number/String The id of the model to load 
		* @param config Object config object containing success, failure and callback functions, plus optional scope 
		*/
		static load( id?:any, config?:any ): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
		/** [Method] Apply a new set of field and or property definitions to the existing model  
		* @param fields Object 
		* @param idProperty Object 
		* @param clientIdProperty Object 
		*/
		static setFields( fields?:any, idProperty?:any, clientIdProperty?:any ): void;
		/** [Method] Sets the Proxy to use for this model  
		* @param proxy String/Object/Ext.data.proxy.Proxy The proxy 
		* @returns Ext.data.proxy.Proxy 
		*/
		static setProxy( proxy?:any ): Ext.data.proxy.IProxy;
	}
}
declare module Ext.data {
	export interface IRecord extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Object[]) */
		associations?: any[];
		/** [Config Option] (String/Object/String[]/Object[]) */
		belongsTo?: any;
		/** [Config Option] (String) */
		clientIdProperty?: string;
		/** [Config Option] (String) */
		defaultProxyType?: string;
		/** [Config Option] (Object[]/String[]) */
		fields?: any;
		/** [Config Option] (String/Object/String[]/Object[]) */
		hasMany?: any;
		/** [Config Option] (String/Object/Ext.data.Field) */
		idProperty?: any;
		/** [Config Option] (String/Object) */
		idgen?: any;
		/** [Config Option] (String) */
		persistenceProperty?: string;
		/** [Config Option] (String/Object/Ext.data.proxy.Proxy) */
		proxy?: any;
		/** [Config Option] (Object[]) */
		validations?: any[];
		/** [Property] (Boolean) */
		dirty?: boolean;
		/** [Property] (Boolean) */
		editing?: boolean;
		/** [Property] (Boolean) */
		isModel?: boolean;
		/** [Property] (Object) */
		modified?: any;
		/** [Property] (Boolean) */
		phantom?: boolean;
		/** [Property] (Object) */
		raw?: any;
		/** [Property] (Ext.data.Store) */
		store?: Ext.data.IStore;
		/** [Property] (Ext.data.Store[]) */
		stores?: Ext.data.IStore[];
		/** [Property] (String) */
		COMMIT?: string;
		/** [Property] (String) */
		EDIT?: string;
		/** [Property] (String) */
		REJECT?: string;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Begins an edit  */
		beginEdit?(): void;
		/** [Method] Cancels all changes made in the current edit operation  */
		cancelEdit?(): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Usually called by the Ext data Store which owns the model instance  
		* @param silent Boolean Pass true to skip notification of the owning store of the change. 
		* @param modifiedFieldNames String[] Array of field names changed during sync with server if known. Omit or pass null if unknown. An empty array means that it is known that no fields were modified by the server's response. Defaults to false. 
		*/
		commit?( silent?:boolean, modifiedFieldNames?:string[] ): void;
		/** [Method] Creates a copy clone of this Model instance  
		* @param id String A new id, defaults to the id of the instance being copied. See id. To generate a phantom instance with a new id use: var rec = record.copy(); // clone the record Ext.data.Model.id(rec); // automatically generate a unique sequential id 
		* @returns Ext.data.Model 
		*/
		copy?( id?:string ): Ext.data.IModel;
		/** [Method] Destroys the model using the configured proxy  
		* @param options Object Options to pass to the proxy. Config object for Ext.data.Operation. 
		* @returns Ext.data.Model The Model instance 
		*/
		destroy?( options?:any ): Ext.data.IModel;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Ends an edit  
		* @param silent Boolean True to not notify the store of the change 
		* @param modifiedFieldNames String[] Array of field names changed during edit. 
		*/
		endEdit?( silent?:boolean, modifiedFieldNames?:string[] ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the value of the given field 
		* @param fieldName String The field to fetch the value for 
		* @returns Object The value 
		*/
		get?( fieldName?:string ): any;
		/** [Method] Gets all of the data from this Models loaded associations  
		* @returns Object The nested data set for the Model's loaded associations 
		*/
		getAssociatedData?(): any;
		/** [Method] Gets a hash of only the fields that have been modified since this Model was created or commited  
		* @returns Object 
		*/
		getChanges?(): any;
		/** [Method] Gets all values for each field in this model and returns an object containing the current data  
		* @param includeAssociated Boolean True to also include associated data. Defaults to false. 
		* @returns Object An object hash containing all the values in this model 
		*/
		getData?( includeAssociated?:boolean ): any;
		/** [Method] Returns the unique ID allocated to this model instance as defined by idProperty  
		* @returns Number/String The id 
		*/
		getId?(): any;
		/** [Method] Returns the configured Proxy for this Model  
		* @returns Ext.data.proxy.Proxy The proxy 
		*/
		getProxy?(): Ext.data.proxy.IProxy;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Returns true if the passed field name has been modified since the load or last commit  
		* @param fieldName String Ext.data.Field.name 
		* @returns Boolean 
		*/
		isModified?( fieldName?:string ): boolean;
		/** [Method] Checks if the model is valid  
		* @returns Boolean True if the model is valid. 
		*/
		isValid?(): boolean;
		/** [Method] Tells this model instance that it has been added to a store  
		* @param store Ext.data.Store The store to which this model has been added. 
		*/
		join?( store?:Ext.data.IStore ): void;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Usually called by the Ext data Store to which this model instance has been joined  
		* @param silent Boolean True to skip notification of the owning store of the change. Defaults to false. 
		*/
		reject?( silent?:boolean ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Saves the model instance using the configured proxy  
		* @param options Object Options to pass to the proxy. Config object for Ext.data.Operation. 
		* @returns Ext.data.Model The Model instance 
		*/
		save?( options?:any ): Ext.data.IModel;
		/** [Method] Sets the given field to the given value marks the instance as dirty 
		* @param fieldName String/Object The field to set, or an object containing key/value pairs 
		* @param newValue Object The value to set 
		* @returns String[] The array of modified field names or null if nothing was modified. 
		*/
		set?( fieldName?:any, newValue?:any ): string[];
		/** [Method] Marks this Record as dirty  */
		setDirty?(): void;
		/** [Method] Sets the model instance s id field to the given id  
		* @param id Number/String The new id 
		*/
		setId?( id?:any ): void;
		/** [Method] Sets the Proxy to use for this model  
		* @param proxy String/Object/Ext.data.proxy.Proxy The proxy 
		* @returns Ext.data.proxy.Proxy 
		*/
		setProxy?( proxy?:any ): Ext.data.proxy.IProxy;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Tells this model instance that it has been removed from the store  
		* @param store Ext.data.Store The store from which this model has been removed. 
		*/
		unjoin?( store?:Ext.data.IStore ): void;
		/** [Method] Validates the current data against all of its configured validations  
		* @returns Ext.data.Errors The errors object 
		*/
		validate?(): Ext.data.IErrors;
	}
	export class Record {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Returns an Array of Field definitions which define this Model s structure Fields are sorted upon Model class definit  
		* @returns Ext.data.Field[] The defined Fields for this Model. 
		*/
		static getFields(): Ext.data.IField[];
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Returns the configured Proxy for this Model 
		* @returns Ext.data.proxy.Proxy The proxy 
		*/
		static getProxy(): Ext.data.proxy.IProxy;
		/** [Method] Generates a sequential id  
		* @param rec Ext.data.Model The record being created. The record does not exist, it's a phantom. 
		* @returns String auto-generated string id, "ext-record-i++"; 
		*/
		static id( rec?:Ext.data.IModel ): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Asynchronously loads a model instance by id  
		* @param id Number/String The id of the model to load 
		* @param config Object config object containing success, failure and callback functions, plus optional scope 
		*/
		static load( id?:any, config?:any ): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
		/** [Method] Apply a new set of field and or property definitions to the existing model  
		* @param fields Object 
		* @param idProperty Object 
		* @param clientIdProperty Object 
		*/
		static setFields( fields?:any, idProperty?:any, clientIdProperty?:any ): void;
		/** [Method] Sets the Proxy to use for this model  
		* @param proxy String/Object/Ext.data.proxy.Proxy The proxy 
		* @returns Ext.data.proxy.Proxy 
		*/
		static setProxy( proxy?:any ): Ext.data.proxy.IProxy;
	}
}
declare module Ext.data {
	export interface INodeInterface extends Ext.IBase {
		/** [Config Option] (Boolean) */
		allowDrag?: boolean;
		/** [Config Option] (Boolean) */
		allowDrop?: boolean;
		/** [Config Option] (Boolean) */
		checked?: boolean;
		/** [Config Option] (Ext.data.NodeInterface[]) */
		children?: Ext.data.INodeInterface[];
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (Number) */
		depth?: number;
		/** [Config Option] (Boolean) */
		expandable?: boolean;
		/** [Config Option] (Boolean) */
		expanded?: boolean;
		/** [Config Option] (String) */
		href?: string;
		/** [Config Option] (String) */
		hrefTarget?: string;
		/** [Config Option] (String) */
		icon?: string;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (Number) */
		index?: number;
		/** [Config Option] (Boolean) */
		isFirst?: boolean;
		/** [Config Option] (Boolean) */
		isLast?: boolean;
		/** [Config Option] (Boolean) */
		leaf?: boolean;
		/** [Config Option] (Boolean) */
		loaded?: boolean;
		/** [Config Option] (Boolean) */
		loading?: boolean;
		/** [Config Option] (String) */
		parentId?: string;
		/** [Config Option] (Number) */
		qshowDelay?: number;
		/** [Config Option] (String) */
		qtip?: string;
		/** [Config Option] (String) */
		qtitle?: string;
		/** [Config Option] (Boolean) */
		root?: boolean;
		/** [Config Option] (String) */
		text?: string;
		/** [Property] (Ext.data.NodeInterface[]) */
		childNodes?: Ext.data.INodeInterface[];
		/** [Property] (Ext.data.NodeInterface) */
		firstChild?: Ext.data.INodeInterface;
		/** [Property] (Boolean) */
		isNode?: boolean;
		/** [Property] (Ext.data.NodeInterface) */
		lastChild?: Ext.data.INodeInterface;
		/** [Property] (Ext.data.NodeInterface) */
		nextSibling?: Ext.data.INodeInterface;
		/** [Property] (Ext.data.NodeInterface) */
		parentNode?: Ext.data.INodeInterface;
		/** [Property] (Ext.data.NodeInterface) */
		previousSibling?: Ext.data.INodeInterface;
		/** [Method] Inserts node s as the last child node of this node  
		* @param node Ext.data.NodeInterface/Ext.data.NodeInterface[]/Object The node or Array of nodes to append 
		* @param suppressEvents Boolean True to suppress firering of events. 
		* @param commit Boolean 
		* @returns Ext.data.NodeInterface The appended node if single append, or null if an array was passed 
		*/
		appendChild?( node?:any, suppressEvents?:boolean, commit?:boolean ): Ext.data.INodeInterface;
		/** [Method] Bubbles up the tree from this node calling the specified function with each node  
		* @param fn Function The function to call 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Node. 
		* @param args Array The args to call the function with. Defaults to passing the current Node. 
		*/
		bubble?( fn?:any, scope?:any, args?:any[] ): void;
		/** [Method] Cascades down the tree from this node calling the specified function with each node  
		* @param fn Function The function to call 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Node. 
		* @param args Array The args to call the function with. Defaults to passing the current Node. 
		*/
		cascadeBy?( fn?:any, scope?:any, args?:any[] ): void;
		/** [Method] Collapse this node  
		* @param recursive Boolean True to recursively collapse all the children 
		* @param callback Function The function to execute once the collapse completes 
		* @param scope Object The scope to run the callback in 
		*/
		collapse?( recursive?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Collapse all the children of this node  
		* @param recursive Function True to recursively collapse all the children 
		* @param callback Function The function to execute once all the children are collapsed 
		* @param scope Object The scope to run the callback in 
		*/
		collapseChildren?( recursive?:any, callback?:any, scope?:any ): void;
		/** [Method] Returns true if this node is an ancestor at any point of the passed node  
		* @param node Ext.data.NodeInterface 
		* @returns Boolean 
		*/
		contains?( node?:Ext.data.INodeInterface ): boolean;
		/** [Method] Creates a copy clone of this Node  
		* @param id String A new id, defaults to this Node's id. 
		* @param deep Boolean True to recursively copy all child Nodes into the new Node. False to copy without child Nodes. 
		* @returns Ext.data.NodeInterface A copy of this Node. 
		*/
		copy?( id?:string, deep?:boolean ): Ext.data.INodeInterface;
		/** [Method] Ensures that the passed object is an instance of a Record with the NodeInterface applied 
		* @param node Object 
		* @returns Ext.data.NodeInterface 
		*/
		createNode?( node?:any ): Ext.data.INodeInterface;
		/** [Method] Destroys the node  
		* @param silent Object 
		*/
		destroy?( silent?:any ): void;
		/** [Method] Interates the child nodes of this node calling the specified function with each node  
		* @param fn Function The function to call 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Node in iteration. 
		* @param args Array The args to call the function with. Defaults to passing the current Node. 
		*/
		eachChild?( fn?:any, scope?:any, args?:any[] ): void;
		/** [Method] Expand this node  
		* @param recursive Boolean True to recursively expand all the children 
		* @param callback Function The function to execute once the expand completes 
		* @param scope Object The scope to run the callback in 
		*/
		expand?( recursive?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Expand all the children of this node  
		* @param recursive Boolean True to recursively expand all the children 
		* @param callback Function The function to execute once all the children are expanded 
		* @param scope Object The scope to run the callback in 
		*/
		expandChildren?( recursive?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Finds the first child that has the attribute with the specified value  
		* @param attribute String The attribute name 
		* @param value Object The value to search for 
		* @param deep Boolean True to search through nodes deeper than the immediate children 
		* @returns Ext.data.NodeInterface The found child or null if none was found 
		*/
		findChild?( attribute?:string, value?:any, deep?:boolean ): Ext.data.INodeInterface;
		/** [Method] Finds the first child by a custom function  
		* @param fn Function A function which must return true if the passed Node is the required Node. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the Node being tested. 
		* @param deep Boolean True to search through nodes deeper than the immediate children 
		* @returns Ext.data.NodeInterface The found child or null if none was found 
		*/
		findChildBy?( fn?:any, scope?:any, deep?:boolean ): Ext.data.INodeInterface;
		/** [Method] Returns the child node at the specified index  
		* @param index Number 
		* @returns Ext.data.NodeInterface 
		*/
		getChildAt?( index?:number ): Ext.data.INodeInterface;
		/** [Method] Returns depth of this node the root node has a depth of 0  
		* @returns Number 
		*/
		getDepth?(): number;
		/** [Method] Returns the tree this node is in  
		* @returns Ext.tree.Panel The tree panel which owns this node. 
		*/
		getOwnerTree?(): Ext.tree.IPanel;
		/** [Method] Gets the hierarchical path from the root of the current node  
		* @param field String The field to construct the path from. Defaults to the model idProperty. 
		* @param separator String A separator to use. 
		* @returns String The node path 
		*/
		getPath?( field?:string, separator?:string ): string;
		/** [Method] Returns true if this node has one or more child nodes else false  
		* @returns Boolean 
		*/
		hasChildNodes?(): boolean;
		/** [Method] Returns the index of a child node 
		* @param node Ext.data.NodeInterface 
		* @returns Number The index of the node or -1 if it was not found 
		*/
		indexOf?( node?:Ext.data.INodeInterface ): number;
		/** [Method] Returns the index of a child node that matches the id 
		* @param id String The id of the node to find 
		* @returns Number The index of the node or -1 if it was not found 
		*/
		indexOfId?( id?:string ): number;
		/** [Method] Inserts the first node before the second node in this nodes childNodes collection  
		* @param node Ext.data.NodeInterface The node to insert 
		* @param refNode Ext.data.NodeInterface The node to insert before (if null the node is appended) 
		* @returns Ext.data.NodeInterface The inserted node 
		*/
		insertBefore?( node?:Ext.data.INodeInterface, refNode?:Ext.data.INodeInterface ): Ext.data.INodeInterface;
		/** [Method] Inserts a node into this node  
		* @param index Number The zero-based index to insert the node at 
		* @param node Ext.data.NodeInterface The node to insert 
		* @returns Ext.data.NodeInterface The node you just inserted 
		*/
		insertChild?( index?:number, node?:Ext.data.INodeInterface ): Ext.data.INodeInterface;
		/** [Method] Returns true if the passed node is an ancestor at any point of this node  
		* @param node Ext.data.NodeInterface 
		* @returns Boolean 
		*/
		isAncestor?( node?:Ext.data.INodeInterface ): boolean;
		/** [Method] Returns true if this node has one or more child nodes or if the expandable node attribute is explicitly specified as  
		* @returns Boolean 
		*/
		isExpandable?(): boolean;
		/** [Method] Returns true if this node is expaned 
		* @returns Boolean 
		*/
		isExpanded?(): boolean;
		/** [Method] Returns true if this node is a leaf 
		* @returns Boolean 
		*/
		isLeaf?(): boolean;
		/** [Method] Returns true if this node is loaded 
		* @returns Boolean 
		*/
		isLoaded?(): boolean;
		/** [Method] Returns true if this node is loading 
		* @returns Boolean 
		*/
		isLoading?(): boolean;
		/** [Method] Returns true if this node is the root node 
		* @returns Boolean 
		*/
		isRoot?(): boolean;
		/** [Method] Returns true if this node is visible  
		* @returns Boolean 
		*/
		isVisible?(): boolean;
		/** [Method] Removes this node from its parent 
		* @param destroy Boolean True to destroy the node upon removal. 
		* @returns Ext.data.NodeInterface this 
		*/
		remove?( destroy?:boolean ): Ext.data.INodeInterface;
		/** [Method] Removes all child nodes from this node  
		* @param destroy Boolean True to destroy the node upon removal. 
		* @returns Ext.data.NodeInterface this 
		*/
		removeAll?( destroy?:boolean ): Ext.data.INodeInterface;
		/** [Method] Removes a child node from this node  
		* @param node Ext.data.NodeInterface The node to remove 
		* @param destroy Boolean True to destroy the node upon removal. 
		* @returns Ext.data.NodeInterface The removed node 
		*/
		removeChild?( node?:Ext.data.INodeInterface, destroy?:boolean ): Ext.data.INodeInterface;
		/** [Method] Replaces one child node in this node with another  
		* @param newChild Ext.data.NodeInterface The replacement node 
		* @param oldChild Ext.data.NodeInterface The node to replace 
		* @returns Ext.data.NodeInterface The replaced node 
		*/
		replaceChild?( newChild?:Ext.data.INodeInterface, oldChild?:Ext.data.INodeInterface ): Ext.data.INodeInterface;
		/** [Method] Creates an object representation of this node including its children  */
		serialize?(): void;
		/** [Method] Sorts this nodes children using the supplied sort function  
		* @param fn Function A function which, when passed two Nodes, returns -1, 0 or 1 depending upon required sort order. 
		* @param recursive Boolean True to apply this sort recursively 
		* @param suppressEvent Boolean True to not fire a sort event. 
		*/
		sort?( fn?:any, recursive?:boolean, suppressEvent?:boolean ): void;
		/** [Method] Updates general data of this node like isFirst isLast depth  
		* @param commit Boolean 
		* @param info Object The info to update. May contain any of the following 
		*/
		updateInfo?( commit?:boolean, info?:any ): void;
	}
	export class NodeInterface {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] This method allows you to decorate a Model s class to implement the NodeInterface  
		* @param modelClass Ext.Class/Ext.data.Model The Model class or an instance of the Model class you want to decorate the prototype of. 
		*/
		static decorate( modelClass?:any ): void;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext.data {
	export interface INodeStore extends Ext.data.IStore {
		/** [Config Option] (Ext.data.Model) */
		node?: Ext.data.IModel;
		/** [Config Option] (Boolean) */
		recursive?: boolean;
		/** [Config Option] (Boolean) */
		rootVisible?: boolean;
		/** [Config Option] (Ext.data.TreeStore) */
		treeStore?: Ext.data.ITreeStore;
		/** [Property] (Number) */
		isExpandingOrCollapsing?: number;
		/** [Property] (Boolean) */
		isNodeStore?: boolean;
		/** [Method] NodeStores are never buffered or paged  
		* @returns Number The total number of Model instances available via the Proxy. 0 returned if no value has been set via the reader. 
		*/
		getTotalCount?(): number;
	}
}
declare module Ext.data {
	export interface IOperation extends Ext.IBase {
		/** [Config Option] (String) */
		action?: string;
		/** [Config Option] (Ext.data.Batch) */
		batch?: Ext.data.IBatch;
		/** [Config Option] (Function) */
		callback?: any;
		/** [Config Option] (Ext.util.Filter[]) */
		filters?: Ext.util.IFilter[];
		/** [Config Option] (Ext.util.Grouper[]) */
		groupers?: Ext.util.IGrouper[];
		/** [Config Option] (Number) */
		limit?: number;
		/** [Config Option] (Object) */
		params?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Ext.util.Sorter[]) */
		sorters?: Ext.util.ISorter[];
		/** [Config Option] (Number) */
		start?: number;
		/** [Config Option] (Boolean) */
		synchronous?: boolean;
		/** [Property] (RegExp) */
		actionCommitRecordsRe?: RegExp;
		/** [Property] (RegExp) */
		actionSkipSyncRe?: RegExp;
		/** [Method] Checks whether this operation should cause writing to occur  
		* @returns Boolean Whether the operation should cause a write to occur. 
		*/
		allowWrite?(): boolean;
		/** [Method] This method is called to commit data to this instance s records given the records in the server response  
		* @param serverRecords Ext.data.Model[] An array of Ext.data.Model objects returned by the server. 
		*/
		commitRecords?( serverRecords?:Ext.data.IModel[] ): void;
		/** [Method] Returns the error string or object that was set using setException 
		* @returns String/Object The error object 
		*/
		getError?(): any;
		/** [Method] Returns the records associated with this operation  
		* @returns Ext.data.Model[] 
		*/
		getRecords?(): Ext.data.IModel[];
		/** [Method] Returns the ResultSet object if set by the Proxy 
		* @returns Ext.data.ResultSet The ResultSet object 
		*/
		getResultSet?(): Ext.data.IResultSet;
		/** [Method] Returns true if this Operation encountered an exception see also getError  
		* @returns Boolean True if there was an exception 
		*/
		hasException?(): boolean;
		/** [Method] Returns true if the Operation has been completed 
		* @returns Boolean True if the Operation is complete 
		*/
		isComplete?(): boolean;
		/** [Method] Returns true if the Operation has been started but has not yet completed  
		* @returns Boolean True if the Operation is currently running 
		*/
		isRunning?(): boolean;
		/** [Method] Returns true if the Operation has been started  
		* @returns Boolean True if the Operation has started 
		*/
		isStarted?(): boolean;
		/** [Method] Marks the Operation as completed  */
		setCompleted?(): void;
		/** [Method] Marks the Operation as having experienced an exception  
		* @param error String/Object error string/object 
		*/
		setException?( error?:any ): void;
		/** [Method] Marks the Operation as started  */
		setStarted?(): void;
		/** [Method] Marks the Operation as successful  */
		setSuccessful?(): void;
		/** [Method] Returns true if the Operation has completed and was successful 
		* @returns Boolean True if successful 
		*/
		wasSuccessful?(): boolean;
	}
}
declare module Ext.data {
	export interface IPageMap extends Ext.util.ILruCache {
		/** [Method] Maintain a generation counter so that the Store can reject incoming pages destined for the previous generation 
		* @param initial Object 
		* @returns Ext.util.HashMap this 
		*/
		clear?( initial?:any ): Ext.util.IHashMap;
		/** [Method] Returns the first record in this page map which elicits a true return value from the passed selection function  
		* @param fn Function The selection function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this PageMap. 
		* @returns Object The first record in this page map which returned true from the selection function, or null if none was found. 
		*/
		findBy?( fn?:any, scope?:any ): any;
		/** [Method] Returns the index in the whole dataset of the first record in this page map which elicits a true return value from th  
		* @param fn Function The selection function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this PageMap. 
		* @returns Number The index first record in this page map which returned true from the selection function, or -1 if none was found. 
		*/
		findIndexBy?( fn?:any, scope?:any ): number;
		/** [Method] Gets the number of items in the hash  
		* @returns Number The number of items in the hash. 
		*/
		getCount?(): number;
		/** [Method] Remove an item from the hash  
		* @returns Boolean True if the item was successfully removed. 
		*/
		remove?(): boolean;
	}
}
declare module Ext.data.proxy {
	export interface IAjax extends Ext.data.proxy.IServer {
		/** [Config Option] (Boolean) */
		binary?: boolean;
		/** [Config Option] (Object) */
		headers?: any;
		/** [Property] (Object) */
		actionMethods?: any;
		/** [Method] Returns the HTTP method name for a given request  
		* @param request Ext.data.Request The request object 
		* @returns String The HTTP method to use (should be one of 'GET', 'POST', 'PUT' or 'DELETE') 
		*/
		getMethod?( request?:Ext.data.IRequest ): string;
	}
}
declare module Ext.data {
	export interface IHttpProxy extends Ext.data.proxy.IServer {
		/** [Config Option] (Boolean) */
		binary?: boolean;
		/** [Config Option] (Object) */
		headers?: any;
		/** [Property] (Object) */
		actionMethods?: any;
		/** [Method] Returns the HTTP method name for a given request  
		* @param request Ext.data.Request The request object 
		* @returns String The HTTP method to use (should be one of 'GET', 'POST', 'PUT' or 'DELETE') 
		*/
		getMethod?( request?:Ext.data.IRequest ): string;
	}
}
declare module Ext.data {
	export interface IAjaxProxy extends Ext.data.proxy.IServer {
		/** [Config Option] (Boolean) */
		binary?: boolean;
		/** [Config Option] (Object) */
		headers?: any;
		/** [Property] (Object) */
		actionMethods?: any;
		/** [Method] Returns the HTTP method name for a given request  
		* @param request Ext.data.Request The request object 
		* @returns String The HTTP method to use (should be one of 'GET', 'POST', 'PUT' or 'DELETE') 
		*/
		getMethod?( request?:Ext.data.IRequest ): string;
	}
}
declare module Ext.data.proxy {
	export interface IClient extends Ext.data.proxy.IProxy {
		/** [Property] (Boolean) */
		isSynchronous?: boolean;
		/** [Method] Abstract function that must be implemented by each ClientProxy subclass  */
		clear?(): void;
	}
}
declare module Ext.data {
	export interface IClientProxy extends Ext.data.proxy.IProxy {
		/** [Property] (Boolean) */
		isSynchronous?: boolean;
		/** [Method] Abstract function that must be implemented by each ClientProxy subclass  */
		clear?(): void;
	}
}
declare module Ext.data.proxy {
	export interface IDirect extends Ext.data.proxy.IServer {
		/** [Config Option] (Object) */
		api?: any;
		/** [Config Option] (Function/String) */
		directFn?: any;
		/** [Config Option] (Object) */
		extraParams?: any;
		/** [Config Option] (String/String[]) */
		paramOrder?: any;
		/** [Config Option] (Boolean) */
		paramsAsHash?: boolean;
		/** [Method] inherit docs 
		* @returns String The url 
		*/
		buildUrl?(): string;
		/** [Method] In ServerProxy subclasses the create read update and destroy methods all pass through to doRequest  
		* @param operation Object 
		* @param callback Object 
		* @param scope Object 
		*/
		doRequest?( operation?:any, callback?:any, scope?:any ): void;
	}
}
declare module Ext.data {
	export interface IDirectProxy extends Ext.data.proxy.IServer {
		/** [Config Option] (Object) */
		api?: any;
		/** [Config Option] (Function/String) */
		directFn?: any;
		/** [Config Option] (Object) */
		extraParams?: any;
		/** [Config Option] (String/String[]) */
		paramOrder?: any;
		/** [Config Option] (Boolean) */
		paramsAsHash?: boolean;
		/** [Method] inherit docs 
		* @returns String The url 
		*/
		buildUrl?(): string;
		/** [Method] In ServerProxy subclasses the create read update and destroy methods all pass through to doRequest  
		* @param operation Object 
		* @param callback Object 
		* @param scope Object 
		*/
		doRequest?( operation?:any, callback?:any, scope?:any ): void;
	}
}
declare module Ext.data.proxy {
	export interface IJsonP extends Ext.data.proxy.IServer {
		/** [Config Option] (Boolean) */
		autoAppendParams?: boolean;
		/** [Config Option] (String) */
		callbackKey?: string;
		/** [Config Option] (String) */
		recordParam?: string;
		/** [Method] Aborts the current server request if one is currently running */
		abort?(): void;
		/** [Method] Generates a url based on a given Ext data Request object  
		* @param request Ext.data.Request The request object 
		* @returns String The url 
		*/
		buildUrl?( request?:Ext.data.IRequest ): string;
		/** [Method] Encodes an array of records into a value suitable to be added to the request params as the recordParam parameter  
		* @param records Ext.data.Model[] The records array 
		* @returns Array An array of record data objects 
		*/
		encodeRecords?( records?:Ext.data.IModel[] ): any[];
	}
}
declare module Ext.data {
	export interface IScriptTagProxy extends Ext.data.proxy.IServer {
		/** [Config Option] (Boolean) */
		autoAppendParams?: boolean;
		/** [Config Option] (String) */
		callbackKey?: string;
		/** [Config Option] (String) */
		recordParam?: string;
		/** [Method] Aborts the current server request if one is currently running */
		abort?(): void;
		/** [Method] Generates a url based on a given Ext data Request object  
		* @param request Ext.data.Request The request object 
		* @returns String The url 
		*/
		buildUrl?( request?:Ext.data.IRequest ): string;
		/** [Method] Encodes an array of records into a value suitable to be added to the request params as the recordParam parameter  
		* @param records Ext.data.Model[] The records array 
		* @returns Array An array of record data objects 
		*/
		encodeRecords?( records?:Ext.data.IModel[] ): any[];
	}
}
declare module Ext.data.proxy {
	export interface ILocalStorage extends Ext.data.proxy.IWebStorage {
	}
}
declare module Ext.data {
	export interface ILocalStorageProxy extends Ext.data.proxy.IWebStorage {
	}
}
declare module Ext.data.proxy {
	export interface IMemory extends Ext.data.proxy.IClient {
		/** [Config Option] (Object) */
		data?: any;
		/** [Config Option] (Boolean) */
		enablePaging?: boolean;
		/** [Method] Abstract function that must be implemented by each ClientProxy subclass  */
		clear?(): void;
		/** [Method] Currently this is a hard coded method that simply commits any records and sets the operation to successful then call  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		create?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Currently this is a hard coded method that simply commits any records and sets the operation to successful then call  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		destroy?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Reads data from the configured data object  
		* @param operation Ext.data.Operation The read Operation 
		* @param callback Function The callback to call when reading has completed 
		* @param scope Object The scope to call the callback function in 
		*/
		read?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Currently this is a hard coded method that simply commits any records and sets the operation to successful then call  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		update?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
	}
}
declare module Ext.data {
	export interface IMemoryProxy extends Ext.data.proxy.IClient {
		/** [Config Option] (Object) */
		data?: any;
		/** [Config Option] (Boolean) */
		enablePaging?: boolean;
		/** [Method] Abstract function that must be implemented by each ClientProxy subclass  */
		clear?(): void;
		/** [Method] Currently this is a hard coded method that simply commits any records and sets the operation to successful then call  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		create?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Currently this is a hard coded method that simply commits any records and sets the operation to successful then call  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		destroy?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Reads data from the configured data object  
		* @param operation Ext.data.Operation The read Operation 
		* @param callback Function The callback to call when reading has completed 
		* @param scope Object The scope to call the callback function in 
		*/
		read?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Currently this is a hard coded method that simply commits any records and sets the operation to successful then call  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		update?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
	}
}
declare module Ext.data.proxy {
	export interface IProxy extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Boolean) */
		batchActions?: boolean;
		/** [Config Option] (String) */
		batchOrder?: string;
		/** [Config Option] (String/Ext.data.Model) */
		model?: any;
		/** [Config Option] (Object/String/Ext.data.reader.Reader) */
		reader?: any;
		/** [Config Option] (Object/String/Ext.data.writer.Writer) */
		writer?: any;
		/** [Property] (Boolean) */
		isProxy?: boolean;
		/** [Property] (Boolean) */
		isSynchronous?: boolean;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Performs a batch of Operations in the order specified by batchOrder  
		* @param options Object Object containing one or more properties supported by the batch method: 
		* @returns Ext.data.Batch The newly created Batch 
		*/
		batch?( options?:any ): Ext.data.IBatch;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Performs the given create operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		create?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Performs the given destroy operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		destroy?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the model attached to this Proxy 
		* @returns Ext.data.Model The model 
		*/
		getModel?(): Ext.data.IModel;
		/** [Method] Returns the reader currently attached to this proxy instance 
		* @returns Ext.data.reader.Reader The Reader instance 
		*/
		getReader?(): Ext.data.reader.IReader;
		/** [Method] Returns the writer currently attached to this proxy instance 
		* @returns Ext.data.writer.Writer The Writer instance 
		*/
		getWriter?(): Ext.data.writer.IWriter;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Performs the given read operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		read?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Sets the model associated with this proxy  
		* @param model String/Ext.data.Model The new model. Can be either the model name string, or a reference to the model's constructor 
		* @param setOnStore Boolean Sets the new model on the associated Store, if one is present 
		*/
		setModel?( model?:any, setOnStore?:boolean ): void;
		/** [Method] Sets the Proxy s Reader by string config object or Reader instance 
		* @param reader String/Object/Ext.data.reader.Reader The new Reader, which can be either a type string, a configuration object or an Ext.data.reader.Reader instance 
		* @returns Ext.data.reader.Reader The attached Reader object 
		*/
		setReader?( reader?:any ): Ext.data.reader.IReader;
		/** [Method] Sets the Proxy s Writer by string config object or Writer instance 
		* @param writer String/Object/Ext.data.writer.Writer The new Writer, which can be either a type string, a configuration object or an Ext.data.writer.Writer instance 
		* @returns Ext.data.writer.Writer The attached Writer object 
		*/
		setWriter?( writer?:any ): Ext.data.writer.IWriter;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Performs the given update operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		update?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
	}
}
declare module Ext.data {
	export interface IDataProxy extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Boolean) */
		batchActions?: boolean;
		/** [Config Option] (String) */
		batchOrder?: string;
		/** [Config Option] (String/Ext.data.Model) */
		model?: any;
		/** [Config Option] (Object/String/Ext.data.reader.Reader) */
		reader?: any;
		/** [Config Option] (Object/String/Ext.data.writer.Writer) */
		writer?: any;
		/** [Property] (Boolean) */
		isProxy?: boolean;
		/** [Property] (Boolean) */
		isSynchronous?: boolean;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Performs a batch of Operations in the order specified by batchOrder  
		* @param options Object Object containing one or more properties supported by the batch method: 
		* @returns Ext.data.Batch The newly created Batch 
		*/
		batch?( options?:any ): Ext.data.IBatch;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Performs the given create operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		create?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Performs the given destroy operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		destroy?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the model attached to this Proxy 
		* @returns Ext.data.Model The model 
		*/
		getModel?(): Ext.data.IModel;
		/** [Method] Returns the reader currently attached to this proxy instance 
		* @returns Ext.data.reader.Reader The Reader instance 
		*/
		getReader?(): Ext.data.reader.IReader;
		/** [Method] Returns the writer currently attached to this proxy instance 
		* @returns Ext.data.writer.Writer The Writer instance 
		*/
		getWriter?(): Ext.data.writer.IWriter;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Performs the given read operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		read?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Sets the model associated with this proxy  
		* @param model String/Ext.data.Model The new model. Can be either the model name string, or a reference to the model's constructor 
		* @param setOnStore Boolean Sets the new model on the associated Store, if one is present 
		*/
		setModel?( model?:any, setOnStore?:boolean ): void;
		/** [Method] Sets the Proxy s Reader by string config object or Reader instance 
		* @param reader String/Object/Ext.data.reader.Reader The new Reader, which can be either a type string, a configuration object or an Ext.data.reader.Reader instance 
		* @returns Ext.data.reader.Reader The attached Reader object 
		*/
		setReader?( reader?:any ): Ext.data.reader.IReader;
		/** [Method] Sets the Proxy s Writer by string config object or Writer instance 
		* @param writer String/Object/Ext.data.writer.Writer The new Writer, which can be either a type string, a configuration object or an Ext.data.writer.Writer instance 
		* @returns Ext.data.writer.Writer The attached Writer object 
		*/
		setWriter?( writer?:any ): Ext.data.writer.IWriter;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Performs the given update operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		update?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
	}
}
declare module Ext.data {
	export interface IProxy extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Boolean) */
		batchActions?: boolean;
		/** [Config Option] (String) */
		batchOrder?: string;
		/** [Config Option] (String/Ext.data.Model) */
		model?: any;
		/** [Config Option] (Object/String/Ext.data.reader.Reader) */
		reader?: any;
		/** [Config Option] (Object/String/Ext.data.writer.Writer) */
		writer?: any;
		/** [Property] (Boolean) */
		isProxy?: boolean;
		/** [Property] (Boolean) */
		isSynchronous?: boolean;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Performs a batch of Operations in the order specified by batchOrder  
		* @param options Object Object containing one or more properties supported by the batch method: 
		* @returns Ext.data.Batch The newly created Batch 
		*/
		batch?( options?:any ): Ext.data.IBatch;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Performs the given create operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		create?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Performs the given destroy operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		destroy?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the model attached to this Proxy 
		* @returns Ext.data.Model The model 
		*/
		getModel?(): Ext.data.IModel;
		/** [Method] Returns the reader currently attached to this proxy instance 
		* @returns Ext.data.reader.Reader The Reader instance 
		*/
		getReader?(): Ext.data.reader.IReader;
		/** [Method] Returns the writer currently attached to this proxy instance 
		* @returns Ext.data.writer.Writer The Writer instance 
		*/
		getWriter?(): Ext.data.writer.IWriter;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Performs the given read operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		read?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Sets the model associated with this proxy  
		* @param model String/Ext.data.Model The new model. Can be either the model name string, or a reference to the model's constructor 
		* @param setOnStore Boolean Sets the new model on the associated Store, if one is present 
		*/
		setModel?( model?:any, setOnStore?:boolean ): void;
		/** [Method] Sets the Proxy s Reader by string config object or Reader instance 
		* @param reader String/Object/Ext.data.reader.Reader The new Reader, which can be either a type string, a configuration object or an Ext.data.reader.Reader instance 
		* @returns Ext.data.reader.Reader The attached Reader object 
		*/
		setReader?( reader?:any ): Ext.data.reader.IReader;
		/** [Method] Sets the Proxy s Writer by string config object or Writer instance 
		* @param writer String/Object/Ext.data.writer.Writer The new Writer, which can be either a type string, a configuration object or an Ext.data.writer.Writer instance 
		* @returns Ext.data.writer.Writer The attached Writer object 
		*/
		setWriter?( writer?:any ): Ext.data.writer.IWriter;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Performs the given update operation  
		* @param operation Ext.data.Operation The Operation to perform 
		* @param callback Function Callback function to be called when the Operation has completed (whether successful or not) 
		* @param scope Object Scope to execute the callback function in 
		*/
		update?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
	}
}
declare module Ext.data.proxy {
	export interface IRest extends Ext.data.proxy.IAjax {
		/** [Config Option] (Boolean) */
		appendId?: boolean;
		/** [Config Option] (Boolean) */
		batchActions?: boolean;
		/** [Config Option] (String) */
		format?: string;
		/** [Property] (Object) */
		actionMethods?: any;
	}
}
declare module Ext.data {
	export interface IRestProxy extends Ext.data.proxy.IAjax {
		/** [Config Option] (Boolean) */
		appendId?: boolean;
		/** [Config Option] (Boolean) */
		batchActions?: boolean;
		/** [Config Option] (String) */
		format?: string;
		/** [Property] (Object) */
		actionMethods?: any;
	}
}
declare module Ext.data.proxy {
	export interface IServer extends Ext.data.proxy.IProxy {
		/** [Config Option] (Object) */
		api?: any;
		/** [Config Option] (String) */
		cacheString?: string;
		/** [Config Option] (String) */
		directionParam?: string;
		/** [Config Option] (Object) */
		extraParams?: any;
		/** [Config Option] (String) */
		filterParam?: string;
		/** [Config Option] (String) */
		groupDirectionParam?: string;
		/** [Config Option] (String) */
		groupParam?: string;
		/** [Config Option] (String) */
		idParam?: string;
		/** [Config Option] (String) */
		limitParam?: string;
		/** [Config Option] (Boolean) */
		noCache?: boolean;
		/** [Config Option] (String) */
		pageParam?: string;
		/** [Config Option] (Boolean) */
		simpleGroupMode?: boolean;
		/** [Config Option] (Boolean) */
		simpleSortMode?: boolean;
		/** [Config Option] (String) */
		sortParam?: string;
		/** [Config Option] (String) */
		startParam?: string;
		/** [Config Option] (Number) */
		timeout?: number;
		/** [Config Option] (String) */
		url?: string;
		/** [Method] Optional callback function which can be used to clean up after a request has been completed  
		* @param request Ext.data.Request The Request object 
		* @param success Boolean True if the request was successful 
		*/
		afterRequest?( request?:Ext.data.IRequest, success?:boolean ): void;
		/** [Method] Creates an Request object from Operation  
		* @param operation Ext.data.Operation The operation to execute 
		* @returns Ext.data.Request The request object 
		*/
		buildRequest?( operation?:Ext.data.IOperation ): Ext.data.IRequest;
		/** [Method] Generates a url based on a given Ext data Request object  
		* @param request Ext.data.Request The request object 
		* @returns String The url 
		*/
		buildUrl?( request?:Ext.data.IRequest ): string;
		/** [Method] in a ServerProxy all four CRUD operations are executed in the same manner so we delegate to doRequest in each case */
		create?(): void;
		/** [Method] Performs the given destroy operation  */
		destroy?(): void;
		/** [Method] In ServerProxy subclasses the create read update and destroy methods all pass through to doRequest  
		* @param operation Ext.data.Operation The Ext.data.Operation object 
		* @param callback Function The callback function to call when the Operation has completed 
		* @param scope Object The scope in which to execute the callback 
		*/
		doRequest?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Encodes the array of Ext util Filter objects into a string to be sent in the request url  
		* @param filters Ext.util.Filter[] The array of Filter objects 
		* @returns String The encoded filters 
		*/
		encodeFilters?( filters?:Ext.util.IFilter[] ): string;
		/** [Method] Encodes the array of Ext util Sorter objects into a string to be sent in the request url  
		* @param sorters Ext.util.Sorter[] The array of Sorter objects 
		* @returns String The encoded sorters 
		*/
		encodeSorters?( sorters?:Ext.util.ISorter[] ): string;
		/** [Method] Performs the given read operation  */
		read?(): void;
		/** [Method] Sets a value in the underlying extraParams  
		* @param name String The key for the new value 
		* @param value Object The value 
		*/
		setExtraParam?( name?:string, value?:any ): void;
		/** [Method] Performs the given update operation  */
		update?(): void;
	}
}
declare module Ext.data {
	export interface IServerProxy extends Ext.data.proxy.IProxy {
		/** [Config Option] (Object) */
		api?: any;
		/** [Config Option] (String) */
		cacheString?: string;
		/** [Config Option] (String) */
		directionParam?: string;
		/** [Config Option] (Object) */
		extraParams?: any;
		/** [Config Option] (String) */
		filterParam?: string;
		/** [Config Option] (String) */
		groupDirectionParam?: string;
		/** [Config Option] (String) */
		groupParam?: string;
		/** [Config Option] (String) */
		idParam?: string;
		/** [Config Option] (String) */
		limitParam?: string;
		/** [Config Option] (Boolean) */
		noCache?: boolean;
		/** [Config Option] (String) */
		pageParam?: string;
		/** [Config Option] (Boolean) */
		simpleGroupMode?: boolean;
		/** [Config Option] (Boolean) */
		simpleSortMode?: boolean;
		/** [Config Option] (String) */
		sortParam?: string;
		/** [Config Option] (String) */
		startParam?: string;
		/** [Config Option] (Number) */
		timeout?: number;
		/** [Config Option] (String) */
		url?: string;
		/** [Method] Optional callback function which can be used to clean up after a request has been completed  
		* @param request Ext.data.Request The Request object 
		* @param success Boolean True if the request was successful 
		*/
		afterRequest?( request?:Ext.data.IRequest, success?:boolean ): void;
		/** [Method] Creates an Request object from Operation  
		* @param operation Ext.data.Operation The operation to execute 
		* @returns Ext.data.Request The request object 
		*/
		buildRequest?( operation?:Ext.data.IOperation ): Ext.data.IRequest;
		/** [Method] Generates a url based on a given Ext data Request object  
		* @param request Ext.data.Request The request object 
		* @returns String The url 
		*/
		buildUrl?( request?:Ext.data.IRequest ): string;
		/** [Method] in a ServerProxy all four CRUD operations are executed in the same manner so we delegate to doRequest in each case */
		create?(): void;
		/** [Method] Performs the given destroy operation  */
		destroy?(): void;
		/** [Method] In ServerProxy subclasses the create read update and destroy methods all pass through to doRequest  
		* @param operation Ext.data.Operation The Ext.data.Operation object 
		* @param callback Function The callback function to call when the Operation has completed 
		* @param scope Object The scope in which to execute the callback 
		*/
		doRequest?( operation?:Ext.data.IOperation, callback?:any, scope?:any ): void;
		/** [Method] Encodes the array of Ext util Filter objects into a string to be sent in the request url  
		* @param filters Ext.util.Filter[] The array of Filter objects 
		* @returns String The encoded filters 
		*/
		encodeFilters?( filters?:Ext.util.IFilter[] ): string;
		/** [Method] Encodes the array of Ext util Sorter objects into a string to be sent in the request url  
		* @param sorters Ext.util.Sorter[] The array of Sorter objects 
		* @returns String The encoded sorters 
		*/
		encodeSorters?( sorters?:Ext.util.ISorter[] ): string;
		/** [Method] Performs the given read operation  */
		read?(): void;
		/** [Method] Sets a value in the underlying extraParams  
		* @param name String The key for the new value 
		* @param value Object The value 
		*/
		setExtraParam?( name?:string, value?:any ): void;
		/** [Method] Performs the given update operation  */
		update?(): void;
	}
}
declare module Ext.data.proxy {
	export interface ISessionStorage extends Ext.data.proxy.IWebStorage {
	}
}
declare module Ext.data {
	export interface ISessionStorageProxy extends Ext.data.proxy.IWebStorage {
	}
}
declare module Ext.data.proxy {
	export interface IWebStorage extends Ext.data.proxy.IClient {
		/** [Config Option] (String) */
		id?: string;
		/** [Property] (Object) */
		cache?: any;
		/** [Method] Destroys all records stored in the proxy and removes all keys and values used to support the proxy from the storage o  */
		clear?(): void;
		/** [Method] inherit docs 
		* @param operation Object 
		* @param callback Object 
		* @param scope Object 
		*/
		create?( operation?:any, callback?:any, scope?:any ): void;
		/** [Method] inherit 
		* @param operation Object 
		* @param callback Object 
		* @param scope Object 
		*/
		destroy?( operation?:any, callback?:any, scope?:any ): void;
		/** [Method] inherit docs 
		* @param operation Object 
		* @param callback Object 
		* @param scope Object 
		*/
		read?( operation?:any, callback?:any, scope?:any ): void;
		/** [Method] Saves the given record in the Proxy  
		* @param record Ext.data.Model The model instance 
		* @param id String The id to save the record under (defaults to the value of the record's getId() function) 
		*/
		setRecord?( record?:Ext.data.IModel, id?:string ): void;
		/** [Method] inherit docs 
		* @param operation Object 
		* @param callback Object 
		* @param scope Object 
		*/
		update?( operation?:any, callback?:any, scope?:any ): void;
	}
}
declare module Ext.data {
	export interface IWebStorageProxy extends Ext.data.proxy.IClient {
		/** [Config Option] (String) */
		id?: string;
		/** [Property] (Object) */
		cache?: any;
		/** [Method] Destroys all records stored in the proxy and removes all keys and values used to support the proxy from the storage o  */
		clear?(): void;
		/** [Method] inherit docs 
		* @param operation Object 
		* @param callback Object 
		* @param scope Object 
		*/
		create?( operation?:any, callback?:any, scope?:any ): void;
		/** [Method] inherit 
		* @param operation Object 
		* @param callback Object 
		* @param scope Object 
		*/
		destroy?( operation?:any, callback?:any, scope?:any ): void;
		/** [Method] inherit docs 
		* @param operation Object 
		* @param callback Object 
		* @param scope Object 
		*/
		read?( operation?:any, callback?:any, scope?:any ): void;
		/** [Method] Saves the given record in the Proxy  
		* @param record Ext.data.Model The model instance 
		* @param id String The id to save the record under (defaults to the value of the record's getId() function) 
		*/
		setRecord?( record?:Ext.data.IModel, id?:string ): void;
		/** [Method] inherit docs 
		* @param operation Object 
		* @param callback Object 
		* @param scope Object 
		*/
		update?( operation?:any, callback?:any, scope?:any ): void;
	}
}
declare module Ext.data.reader {
	export interface IArray extends Ext.data.reader.IJson {
		/** [Config Option] (String) */
		successProperty?: string;
		/** [Config Option] (String) */
		totalProperty?: string;
	}
}
declare module Ext.data {
	export interface IArrayReader extends Ext.data.reader.IJson {
		/** [Config Option] (String) */
		successProperty?: string;
		/** [Config Option] (String) */
		totalProperty?: string;
	}
}
declare module Ext.data.reader {
	export interface IJson extends Ext.data.reader.IReader {
		/** [Config Option] (String) */
		metaProperty?: string;
		/** [Config Option] (String) */
		record?: string;
		/** [Config Option] (String) */
		root?: string;
		/** [Config Option] (Boolean) */
		useSimpleAccessors?: boolean;
		/** [Property] (Object) */
		jsonData?: any;
		/** [Method] inherit docs 
		* @param response Object 
		* @returns Ext.data.ResultSet A ResultSet object 
		*/
		getResponseData?( response?:any ): Ext.data.IResultSet;
		/** [Method] Reads a JSON object and returns a ResultSet  
		* @param data Object The raw JSON data 
		* @returns Ext.data.ResultSet A ResultSet containing model instances and meta data about the results 
		*/
		readRecords?( data?:any ): Ext.data.IResultSet;
	}
}
declare module Ext.data {
	export interface IJsonReader extends Ext.data.reader.IReader {
		/** [Config Option] (String) */
		metaProperty?: string;
		/** [Config Option] (String) */
		record?: string;
		/** [Config Option] (String) */
		root?: string;
		/** [Config Option] (Boolean) */
		useSimpleAccessors?: boolean;
		/** [Property] (Object) */
		jsonData?: any;
		/** [Method] inherit docs 
		* @param response Object 
		* @returns Ext.data.ResultSet A ResultSet object 
		*/
		getResponseData?( response?:any ): Ext.data.IResultSet;
		/** [Method] Reads a JSON object and returns a ResultSet  
		* @param data Object The raw JSON data 
		* @returns Ext.data.ResultSet A ResultSet containing model instances and meta data about the results 
		*/
		readRecords?( data?:any ): Ext.data.IResultSet;
	}
}
declare module Ext.data.reader {
	export interface IReader extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (String) */
		idProperty?: string;
		/** [Config Option] (Boolean) */
		implicitIncludes?: boolean;
		/** [Config Option] (String) */
		messageProperty?: string;
		/** [Config Option] (Boolean) */
		readRecordsOnFailure?: boolean;
		/** [Config Option] (String) */
		root?: string;
		/** [Config Option] (String) */
		successProperty?: string;
		/** [Config Option] (String) */
		totalProperty?: string;
		/** [Property] (Object) */
		metaData?: any;
		/** [Property] (Object) */
		rawData?: any;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Takes a raw response object as passed to the read method and returns the useful data segment from it  
		* @param response Object The response object 
		* @returns Ext.data.ResultSet A ResultSet object 
		*/
		getResponseData?( response?:any ): Ext.data.IResultSet;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Reads the given response object  
		* @param response Object The response object. This may be either an XMLHttpRequest object or a plain JS object 
		* @returns Ext.data.ResultSet The parsed or default ResultSet object 
		*/
		read?( response?:any ): Ext.data.IResultSet;
		/** [Method] Abstracts common functionality used by all Reader subclasses  
		* @param data Object The raw data object 
		* @returns Ext.data.ResultSet A ResultSet object 
		*/
		readRecords?( data?:any ): Ext.data.IResultSet;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.data {
	export interface IReader extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (String) */
		idProperty?: string;
		/** [Config Option] (Boolean) */
		implicitIncludes?: boolean;
		/** [Config Option] (String) */
		messageProperty?: string;
		/** [Config Option] (Boolean) */
		readRecordsOnFailure?: boolean;
		/** [Config Option] (String) */
		root?: string;
		/** [Config Option] (String) */
		successProperty?: string;
		/** [Config Option] (String) */
		totalProperty?: string;
		/** [Property] (Object) */
		metaData?: any;
		/** [Property] (Object) */
		rawData?: any;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Takes a raw response object as passed to the read method and returns the useful data segment from it  
		* @param response Object The response object 
		* @returns Ext.data.ResultSet A ResultSet object 
		*/
		getResponseData?( response?:any ): Ext.data.IResultSet;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Reads the given response object  
		* @param response Object The response object. This may be either an XMLHttpRequest object or a plain JS object 
		* @returns Ext.data.ResultSet The parsed or default ResultSet object 
		*/
		read?( response?:any ): Ext.data.IResultSet;
		/** [Method] Abstracts common functionality used by all Reader subclasses  
		* @param data Object The raw data object 
		* @returns Ext.data.ResultSet A ResultSet object 
		*/
		readRecords?( data?:any ): Ext.data.IResultSet;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.data {
	export interface IDataReader extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (String) */
		idProperty?: string;
		/** [Config Option] (Boolean) */
		implicitIncludes?: boolean;
		/** [Config Option] (String) */
		messageProperty?: string;
		/** [Config Option] (Boolean) */
		readRecordsOnFailure?: boolean;
		/** [Config Option] (String) */
		root?: string;
		/** [Config Option] (String) */
		successProperty?: string;
		/** [Config Option] (String) */
		totalProperty?: string;
		/** [Property] (Object) */
		metaData?: any;
		/** [Property] (Object) */
		rawData?: any;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Takes a raw response object as passed to the read method and returns the useful data segment from it  
		* @param response Object The response object 
		* @returns Ext.data.ResultSet A ResultSet object 
		*/
		getResponseData?( response?:any ): Ext.data.IResultSet;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Reads the given response object  
		* @param response Object The response object. This may be either an XMLHttpRequest object or a plain JS object 
		* @returns Ext.data.ResultSet The parsed or default ResultSet object 
		*/
		read?( response?:any ): Ext.data.IResultSet;
		/** [Method] Abstracts common functionality used by all Reader subclasses  
		* @param data Object The raw data object 
		* @returns Ext.data.ResultSet A ResultSet object 
		*/
		readRecords?( data?:any ): Ext.data.IResultSet;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.data.reader {
	export interface IXml extends Ext.data.reader.IReader {
		/** [Config Option] (String) */
		namespace?: string;
		/** [Config Option] (String) */
		record?: string;
		/** [Property] (Object) */
		xmlData?: any;
		/** [Method] Normalizes the data object  
		* @param data Object The raw data object 
		* @returns Object The documentElement property of the data object if present, or the same object if not. 
		*/
		getData?( data?:any ): any;
		/** [Method] inherit docs 
		* @param response Object 
		* @returns Ext.data.ResultSet A ResultSet object 
		*/
		getResponseData?( response?:any ): Ext.data.IResultSet;
		/** [Method] Parses an XML document and returns a ResultSet containing the model instances  
		* @param doc Object Parsed XML document 
		* @returns Ext.data.ResultSet The parsed result set 
		*/
		readRecords?( doc?:any ): Ext.data.IResultSet;
	}
}
declare module Ext.data {
	export interface IXmlReader extends Ext.data.reader.IReader {
		/** [Config Option] (String) */
		namespace?: string;
		/** [Config Option] (String) */
		record?: string;
		/** [Property] (Object) */
		xmlData?: any;
		/** [Method] Normalizes the data object  
		* @param data Object The raw data object 
		* @returns Object The documentElement property of the data object if present, or the same object if not. 
		*/
		getData?( data?:any ): any;
		/** [Method] inherit docs 
		* @param response Object 
		* @returns Ext.data.ResultSet A ResultSet object 
		*/
		getResponseData?( response?:any ): Ext.data.IResultSet;
		/** [Method] Parses an XML document and returns a ResultSet containing the model instances  
		* @param doc Object Parsed XML document 
		* @returns Ext.data.ResultSet The parsed result set 
		*/
		readRecords?( doc?:any ): Ext.data.IResultSet;
	}
}
declare module Ext.data {
	export interface IRequest extends Ext.IBase {
		/** [Config Option] (String) */
		action?: string;
		/** [Config Option] (String) */
		method?: string;
		/** [Config Option] (Object) */
		params?: any;
		/** [Config Option] (String) */
		url?: string;
	}
}
declare module Ext.data {
	export interface IResultSet extends Ext.IBase {
		/** [Config Option] (Number) */
		count?: number;
		/** [Config Option] (Boolean) */
		loaded?: boolean;
		/** [Config Option] (Ext.data.Model[]) */
		records?: Ext.data.IModel[];
		/** [Config Option] (Boolean) */
		success?: boolean;
		/** [Config Option] (Number) */
		total?: number;
		/** [Property] (Number) */
		totalRecords?: number;
	}
}
declare module Ext.data {
	export interface ISequentialIdGenerator extends Ext.data.IIdGenerator {
		/** [Config Option] (String) */
		prefix?: string;
		/** [Config Option] (Number) */
		seed?: number;
		/** [Method] Generates and returns the next id  
		* @returns String The next id. 
		*/
		generate?(): string;
	}
}
declare module Ext.data {
	export interface ISortTypes extends Ext.IBase {
	}
	export class SortTypes {
		/** [Method] Date sorting 
		* @param s Object The value being converted 
		* @returns Number The comparison value 
		*/
		static asDate( s?:any ): number;
		/** [Method] Float sorting 
		* @param s Object The value being converted 
		* @returns Number The comparison value 
		*/
		static asFloat( s?:any ): number;
		/** [Method] Integer sorting 
		* @param s Object The value being converted 
		* @returns Number The comparison value 
		*/
		static asInt( s?:any ): number;
		/** [Method] Strips all HTML tags to sort on text only 
		* @param s Object The value being converted 
		* @returns String The comparison value 
		*/
		static asText( s?:any ): string;
		/** [Method] Case insensitive string 
		* @param s Object The value being converted 
		* @returns String The comparison value 
		*/
		static asUCString( s?:any ): string;
		/** [Method] Strips all HTML tags to sort on text only  Case insensitive 
		* @param s Object The value being converted 
		* @returns String The comparison value 
		*/
		static asUCText( s?:any ): string;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Default sort that does nothing 
		* @param s Object The value being converted 
		* @returns Object The comparison value 
		*/
		static none( s?:any ): any;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.data {
	export interface IStore extends Ext.data.IAbstractStore {
		/** [Config Option] (Boolean) */
		autoDestroy?: boolean;
		/** [Config Option] (Boolean) */
		buffered?: boolean;
		/** [Config Option] (Boolean) */
		clearOnPageLoad?: boolean;
		/** [Config Option] (Boolean) */
		clearRemovedOnLoad?: boolean;
		/** [Config Option] (Object[]/Ext.data.Model[]) */
		data?: any;
		/** [Config Option] (String) */
		groupDir?: string;
		/** [Config Option] (String) */
		groupField?: string;
		/** [Config Option] (Ext.util.MixedCollection) */
		groupers?: Ext.util.IMixedCollection;
		/** [Config Option] (Number) */
		leadingBufferZone?: number;
		/** [Config Option] (Number) */
		pageSize?: number;
		/** [Config Option] (String/Ext.data.proxy.Proxy/Object) */
		proxy?: any;
		/** [Config Option] (Number) */
		purgePageCount?: number;
		/** [Config Option] (Boolean) */
		remoteFilter?: boolean;
		/** [Config Option] (Boolean) */
		remoteGroup?: boolean;
		/** [Config Option] (Boolean) */
		remoteSort?: boolean;
		/** [Config Option] (Boolean) */
		sortOnFilter?: boolean;
		/** [Config Option] (Number) */
		trailingBufferZone?: number;
		/** [Property] (Number) */
		currentPage?: number;
		/** [Property] (Ext.util.MixedCollection) */
		snapshot?: Ext.util.IMixedCollection;
		/** [Method] Adds Model instance to the Store  
		* @param model Ext.data.Model[]/Ext.data.Model.../Object[]/Object... An array of Model instances or Model configuration objects, or variable number of Model instance or config arguments. 
		* @returns Ext.data.Model[] The model instances that were added 
		*/
		add?( model?:any ): Ext.data.IModel[];
		/** [Method] Adds a new Filter to this Store s filter set and by default applys the updated filter set to the Store s unfiltered 
		* @param filters Object[]/Ext.util.Filter[] The set of filters to add to the current filter set. 
		* @param applyFilters Boolean Pass as false to add the filter but not apply the updated filter set. 
		*/
		addFilter?( filters?:any, applyFilters?:boolean ): void;
		/** [Method] Local sort only Inserts the passed Record into the Store at the index where it should go based on the current sort 
		* @param record Ext.data.Record 
		*/
		addSorted?( record?:Ext.data.IRecord ): void;
		/** [Method] Runs the aggregate function for all the records in the store  
		* @param fn Function The function to execute. The function is called with a single parameter, an array of records for that group. 
		* @param scope Object The scope to execute the function in. Defaults to the store. 
		* @param grouped Boolean True to perform the operation for each group in the store. The value returned will be an object literal with the key being the group name and the group average being the value. The grouped parameter is only honored if the store has a groupField. 
		* @param args Array Any arguments to append to the function call 
		* @returns Object An object literal with the group names and their appropriate values. 
		*/
		aggregate?( fn?:any, scope?:any, grouped?:boolean, args?:any[] ): any;
		/** [Method] Gets the average value in the store  
		* @param field String The field in each record 
		* @param grouped Boolean True to perform the operation for each group in the store. The value returned will be an object literal with the key being the group name and the group average being the value. The grouped parameter is only honored if the store has a groupField. 
		* @returns Object The average value, if no items exist, 0. 
		*/
		average?( field?:string, grouped?:boolean ): any;
		/** [Method] Reverts to a view of the Record cache with no filtering applied  
		* @param suppressEvent Boolean If true the filter is cleared silently. For a locally filtered Store, this means that the filter collection is cleared without firing the datachanged event. For a remotely filtered Store, this means that the filter collection is cleared, but the store is not reloaded from the server. 
		*/
		clearFilter?( suppressEvent?:boolean ): void;
		/** [Method] Clear any groupers in the store */
		clearGrouping?(): void;
		/** [Method] Collects unique values for a particular dataIndex from this store  
		* @param dataIndex String The property to collect 
		* @param allowNull Boolean Pass true to allow null, undefined or empty string values 
		* @param bypassFilter Boolean Pass true to collect from all records, even ones which are filtered. 
		* @returns Object[] An array of the unique values 
		*/
		collect?( dataIndex?:string, allowNull?:boolean, bypassFilter?:boolean ): any[];
		/** [Method] Commits all Records with outstanding changes  */
		commitChanges?(): void;
		/** [Method] Gets the count of items in the store  
		* @param grouped Boolean True to perform the operation for each group in the store. The value returned will be an object literal with the key being the group name and the count for each group being the value. The grouped parameter is only honored if the store has a groupField. 
		* @returns Number the count 
		*/
		count?( grouped?:boolean ): number;
		/** [Method] Calls the specified function for each record in the store  
		* @param fn Function The function to call. The Record is passed as the first parameter. Returning false aborts and exits the iteration. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current record in the iteration. 
		*/
		each?( fn?:any, scope?:any ): void;
		/** [Method] Filters the loaded set of records by a given set of filters  
		* @param filters Object[]/Ext.util.Filter[]/String The set of filters to apply to the data. These are stored internally on the store, but the filtering itself is done on the Store's MixedCollection. See MixedCollection's filter method for filter syntax. Alternatively, pass in a property string. If no parameters are passed, the Store's existing filter set is applied. 
		* @param value String value to filter by (only if using a property string as the first argument) 
		*/
		filter?( filters?:any, value?:string ): void;
		/** [Method] Filters by a function  
		* @param fn Function The function to be called. It will be passed the following parameters: 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this Store. 
		*/
		filterBy?( fn?:any, scope?:any ): void;
		/** [Method] Finds the index of the first matching Record in this store by a specific field value  
		* @param fieldName String The name of the Record field to test. 
		* @param value String/RegExp Either a string that the field value should begin with, or a RegExp to test against the field. 
		* @param startIndex Number The index to start searching at 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning 
		* @param caseSensitive Boolean True for case sensitive comparison 
		* @param exactMatch Boolean True to force exact match (^ and $ characters added to the regex). 
		* @returns Number The matched index or -1 
		*/
		find?( fieldName?:string, value?:any, startIndex?:number, anyMatch?:boolean, caseSensitive?:boolean, exactMatch?:boolean ): number;
		/** [Method] Find the index of the first matching Record in this Store by a function  
		* @param fn Function The function to be called. It will be passed the following parameters: 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this Store. 
		* @param startIndex Number The index to start searching at 
		* @returns Number The matched index or -1 
		*/
		findBy?( fn?:any, scope?:any, startIndex?:number ): number;
		/** [Method] Finds the index of the first matching Record in this store by a specific field value  
		* @param fieldName String The name of the Record field to test. 
		* @param value Object The value to match the field against. 
		* @param startIndex Number The index to start searching at 
		* @returns Number The matched index or -1 
		*/
		findExact?( fieldName?:string, value?:any, startIndex?:number ): number;
		/** [Method] Finds the first matching Record in this store by a specific field value  
		* @param fieldName String The name of the Record field to test. 
		* @param value String/RegExp Either a string that the field value should begin with, or a RegExp to test against the field. 
		* @param startIndex Number The index to start searching at 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning 
		* @param caseSensitive Boolean True for case sensitive comparison 
		* @param exactMatch Boolean True to force exact match (^ and $ characters added to the regex). 
		* @returns Ext.data.Model The matched record or null 
		*/
		findRecord?( fieldName?:string, value?:any, startIndex?:number, anyMatch?:boolean, caseSensitive?:boolean, exactMatch?:boolean ): Ext.data.IModel;
		/** [Method] Convenience function for getting the first model instance in the store  
		* @param grouped Boolean True to perform the operation for each group in the store. The value returned will be an object literal with the key being the group name and the first record being the value. The grouped parameter is only honored if the store has a groupField. 
		* @returns Ext.data.Model/undefined The first model instance in the store, or undefined 
		*/
		first?( grouped?:boolean ): any;
		/** [Method] Get the Record at the specified index  
		* @param index Number The index of the Record to find. 
		* @returns Ext.data.Model The Record at the passed index. Returns undefined if not found. 
		*/
		getAt?( index?:number ): Ext.data.IModel;
		/** [Method] Get the Record with the specified id  
		* @param id Mixed The id of the Record to find. 
		* @returns Ext.data.Model The Record with the passed id. Returns null if not found. 
		*/
		getById?( id?:any ): Ext.data.IModel;
		/** [Method] Gets the number of records in store  
		* @returns Number The number of Records in the Store. 
		*/
		getCount?(): number;
		/** [Method] Returns the string to group on for a given model instance  
		* @param instance Ext.data.Model The model instance 
		* @returns String The string to compare when forming groups 
		*/
		getGroupString?( instance?:Ext.data.IModel ): string;
		/** [Method] Returns an array containing the result of applying grouping to the records in this store  
		* @param groupName String Pass in an optional groupName argument to access a specific group as defined by getGroupString. 
		* @returns Object/Object[] The grouped data 
		*/
		getGroups?( groupName?:string ): any;
		/** [Method] inherit docs 
		* @returns Ext.data.Model[] The Model instances 
		*/
		getNewRecords?(): Ext.data.IModel[];
		/** [Method] Determines the page from a record index 
		* @param index Number The record index 
		* @returns Number The page the record belongs to 
		*/
		getPageFromRecordIndex?( index?:number ): number;
		/** [Method] Gathers a range of Records between specified indices  
		* @param start Number The starting index. Defaults to zero for non buffered Stores. 
		* @param end Number The ending index. Defaults to the last Record for non buffered Stores. 
		* @param options Object Used when the Store is {@link buffered] and the range may not be available synchronously. 
		* @returns Ext.data.Model[] An array of records if the records are immediately available. For buffered stores, you should pass the callback option unless you know that the range will be present - see rangeCached. 
		*/
		getRange?( start?:number, end?:number, options?:any ): Ext.data.IModel[];
		/** [Method] Returns the total number of Model instances that the Proxy indicates exist  
		* @returns Number The total number of Model instances available via the Proxy. 0 returned if no value has been set via the reader. 
		*/
		getTotalCount?(): number;
		/** [Method] inherit docs 
		* @returns Ext.data.Model[] The updated Model instances 
		*/
		getUpdatedRecords?(): Ext.data.IModel[];
		/** [Method] Groups data inside the store  
		* @param groupers String/Object[] Either a string name of one of the fields in this Store's configured Model, or an Array of grouper configurations. 
		* @param direction String The overall direction to group the data by. 
		*/
		group?( groupers?:any, direction?:string ): void;
		/** [Method] Guarantee a specific range this will load the store with a range that must be the pageSize or smaller and take car  
		* @param start Object 
		* @param end Object 
		* @param callback Object 
		* @param scope Object 
		* @param options Object 
		*/
		guaranteeRange?( start?:any, end?:any, callback?:any, scope?:any, options?:any ): void;
		/** [Method] Get the index of the record within the store  
		* @param record Ext.data.Model The Ext.data.Model object to find. 
		* @returns Number The index of the passed Record. Returns -1 if not found. 
		*/
		indexOf?( record?:Ext.data.IModel ): number;
		/** [Method] Get the index within the store of the Record with the passed id  
		* @param id String The id of the Record to find. 
		* @returns Number The index of the Record. Returns -1 if not found. 
		*/
		indexOfId?( id?:string ): number;
		/** [Method] Get the index within the entire dataset  
		* @param record Ext.data.Model The Ext.data.Model object to find. 
		* @returns Number The index of the passed Record. Returns -1 if not found. 
		*/
		indexOfTotal?( record?:Ext.data.IModel ): number;
		/** [Method] Inserts Model instances into the Store at the given index and fires the add event  
		* @param index Number The start index at which to insert the passed Records. 
		* @param records Ext.data.Model[] An Array of Ext.data.Model objects to add to the store. 
		* @returns Ext.data.Model[] records The added records 
		*/
		insert?( index?:number, records?:Ext.data.IModel[] ): Ext.data.IModel[];
		/** [Method] Returns true if this store is currently filtered 
		* @returns Boolean 
		*/
		isFiltered?(): boolean;
		/** [Method] Checks if the store is currently grouped 
		* @returns Boolean true if the store is grouped. 
		*/
		isGrouped?(): boolean;
		/** [Method] Convenience function for getting the last model instance in the store  
		* @param grouped Boolean True to perform the operation for each group in the store. The value returned will be an object literal with the key being the group name and the last record being the value. The grouped parameter is only honored if the store has a groupField. 
		* @returns Ext.data.Model/undefined The last model instance in the store, or undefined 
		*/
		last?( grouped?:boolean ): any;
		/** [Method] Loads data into the Store via the configured proxy  
		* @param options Object/Function config object, passed into the Ext.data.Operation object before loading. Additionally addRecords: true can be specified to add these records to the existing records, default is to remove the Store's existing records first. 
		*/
		load?( options?:any ): void;
		/** [Method] Loads an array of data straight into the Store  
		* @param data Ext.data.Model[]/Object[] Array of data to load. Any non-model instances will be cast into model instances first. 
		* @param append Boolean true to add the records to the existing records in the store, false to remove the old ones first. 
		*/
		loadData?( data?:any, append?:boolean ): void;
		/** [Method] Loads a given page of data by setting the start and limit values appropriately  
		* @param page Number The number of the page to load. 
		* @param options Object See options for load. 
		*/
		loadPage?( page?:number, options?:any ): void;
		/** [Method] Loads data via the bound Proxy s reader Use this method if you are attempting to load data and want to utilize the c  
		* @param data Object[] The full JSON object you'd like to load into the Data store. 
		* @param append Boolean true to add the records to the existing records in the store, false to remove the old ones first. 
		*/
		loadRawData?( data?:any[], append?:boolean ): void;
		/** [Method] Loads an array of model instances into the store fires the datachanged event  
		* @param records Ext.data.Model[] The array of records to load 
		* @param options Object 
		*/
		loadRecords?( records?:Ext.data.IModel[], options?:any ): void;
		/** [Method] Gets the maximum value in the store  
		* @param field String The field in each record 
		* @param grouped Boolean True to perform the operation for each group in the store. The value returned will be an object literal with the key being the group name and the maximum in the group being the value. The grouped parameter is only honored if the store has a groupField. 
		* @returns Object The maximum value, if no items exist, undefined. 
		*/
		max?( field?:string, grouped?:boolean ): any;
		/** [Method] Gets the minimum value in the store  
		* @param field String The field in each record 
		* @param grouped Boolean True to perform the operation for each group in the store. The value returned will be an object literal with the key being the group name and the minimum in the group being the value. The grouped parameter is only honored if the store has a groupField. 
		* @returns Object The minimum value, if no items exist, undefined. 
		*/
		min?( field?:string, grouped?:boolean ): any;
		/** [Method] Loads the next page in the current data set 
		* @param options Object See options for load 
		*/
		nextPage?( options?:any ): void;
		/** [Method] Prefetches data into the store using its configured proxy  
		* @param options Object config object, passed into the Ext.data.Operation object before loading. See load 
		*/
		prefetch?( options?:any ): void;
		/** [Method] Prefetches a page of data  
		* @param page Number The page to prefetch 
		* @param options Object config object, passed into the Ext.data.Operation object before loading. See load 
		*/
		prefetchPage?( page?:number, options?:any ): void;
		/** [Method] Ensures that the specified range of rows is present in the cache  
		* @param start Object 
		* @param end Object 
		*/
		prefetchRange?( start?:any, end?:any ): void;
		/** [Method] Loads the previous page in the current data set 
		* @param options Object See options for load 
		*/
		previousPage?( options?:any ): void;
		/** [Method] Query all the cached records in this Store by name value pair  
		* @param property String The property to create the filter function for 
		* @param value String/RegExp The string/regex to compare the property value to 
		* @param anyMatch Boolean true if we don't care if the filter value is not the full value. 
		* @param caseSensitive Boolean true to create a case-sensitive regex. 
		* @param exactMatch Boolean true to force exact match (^ and $ characters added to the regex). Ignored if anyMatch is true. 
		* @returns Ext.util.MixedCollection Returns an Ext.util.MixedCollection of the matched records 
		*/
		query?( property?:string, value?:any, anyMatch?:boolean, caseSensitive?:boolean, exactMatch?:boolean ): Ext.util.IMixedCollection;
		/** [Method] Query all the cached records in this Store using a filtering function  
		* @param fn Function The function to be called. It will be passed the following parameters: 
		* @param scope Object The scope (this reference) in which the function is executed Defaults to this Store. 
		* @returns Ext.util.MixedCollection Returns an Ext.util.MixedCollection of the matched records 
		*/
		queryBy?( fn?:any, scope?:any ): Ext.util.IMixedCollection;
		/** [Method] Rejects outstanding changes on all modified records and re insert any records that were removed locally  */
		rejectChanges?(): void;
		/** [Method] Reloads the store using the last options passed to the load method  
		* @param options Object 
		*/
		reload?( options?:any ): void;
		/** [Method] Removes the specified record s from the Store firing the remove event for each instance that is removed  
		* @param records Ext.data.Model/Ext.data.Model[]/Number/Number[] Model instance or array of instances to remove or an array of indices from which to remove records. 
		*/
		remove?( records?:any ): void;
		/** [Method] Removes all items from the store  
		* @param silent Boolean Pass true to prevent the record bulkremove and clear events from being fired. 
		*/
		removeAll?( silent?:boolean ): void;
		/** [Method] Removes the model instance s at the given index 
		* @param index Number The record index 
		* @param count Number The number of records to delete 
		*/
		removeAt?( index?:number, count?:number ): void;
		/** [Method] Removes an individual Filter from the current filter set using the passed Filter Filter id and by default applys the  
		* @param toRemove Mixed The id of a Filter to remove from the filter set, or a Filter instance to remove. 
		* @param applyFilters Boolean Pass as false to remove the filter but not apply the updated filter set. If null is passed, all anonymous Filters (Filters with no id property) will be removed. 
		*/
		removeFilter?( toRemove?:any, applyFilters?:boolean ): void;
		/** [Method] because prefetchData is stored by index this invalidates all of the prefetchedData 
		* @returns Ext.util.Sorter[] 
		*/
		sort?(): Ext.util.ISorter[];
		/** [Method] Sums the value of field for each record in store and returns the result  
		* @param field String A field in each record 
		* @param grouped Boolean True to perform the operation for each group in the store. The value returned will be an object literal with the key being the group name and the sum for that group being the value. The grouped parameter is only honored if the store has a groupField. 
		* @returns Number The sum 
		*/
		sum?( field?:string, grouped?:boolean ): number;
	}
}
declare module Ext.data {
	export interface IStoreManager extends Ext.util.IMixedCollection {
	}
	export class StoreManager {
		/** [Method] Adds an item to the collection  
		* @param key String/Object The key to associate with the item, or the new item. If a getKey implementation was specified for this MixedCollection, or if the key of the stored items is in a property called id, the MixedCollection will be able to derive the key for the new item. In this case just pass the new item in this parameter. 
		* @param obj Object The item to add. 
		* @returns Object The item added. 
		*/
		static add( key?:any, obj?:any ): any;
		/** [Method] Adds all elements of an Array or an Object to the collection  
		* @param objs Object/Array An Object containing properties which will be added to the collection, or an Array of values, each of which are added to the collection. Functions references will be added to the collection if allowFunctions has been set to true. 
		*/
		static addAll( objs?:any ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all items from the collection  */
		static clear(): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Creates a shallow copy of this collection 
		* @returns Ext.util.MixedCollection 
		*/
		static clone(): Ext.util.IMixedCollection;
		/** [Method] Collects unique values of a particular property in this MixedCollection 
		* @param property String The property to collect on 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param allowBlank Boolean Pass true to allow null, undefined or empty string values 
		* @returns Array The unique values 
		*/
		static collect( property?:string, root?:string, allowBlank?:boolean ): any[];
		/** [Method] Returns true if the collection contains the passed Object as an item  
		* @param o Object The Object to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as an item. 
		*/
		static contains( o?:any ): boolean;
		/** [Method] Returns true if the collection contains the passed Object as a key  
		* @param key String The key to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as a key. 
		*/
		static containsKey( key?:string ): boolean;
		/** [Method] Executes the specified function once for every item in the collection  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current item in the iteration. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every key in the collection passing each key and its associated item as th  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		static eachKey( fn?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Filters the objects in this collection by a set of Filters or by a single property value pair with optional paramete  
		* @param property Ext.util.Filter[]/String A property on your objects, or an array of Filter objects 
		* @param value String/RegExp Either string that the property values should start with or a RegExp to test against the property 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filter( property?:any, value?:any, anyMatch?:boolean, caseSensitive?:boolean ): Ext.util.IMixedCollection;
		/** [Method] Filter by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filterBy( fn?:any, scope?:any ): Ext.util.IMixedCollection;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  */
		static find(): void;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  
		* @param fn Function The selection function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		* @returns Object The first item in the collection which returned true from the selection function, or null if none was found. 
		*/
		static findBy( fn?:any, scope?:any ): any;
		/** [Method] Finds the index of the first matching object in this collection by a specific property value  
		* @param property String The name of a property on your objects. 
		* @param value String/RegExp A string that the property values should start with or a RegExp to test against the property. 
		* @param start Number The index to start searching at. 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning. 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Number The matched index or -1 
		*/
		static findIndex( property?:string, value?:any, start?:number, anyMatch?:boolean, caseSensitive?:boolean ): number;
		/** [Method] Find the index of the first matching object in this collection by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @param start Number The index to start searching at. 
		* @returns Number The matched index or -1 
		*/
		static findIndexBy( fn?:any, scope?:any, start?:number ): number;
		/** [Method] Calculates the insertion index of the new item based upon the comparison function passed or the current sort order  
		* @param newItem Object The new object to find the insertion position of. 
		* @param sorterFn Function The function to sort by. This is the same as the sorting function passed to sortBy. It accepts 2 items from this MixedCollection, and returns -1 0, or 1 depending on the relative sort positions of the 2 compared items. If omitted, a function generated from the currently defined set of sorters will be used. 
		* @returns Number The insertion point to add the new item into this MixedCollection at using insert 
		*/
		static findInsertionIndex( newItem?:any, sorterFn?:any ): number;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the first item in the collection  
		* @returns Object the first item in the collection.. 
		*/
		static first(): any;
		/** [Method] Returns a comparator function which compares two items and returns 1 0 or 1 depending on the currently defined set  */
		static generateComparator(): void;
		/** [Method] Returns the item associated with the passed key OR index  
		* @param key String/Number The key or index of the item. 
		* @returns Object If the item is found, returns the item. If the item was not found, returns undefined. If an item was found, but is a Class, returns null. 
		*/
		static get( key?:any ): any;
		/** [Method] Returns the item at the specified index  
		* @param index Number The index of the item. 
		* @returns Object The item at the specified index. 
		*/
		static getAt( index?:number ): any;
		/** [Method] Returns the item associated with the passed key  
		* @param key String/Number The key of the item. 
		* @returns Object The item associated with the passed key. 
		*/
		static getByKey( key?:any ): any;
		/** [Method] Returns the number of items in the collection  
		* @returns Number the number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Gets the first sorter from the sorters collection excluding any groupers that may be in place 
		* @returns Ext.util.Sorter The sorter, null if none exist 
		*/
		static getFirstSorter(): Ext.util.ISorter;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] getKey implementation for MixedCollection 
		* @param o Object 
		* @returns Object The key for the passed item. 
		*/
		static getKey( o?:any ): any;
		/** [Method] Returns a range of items in this collection 
		* @param startIndex Number The starting index. Defaults to 0. 
		* @param endIndex Number The ending index. Defaults to the last item. 
		* @returns Array An array of items 
		*/
		static getRange( startIndex?:number, endIndex?:number ): any[];
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Returns index within the collection of the passed Object  
		* @param o Object The item to find the index of. 
		* @returns Number index of the item. Returns -1 if not found. 
		*/
		static indexOf( o?:any ): number;
		/** [Method] Returns index within the collection of the passed key  
		* @param key String The key to find the index of. 
		* @returns Number index of the key. 
		*/
		static indexOfKey( key?:string ): number;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Performs initialization of this mixin  */
		static initSortable(): void;
		/** [Method] Inserts an item at the specified index in the collection  
		* @param index Number The index to insert the item at. 
		* @param key String/Object/String[]/Object[] The key to associate with the new item, or the item itself. May also be an array of either to insert multiple items at once. 
		* @param o Object/Object[] If the second parameter was a key, the new item. May also be an array to insert multiple items at once. 
		* @returns Object The item inserted or an array of items inserted. 
		*/
		static insert( index?:number, key?:any, o?:any ): any;
		/** [Method] Returns the last item in the collection  
		* @returns Object the last item in the collection.. 
		*/
		static last(): any;
		/** [Method] Gets a registered Store by id 
		* @param store String/Object The id of the Store, or a Store instance, or a store configuration 
		* @returns Ext.data.Store 
		*/
		static lookup( store?:any ): Ext.data.IStore;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Registers one or more Stores with the StoreManager  
		* @param stores Ext.data.Store... Any number of Store instances 
		*/
		static register( stores:Ext.data.IStore ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Remove an item from the collection  
		* @param o Object The item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static remove( o?:any ): any;
		/** [Method] Remove all items in the collection  
		* @param items Array An array of items to be removed. 
		* @returns Ext.util.MixedCollection this object 
		*/
		static removeAll( items?:any[] ): Ext.util.IMixedCollection;
		/** [Method] Remove an item from a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static removeAt( index?:number ): any;
		/** [Method] Removes an item associated with the passed key fom the collection  
		* @param key String The key of the item to remove. If null is passed, all objects which yielded no key from the configured getKey function are removed. 
		* @returns Object Only returned if removing at a specified key. The item removed or false if no item was removed. 
		*/
		static removeAtKey( key?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Remove a range of items starting at a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @param removeCount Number The nuber of items to remove beginning at the specified index. 
		* @returns Object The last item removed or false if no item was removed. 
		*/
		static removeRange( index?:number, removeCount?:number ): any;
		/** [Method] Reorders each of the items based on a mapping from old index to new index  
		* @param mapping Object Mapping from old item index to new item index 
		*/
		static reorder( mapping?:any ): void;
		/** [Method] Replaces an item in the collection  
		* @param key String The key associated with the item to replace, or the replacement item. If you supplied a getKey implementation for this MixedCollection, or if the key of your stored items is in a property called id, then the MixedCollection will be able to derive the key of the replacement item. If you want to replace an item with one having the same key value, then just pass the replacement item in this parameter. 
		* @param o Object {Object} o (optional) If the first parameter passed was a key, the item to associate with that key. 
		* @returns Object The new item. 
		*/
		static replace( key?:string, o?:any ): any;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Sorts the data in the Store by one or more of its properties  
		* @param sorters String/Ext.util.Sorter[] Either a string name of one of the fields in this Store's configured Model, or an array of sorter configurations. 
		* @param direction String The overall direction to sort the data by. 
		* @returns Ext.util.Sorter[] 
		*/
		static sort( sorters?:any, direction?:string ): Ext.util.ISorter[];
		/** [Method] Sorts the collection by a single sorter function 
		* @param sorterFn Function The function to sort by 
		*/
		static sortBy( sorterFn?:any ): void;
		/** [Method] Sorts this collection by keys  
		* @param direction String 'ASC' or 'DESC'. Defaults to 'ASC'. 
		* @param fn Function Comparison function that defines the sort order. Defaults to sorting by case insensitive string. 
		*/
		static sortByKey( direction?:string, fn?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Collects all of the values of the given property and returns their sum 
		* @param property String The property to sum by 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param start Number The record index to start at 
		* @param end Number The record index to end at 
		* @returns Number The total 
		*/
		static sum( property?:string, root?:string, start?:number, end?:number ): number;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Unregisters one or more Stores with the StoreManager 
		* @param stores String/Object... Any number of Store instances or ID-s 
		*/
		static unregister( stores?:any ): void;
		/** [Method] Change the key for an existing item in the collection  
		* @param oldKey Object The old key 
		* @param newKey Object The new key 
		*/
		static updateKey( oldKey?:any, newKey?:any ): void;
	}
}
declare module Ext {
	export interface IStoreMgr extends Ext.util.IMixedCollection {
	}
	export class StoreMgr {
		/** [Method] Adds an item to the collection  
		* @param key String/Object The key to associate with the item, or the new item. If a getKey implementation was specified for this MixedCollection, or if the key of the stored items is in a property called id, the MixedCollection will be able to derive the key for the new item. In this case just pass the new item in this parameter. 
		* @param obj Object The item to add. 
		* @returns Object The item added. 
		*/
		static add( key?:any, obj?:any ): any;
		/** [Method] Adds all elements of an Array or an Object to the collection  
		* @param objs Object/Array An Object containing properties which will be added to the collection, or an Array of values, each of which are added to the collection. Functions references will be added to the collection if allowFunctions has been set to true. 
		*/
		static addAll( objs?:any ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all items from the collection  */
		static clear(): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Creates a shallow copy of this collection 
		* @returns Ext.util.MixedCollection 
		*/
		static clone(): Ext.util.IMixedCollection;
		/** [Method] Collects unique values of a particular property in this MixedCollection 
		* @param property String The property to collect on 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param allowBlank Boolean Pass true to allow null, undefined or empty string values 
		* @returns Array The unique values 
		*/
		static collect( property?:string, root?:string, allowBlank?:boolean ): any[];
		/** [Method] Returns true if the collection contains the passed Object as an item  
		* @param o Object The Object to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as an item. 
		*/
		static contains( o?:any ): boolean;
		/** [Method] Returns true if the collection contains the passed Object as a key  
		* @param key String The key to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as a key. 
		*/
		static containsKey( key?:string ): boolean;
		/** [Method] Executes the specified function once for every item in the collection  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current item in the iteration. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every key in the collection passing each key and its associated item as th  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		static eachKey( fn?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Filters the objects in this collection by a set of Filters or by a single property value pair with optional paramete  
		* @param property Ext.util.Filter[]/String A property on your objects, or an array of Filter objects 
		* @param value String/RegExp Either string that the property values should start with or a RegExp to test against the property 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filter( property?:any, value?:any, anyMatch?:boolean, caseSensitive?:boolean ): Ext.util.IMixedCollection;
		/** [Method] Filter by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filterBy( fn?:any, scope?:any ): Ext.util.IMixedCollection;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  */
		static find(): void;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  
		* @param fn Function The selection function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		* @returns Object The first item in the collection which returned true from the selection function, or null if none was found. 
		*/
		static findBy( fn?:any, scope?:any ): any;
		/** [Method] Finds the index of the first matching object in this collection by a specific property value  
		* @param property String The name of a property on your objects. 
		* @param value String/RegExp A string that the property values should start with or a RegExp to test against the property. 
		* @param start Number The index to start searching at. 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning. 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Number The matched index or -1 
		*/
		static findIndex( property?:string, value?:any, start?:number, anyMatch?:boolean, caseSensitive?:boolean ): number;
		/** [Method] Find the index of the first matching object in this collection by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @param start Number The index to start searching at. 
		* @returns Number The matched index or -1 
		*/
		static findIndexBy( fn?:any, scope?:any, start?:number ): number;
		/** [Method] Calculates the insertion index of the new item based upon the comparison function passed or the current sort order  
		* @param newItem Object The new object to find the insertion position of. 
		* @param sorterFn Function The function to sort by. This is the same as the sorting function passed to sortBy. It accepts 2 items from this MixedCollection, and returns -1 0, or 1 depending on the relative sort positions of the 2 compared items. If omitted, a function generated from the currently defined set of sorters will be used. 
		* @returns Number The insertion point to add the new item into this MixedCollection at using insert 
		*/
		static findInsertionIndex( newItem?:any, sorterFn?:any ): number;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the first item in the collection  
		* @returns Object the first item in the collection.. 
		*/
		static first(): any;
		/** [Method] Returns a comparator function which compares two items and returns 1 0 or 1 depending on the currently defined set  */
		static generateComparator(): void;
		/** [Method] Returns the item associated with the passed key OR index  
		* @param key String/Number The key or index of the item. 
		* @returns Object If the item is found, returns the item. If the item was not found, returns undefined. If an item was found, but is a Class, returns null. 
		*/
		static get( key?:any ): any;
		/** [Method] Returns the item at the specified index  
		* @param index Number The index of the item. 
		* @returns Object The item at the specified index. 
		*/
		static getAt( index?:number ): any;
		/** [Method] Returns the item associated with the passed key  
		* @param key String/Number The key of the item. 
		* @returns Object The item associated with the passed key. 
		*/
		static getByKey( key?:any ): any;
		/** [Method] Returns the number of items in the collection  
		* @returns Number the number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Gets the first sorter from the sorters collection excluding any groupers that may be in place 
		* @returns Ext.util.Sorter The sorter, null if none exist 
		*/
		static getFirstSorter(): Ext.util.ISorter;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] getKey implementation for MixedCollection 
		* @param o Object 
		* @returns Object The key for the passed item. 
		*/
		static getKey( o?:any ): any;
		/** [Method] Returns a range of items in this collection 
		* @param startIndex Number The starting index. Defaults to 0. 
		* @param endIndex Number The ending index. Defaults to the last item. 
		* @returns Array An array of items 
		*/
		static getRange( startIndex?:number, endIndex?:number ): any[];
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Returns index within the collection of the passed Object  
		* @param o Object The item to find the index of. 
		* @returns Number index of the item. Returns -1 if not found. 
		*/
		static indexOf( o?:any ): number;
		/** [Method] Returns index within the collection of the passed key  
		* @param key String The key to find the index of. 
		* @returns Number index of the key. 
		*/
		static indexOfKey( key?:string ): number;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Performs initialization of this mixin  */
		static initSortable(): void;
		/** [Method] Inserts an item at the specified index in the collection  
		* @param index Number The index to insert the item at. 
		* @param key String/Object/String[]/Object[] The key to associate with the new item, or the item itself. May also be an array of either to insert multiple items at once. 
		* @param o Object/Object[] If the second parameter was a key, the new item. May also be an array to insert multiple items at once. 
		* @returns Object The item inserted or an array of items inserted. 
		*/
		static insert( index?:number, key?:any, o?:any ): any;
		/** [Method] Returns the last item in the collection  
		* @returns Object the last item in the collection.. 
		*/
		static last(): any;
		/** [Method] Gets a registered Store by id 
		* @param store String/Object The id of the Store, or a Store instance, or a store configuration 
		* @returns Ext.data.Store 
		*/
		static lookup( store?:any ): Ext.data.IStore;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Registers one or more Stores with the StoreManager  
		* @param stores Ext.data.Store... Any number of Store instances 
		*/
		static register( stores:Ext.data.IStore ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Remove an item from the collection  
		* @param o Object The item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static remove( o?:any ): any;
		/** [Method] Remove all items in the collection  
		* @param items Array An array of items to be removed. 
		* @returns Ext.util.MixedCollection this object 
		*/
		static removeAll( items?:any[] ): Ext.util.IMixedCollection;
		/** [Method] Remove an item from a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static removeAt( index?:number ): any;
		/** [Method] Removes an item associated with the passed key fom the collection  
		* @param key String The key of the item to remove. If null is passed, all objects which yielded no key from the configured getKey function are removed. 
		* @returns Object Only returned if removing at a specified key. The item removed or false if no item was removed. 
		*/
		static removeAtKey( key?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Remove a range of items starting at a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @param removeCount Number The nuber of items to remove beginning at the specified index. 
		* @returns Object The last item removed or false if no item was removed. 
		*/
		static removeRange( index?:number, removeCount?:number ): any;
		/** [Method] Reorders each of the items based on a mapping from old index to new index  
		* @param mapping Object Mapping from old item index to new item index 
		*/
		static reorder( mapping?:any ): void;
		/** [Method] Replaces an item in the collection  
		* @param key String The key associated with the item to replace, or the replacement item. If you supplied a getKey implementation for this MixedCollection, or if the key of your stored items is in a property called id, then the MixedCollection will be able to derive the key of the replacement item. If you want to replace an item with one having the same key value, then just pass the replacement item in this parameter. 
		* @param o Object {Object} o (optional) If the first parameter passed was a key, the item to associate with that key. 
		* @returns Object The new item. 
		*/
		static replace( key?:string, o?:any ): any;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Sorts the data in the Store by one or more of its properties  
		* @param sorters String/Ext.util.Sorter[] Either a string name of one of the fields in this Store's configured Model, or an array of sorter configurations. 
		* @param direction String The overall direction to sort the data by. 
		* @returns Ext.util.Sorter[] 
		*/
		static sort( sorters?:any, direction?:string ): Ext.util.ISorter[];
		/** [Method] Sorts the collection by a single sorter function 
		* @param sorterFn Function The function to sort by 
		*/
		static sortBy( sorterFn?:any ): void;
		/** [Method] Sorts this collection by keys  
		* @param direction String 'ASC' or 'DESC'. Defaults to 'ASC'. 
		* @param fn Function Comparison function that defines the sort order. Defaults to sorting by case insensitive string. 
		*/
		static sortByKey( direction?:string, fn?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Collects all of the values of the given property and returns their sum 
		* @param property String The property to sum by 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param start Number The record index to start at 
		* @param end Number The record index to end at 
		* @returns Number The total 
		*/
		static sum( property?:string, root?:string, start?:number, end?:number ): number;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Unregisters one or more Stores with the StoreManager 
		* @param stores String/Object... Any number of Store instances or ID-s 
		*/
		static unregister( stores?:any ): void;
		/** [Method] Change the key for an existing item in the collection  
		* @param oldKey Object The old key 
		* @param newKey Object The new key 
		*/
		static updateKey( oldKey?:any, newKey?:any ): void;
	}
}
declare module Ext.data {
	export interface IStoreMgr extends Ext.util.IMixedCollection {
	}
	export class StoreMgr {
		/** [Method] Adds an item to the collection  
		* @param key String/Object The key to associate with the item, or the new item. If a getKey implementation was specified for this MixedCollection, or if the key of the stored items is in a property called id, the MixedCollection will be able to derive the key for the new item. In this case just pass the new item in this parameter. 
		* @param obj Object The item to add. 
		* @returns Object The item added. 
		*/
		static add( key?:any, obj?:any ): any;
		/** [Method] Adds all elements of an Array or an Object to the collection  
		* @param objs Object/Array An Object containing properties which will be added to the collection, or an Array of values, each of which are added to the collection. Functions references will be added to the collection if allowFunctions has been set to true. 
		*/
		static addAll( objs?:any ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all items from the collection  */
		static clear(): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Creates a shallow copy of this collection 
		* @returns Ext.util.MixedCollection 
		*/
		static clone(): Ext.util.IMixedCollection;
		/** [Method] Collects unique values of a particular property in this MixedCollection 
		* @param property String The property to collect on 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param allowBlank Boolean Pass true to allow null, undefined or empty string values 
		* @returns Array The unique values 
		*/
		static collect( property?:string, root?:string, allowBlank?:boolean ): any[];
		/** [Method] Returns true if the collection contains the passed Object as an item  
		* @param o Object The Object to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as an item. 
		*/
		static contains( o?:any ): boolean;
		/** [Method] Returns true if the collection contains the passed Object as a key  
		* @param key String The key to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as a key. 
		*/
		static containsKey( key?:string ): boolean;
		/** [Method] Executes the specified function once for every item in the collection  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current item in the iteration. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every key in the collection passing each key and its associated item as th  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		static eachKey( fn?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Filters the objects in this collection by a set of Filters or by a single property value pair with optional paramete  
		* @param property Ext.util.Filter[]/String A property on your objects, or an array of Filter objects 
		* @param value String/RegExp Either string that the property values should start with or a RegExp to test against the property 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filter( property?:any, value?:any, anyMatch?:boolean, caseSensitive?:boolean ): Ext.util.IMixedCollection;
		/** [Method] Filter by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filterBy( fn?:any, scope?:any ): Ext.util.IMixedCollection;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  */
		static find(): void;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  
		* @param fn Function The selection function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		* @returns Object The first item in the collection which returned true from the selection function, or null if none was found. 
		*/
		static findBy( fn?:any, scope?:any ): any;
		/** [Method] Finds the index of the first matching object in this collection by a specific property value  
		* @param property String The name of a property on your objects. 
		* @param value String/RegExp A string that the property values should start with or a RegExp to test against the property. 
		* @param start Number The index to start searching at. 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning. 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Number The matched index or -1 
		*/
		static findIndex( property?:string, value?:any, start?:number, anyMatch?:boolean, caseSensitive?:boolean ): number;
		/** [Method] Find the index of the first matching object in this collection by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @param start Number The index to start searching at. 
		* @returns Number The matched index or -1 
		*/
		static findIndexBy( fn?:any, scope?:any, start?:number ): number;
		/** [Method] Calculates the insertion index of the new item based upon the comparison function passed or the current sort order  
		* @param newItem Object The new object to find the insertion position of. 
		* @param sorterFn Function The function to sort by. This is the same as the sorting function passed to sortBy. It accepts 2 items from this MixedCollection, and returns -1 0, or 1 depending on the relative sort positions of the 2 compared items. If omitted, a function generated from the currently defined set of sorters will be used. 
		* @returns Number The insertion point to add the new item into this MixedCollection at using insert 
		*/
		static findInsertionIndex( newItem?:any, sorterFn?:any ): number;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the first item in the collection  
		* @returns Object the first item in the collection.. 
		*/
		static first(): any;
		/** [Method] Returns a comparator function which compares two items and returns 1 0 or 1 depending on the currently defined set  */
		static generateComparator(): void;
		/** [Method] Returns the item associated with the passed key OR index  
		* @param key String/Number The key or index of the item. 
		* @returns Object If the item is found, returns the item. If the item was not found, returns undefined. If an item was found, but is a Class, returns null. 
		*/
		static get( key?:any ): any;
		/** [Method] Returns the item at the specified index  
		* @param index Number The index of the item. 
		* @returns Object The item at the specified index. 
		*/
		static getAt( index?:number ): any;
		/** [Method] Returns the item associated with the passed key  
		* @param key String/Number The key of the item. 
		* @returns Object The item associated with the passed key. 
		*/
		static getByKey( key?:any ): any;
		/** [Method] Returns the number of items in the collection  
		* @returns Number the number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Gets the first sorter from the sorters collection excluding any groupers that may be in place 
		* @returns Ext.util.Sorter The sorter, null if none exist 
		*/
		static getFirstSorter(): Ext.util.ISorter;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] getKey implementation for MixedCollection 
		* @param o Object 
		* @returns Object The key for the passed item. 
		*/
		static getKey( o?:any ): any;
		/** [Method] Returns a range of items in this collection 
		* @param startIndex Number The starting index. Defaults to 0. 
		* @param endIndex Number The ending index. Defaults to the last item. 
		* @returns Array An array of items 
		*/
		static getRange( startIndex?:number, endIndex?:number ): any[];
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Returns index within the collection of the passed Object  
		* @param o Object The item to find the index of. 
		* @returns Number index of the item. Returns -1 if not found. 
		*/
		static indexOf( o?:any ): number;
		/** [Method] Returns index within the collection of the passed key  
		* @param key String The key to find the index of. 
		* @returns Number index of the key. 
		*/
		static indexOfKey( key?:string ): number;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Performs initialization of this mixin  */
		static initSortable(): void;
		/** [Method] Inserts an item at the specified index in the collection  
		* @param index Number The index to insert the item at. 
		* @param key String/Object/String[]/Object[] The key to associate with the new item, or the item itself. May also be an array of either to insert multiple items at once. 
		* @param o Object/Object[] If the second parameter was a key, the new item. May also be an array to insert multiple items at once. 
		* @returns Object The item inserted or an array of items inserted. 
		*/
		static insert( index?:number, key?:any, o?:any ): any;
		/** [Method] Returns the last item in the collection  
		* @returns Object the last item in the collection.. 
		*/
		static last(): any;
		/** [Method] Gets a registered Store by id 
		* @param store String/Object The id of the Store, or a Store instance, or a store configuration 
		* @returns Ext.data.Store 
		*/
		static lookup( store?:any ): Ext.data.IStore;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Registers one or more Stores with the StoreManager  
		* @param stores Ext.data.Store... Any number of Store instances 
		*/
		static register( stores:Ext.data.IStore ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Remove an item from the collection  
		* @param o Object The item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static remove( o?:any ): any;
		/** [Method] Remove all items in the collection  
		* @param items Array An array of items to be removed. 
		* @returns Ext.util.MixedCollection this object 
		*/
		static removeAll( items?:any[] ): Ext.util.IMixedCollection;
		/** [Method] Remove an item from a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static removeAt( index?:number ): any;
		/** [Method] Removes an item associated with the passed key fom the collection  
		* @param key String The key of the item to remove. If null is passed, all objects which yielded no key from the configured getKey function are removed. 
		* @returns Object Only returned if removing at a specified key. The item removed or false if no item was removed. 
		*/
		static removeAtKey( key?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Remove a range of items starting at a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @param removeCount Number The nuber of items to remove beginning at the specified index. 
		* @returns Object The last item removed or false if no item was removed. 
		*/
		static removeRange( index?:number, removeCount?:number ): any;
		/** [Method] Reorders each of the items based on a mapping from old index to new index  
		* @param mapping Object Mapping from old item index to new item index 
		*/
		static reorder( mapping?:any ): void;
		/** [Method] Replaces an item in the collection  
		* @param key String The key associated with the item to replace, or the replacement item. If you supplied a getKey implementation for this MixedCollection, or if the key of your stored items is in a property called id, then the MixedCollection will be able to derive the key of the replacement item. If you want to replace an item with one having the same key value, then just pass the replacement item in this parameter. 
		* @param o Object {Object} o (optional) If the first parameter passed was a key, the item to associate with that key. 
		* @returns Object The new item. 
		*/
		static replace( key?:string, o?:any ): any;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Sorts the data in the Store by one or more of its properties  
		* @param sorters String/Ext.util.Sorter[] Either a string name of one of the fields in this Store's configured Model, or an array of sorter configurations. 
		* @param direction String The overall direction to sort the data by. 
		* @returns Ext.util.Sorter[] 
		*/
		static sort( sorters?:any, direction?:string ): Ext.util.ISorter[];
		/** [Method] Sorts the collection by a single sorter function 
		* @param sorterFn Function The function to sort by 
		*/
		static sortBy( sorterFn?:any ): void;
		/** [Method] Sorts this collection by keys  
		* @param direction String 'ASC' or 'DESC'. Defaults to 'ASC'. 
		* @param fn Function Comparison function that defines the sort order. Defaults to sorting by case insensitive string. 
		*/
		static sortByKey( direction?:string, fn?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Collects all of the values of the given property and returns their sum 
		* @param property String The property to sum by 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param start Number The record index to start at 
		* @param end Number The record index to end at 
		* @returns Number The total 
		*/
		static sum( property?:string, root?:string, start?:number, end?:number ): number;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Unregisters one or more Stores with the StoreManager 
		* @param stores String/Object... Any number of Store instances or ID-s 
		*/
		static unregister( stores?:any ): void;
		/** [Method] Change the key for an existing item in the collection  
		* @param oldKey Object The old key 
		* @param newKey Object The new key 
		*/
		static updateKey( oldKey?:any, newKey?:any ): void;
	}
}
declare module Ext {
	export interface IStoreManager extends Ext.util.IMixedCollection {
	}
	export class StoreManager {
		/** [Method] Adds an item to the collection  
		* @param key String/Object The key to associate with the item, or the new item. If a getKey implementation was specified for this MixedCollection, or if the key of the stored items is in a property called id, the MixedCollection will be able to derive the key for the new item. In this case just pass the new item in this parameter. 
		* @param obj Object The item to add. 
		* @returns Object The item added. 
		*/
		static add( key?:any, obj?:any ): any;
		/** [Method] Adds all elements of an Array or an Object to the collection  
		* @param objs Object/Array An Object containing properties which will be added to the collection, or an Array of values, each of which are added to the collection. Functions references will be added to the collection if allowFunctions has been set to true. 
		*/
		static addAll( objs?:any ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all items from the collection  */
		static clear(): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Creates a shallow copy of this collection 
		* @returns Ext.util.MixedCollection 
		*/
		static clone(): Ext.util.IMixedCollection;
		/** [Method] Collects unique values of a particular property in this MixedCollection 
		* @param property String The property to collect on 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param allowBlank Boolean Pass true to allow null, undefined or empty string values 
		* @returns Array The unique values 
		*/
		static collect( property?:string, root?:string, allowBlank?:boolean ): any[];
		/** [Method] Returns true if the collection contains the passed Object as an item  
		* @param o Object The Object to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as an item. 
		*/
		static contains( o?:any ): boolean;
		/** [Method] Returns true if the collection contains the passed Object as a key  
		* @param key String The key to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as a key. 
		*/
		static containsKey( key?:string ): boolean;
		/** [Method] Executes the specified function once for every item in the collection  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current item in the iteration. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every key in the collection passing each key and its associated item as th  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		static eachKey( fn?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Filters the objects in this collection by a set of Filters or by a single property value pair with optional paramete  
		* @param property Ext.util.Filter[]/String A property on your objects, or an array of Filter objects 
		* @param value String/RegExp Either string that the property values should start with or a RegExp to test against the property 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filter( property?:any, value?:any, anyMatch?:boolean, caseSensitive?:boolean ): Ext.util.IMixedCollection;
		/** [Method] Filter by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filterBy( fn?:any, scope?:any ): Ext.util.IMixedCollection;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  */
		static find(): void;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  
		* @param fn Function The selection function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		* @returns Object The first item in the collection which returned true from the selection function, or null if none was found. 
		*/
		static findBy( fn?:any, scope?:any ): any;
		/** [Method] Finds the index of the first matching object in this collection by a specific property value  
		* @param property String The name of a property on your objects. 
		* @param value String/RegExp A string that the property values should start with or a RegExp to test against the property. 
		* @param start Number The index to start searching at. 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning. 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Number The matched index or -1 
		*/
		static findIndex( property?:string, value?:any, start?:number, anyMatch?:boolean, caseSensitive?:boolean ): number;
		/** [Method] Find the index of the first matching object in this collection by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @param start Number The index to start searching at. 
		* @returns Number The matched index or -1 
		*/
		static findIndexBy( fn?:any, scope?:any, start?:number ): number;
		/** [Method] Calculates the insertion index of the new item based upon the comparison function passed or the current sort order  
		* @param newItem Object The new object to find the insertion position of. 
		* @param sorterFn Function The function to sort by. This is the same as the sorting function passed to sortBy. It accepts 2 items from this MixedCollection, and returns -1 0, or 1 depending on the relative sort positions of the 2 compared items. If omitted, a function generated from the currently defined set of sorters will be used. 
		* @returns Number The insertion point to add the new item into this MixedCollection at using insert 
		*/
		static findInsertionIndex( newItem?:any, sorterFn?:any ): number;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the first item in the collection  
		* @returns Object the first item in the collection.. 
		*/
		static first(): any;
		/** [Method] Returns a comparator function which compares two items and returns 1 0 or 1 depending on the currently defined set  */
		static generateComparator(): void;
		/** [Method] Returns the item associated with the passed key OR index  
		* @param key String/Number The key or index of the item. 
		* @returns Object If the item is found, returns the item. If the item was not found, returns undefined. If an item was found, but is a Class, returns null. 
		*/
		static get( key?:any ): any;
		/** [Method] Returns the item at the specified index  
		* @param index Number The index of the item. 
		* @returns Object The item at the specified index. 
		*/
		static getAt( index?:number ): any;
		/** [Method] Returns the item associated with the passed key  
		* @param key String/Number The key of the item. 
		* @returns Object The item associated with the passed key. 
		*/
		static getByKey( key?:any ): any;
		/** [Method] Returns the number of items in the collection  
		* @returns Number the number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Gets the first sorter from the sorters collection excluding any groupers that may be in place 
		* @returns Ext.util.Sorter The sorter, null if none exist 
		*/
		static getFirstSorter(): Ext.util.ISorter;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] getKey implementation for MixedCollection 
		* @param o Object 
		* @returns Object The key for the passed item. 
		*/
		static getKey( o?:any ): any;
		/** [Method] Returns a range of items in this collection 
		* @param startIndex Number The starting index. Defaults to 0. 
		* @param endIndex Number The ending index. Defaults to the last item. 
		* @returns Array An array of items 
		*/
		static getRange( startIndex?:number, endIndex?:number ): any[];
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Returns index within the collection of the passed Object  
		* @param o Object The item to find the index of. 
		* @returns Number index of the item. Returns -1 if not found. 
		*/
		static indexOf( o?:any ): number;
		/** [Method] Returns index within the collection of the passed key  
		* @param key String The key to find the index of. 
		* @returns Number index of the key. 
		*/
		static indexOfKey( key?:string ): number;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Performs initialization of this mixin  */
		static initSortable(): void;
		/** [Method] Inserts an item at the specified index in the collection  
		* @param index Number The index to insert the item at. 
		* @param key String/Object/String[]/Object[] The key to associate with the new item, or the item itself. May also be an array of either to insert multiple items at once. 
		* @param o Object/Object[] If the second parameter was a key, the new item. May also be an array to insert multiple items at once. 
		* @returns Object The item inserted or an array of items inserted. 
		*/
		static insert( index?:number, key?:any, o?:any ): any;
		/** [Method] Returns the last item in the collection  
		* @returns Object the last item in the collection.. 
		*/
		static last(): any;
		/** [Method] Gets a registered Store by id 
		* @param store String/Object The id of the Store, or a Store instance, or a store configuration 
		* @returns Ext.data.Store 
		*/
		static lookup( store?:any ): Ext.data.IStore;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Registers one or more Stores with the StoreManager  
		* @param stores Ext.data.Store... Any number of Store instances 
		*/
		static register( stores:Ext.data.IStore ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Remove an item from the collection  
		* @param o Object The item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static remove( o?:any ): any;
		/** [Method] Remove all items in the collection  
		* @param items Array An array of items to be removed. 
		* @returns Ext.util.MixedCollection this object 
		*/
		static removeAll( items?:any[] ): Ext.util.IMixedCollection;
		/** [Method] Remove an item from a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static removeAt( index?:number ): any;
		/** [Method] Removes an item associated with the passed key fom the collection  
		* @param key String The key of the item to remove. If null is passed, all objects which yielded no key from the configured getKey function are removed. 
		* @returns Object Only returned if removing at a specified key. The item removed or false if no item was removed. 
		*/
		static removeAtKey( key?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Remove a range of items starting at a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @param removeCount Number The nuber of items to remove beginning at the specified index. 
		* @returns Object The last item removed or false if no item was removed. 
		*/
		static removeRange( index?:number, removeCount?:number ): any;
		/** [Method] Reorders each of the items based on a mapping from old index to new index  
		* @param mapping Object Mapping from old item index to new item index 
		*/
		static reorder( mapping?:any ): void;
		/** [Method] Replaces an item in the collection  
		* @param key String The key associated with the item to replace, or the replacement item. If you supplied a getKey implementation for this MixedCollection, or if the key of your stored items is in a property called id, then the MixedCollection will be able to derive the key of the replacement item. If you want to replace an item with one having the same key value, then just pass the replacement item in this parameter. 
		* @param o Object {Object} o (optional) If the first parameter passed was a key, the item to associate with that key. 
		* @returns Object The new item. 
		*/
		static replace( key?:string, o?:any ): any;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Sorts the data in the Store by one or more of its properties  
		* @param sorters String/Ext.util.Sorter[] Either a string name of one of the fields in this Store's configured Model, or an array of sorter configurations. 
		* @param direction String The overall direction to sort the data by. 
		* @returns Ext.util.Sorter[] 
		*/
		static sort( sorters?:any, direction?:string ): Ext.util.ISorter[];
		/** [Method] Sorts the collection by a single sorter function 
		* @param sorterFn Function The function to sort by 
		*/
		static sortBy( sorterFn?:any ): void;
		/** [Method] Sorts this collection by keys  
		* @param direction String 'ASC' or 'DESC'. Defaults to 'ASC'. 
		* @param fn Function Comparison function that defines the sort order. Defaults to sorting by case insensitive string. 
		*/
		static sortByKey( direction?:string, fn?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Collects all of the values of the given property and returns their sum 
		* @param property String The property to sum by 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param start Number The record index to start at 
		* @param end Number The record index to end at 
		* @returns Number The total 
		*/
		static sum( property?:string, root?:string, start?:number, end?:number ): number;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Unregisters one or more Stores with the StoreManager 
		* @param stores String/Object... Any number of Store instances or ID-s 
		*/
		static unregister( stores?:any ): void;
		/** [Method] Change the key for an existing item in the collection  
		* @param oldKey Object The old key 
		* @param newKey Object The new key 
		*/
		static updateKey( oldKey?:any, newKey?:any ): void;
	}
}
declare module Ext.data {
	export interface ITree extends Ext.IBase,Ext.util.IObservable {
		/** [Property] (Ext.data.NodeInterface) */
		root?: Ext.data.INodeInterface;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Gets a node in this tree by its id  
		* @param id String 
		* @returns Ext.data.NodeInterface The match node. 
		*/
		getNodeById?( id?:string ): Ext.data.INodeInterface;
		/** [Method] Returns the root node for this tree  
		* @returns Ext.data.NodeInterface 
		*/
		getRootNode?(): Ext.data.INodeInterface;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Removes the root node from this tree  
		* @returns Ext.data.NodeInterface The root node 
		*/
		removeRootNode?(): Ext.data.INodeInterface;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Sets the root node for this tree  
		* @param node Ext.data.NodeInterface 
		* @returns Ext.data.NodeInterface The root node 
		*/
		setRootNode?( node?:Ext.data.INodeInterface ): Ext.data.INodeInterface;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.data {
	export interface ITreeModel extends Ext.data.IModel {
	}
}
declare module Ext.data {
	export interface ITreeStore extends Ext.data.IAbstractStore {
		/** [Config Option] (Boolean) */
		clearOnLoad?: boolean;
		/** [Config Option] (Boolean) */
		clearRemovedOnLoad?: boolean;
		/** [Config Option] (String) */
		defaultRootId?: string;
		/** [Config Option] (String) */
		defaultRootProperty?: string;
		/** [Config Option] (String) */
		defaultRootText?: string;
		/** [Config Option] (Boolean) */
		folderSort?: boolean;
		/** [Config Option] (String) */
		nodeParam?: string;
		/** [Config Option] (Ext.data.Model/Ext.data.NodeInterface/Object) */
		root?: any;
		/** [Method] inherit docs 
		* @returns Ext.data.Model[] The Model instances 
		*/
		getNewRecords?(): Ext.data.IModel[];
		/** [Method] Returns the record node by id 
		* @param id Object 
		* @returns Ext.data.NodeInterface 
		*/
		getNodeById?( id?:any ): Ext.data.INodeInterface;
		/** [Method] Returns the root node for this tree  
		* @returns Ext.data.NodeInterface 
		*/
		getRootNode?(): Ext.data.INodeInterface;
		/** [Method] inherit docs 
		* @returns Ext.data.Model[] The updated Model instances 
		*/
		getUpdatedRecords?(): Ext.data.IModel[];
		/** [Method] Loads the Store using its configured proxy  
		* @param options Object config object. This is passed into the Operation object that is created and then sent to the proxy's Ext.data.proxy.Proxy.read function. The options can also contain a node, which indicates which node is to be loaded. If not specified, it will default to the root node. 
		*/
		load?( options?:any ): void;
		/** [Method] inherit docs */
		removeAll?(): void;
		/** [Method] inherit docs 
		* @param proxy Object 
		* @returns Ext.data.proxy.Proxy The attached Proxy object 
		*/
		setProxy?( proxy?:any ): Ext.data.proxy.IProxy;
		/** [Method] Sets the root node for this store  
		* @param root Ext.data.Model/Ext.data.NodeInterface/Object 
		* @returns Ext.data.NodeInterface The new root 
		*/
		setRootNode?( root?:any ): Ext.data.INodeInterface;
	}
}
declare module Ext.data {
	export interface ITypes extends Ext.IBase {
	}
	export class Types {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.data {
	export interface IUuidGenerator extends Ext.data.IIdGenerator {
		/** [Config Option] (Number) */
		version?: number;
		/** [Property] (Number/Object) */
		salt?: any;
		/** [Property] (Number/Object) */
		timestamp?: any;
		/** [Method] Reconfigures this generator given new config properties  
		* @param config Object 
		*/
		reconfigure?( config?:any ): void;
	}
}
declare module Ext.data {
	export interface IValidations extends Ext.IBase {
	}
	export class Validations {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Validates that an email string is in the correct format 
		* @param config Object Config object 
		* @param email String The email address 
		* @returns Boolean True if the value passes validation 
		*/
		static email( config?:any, email?:string ): boolean;
		/** [Method] Validates that the given value is not present in the configured list  
		* @param config Object Config object 
		* @param value String The value to validate 
		* @returns Boolean True if the value is not present in the list 
		*/
		static exclusion( config?:any, value?:string ): boolean;
		/** [Method] Returns true if the given value passes validation against the configured matcher regex  
		* @param config Object Config object 
		* @param value String The value to validate 
		* @returns Boolean True if the value passes the format validation 
		*/
		static format( config?:any, value?:string ): boolean;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Validates that the given value is present in the configured list  
		* @param config Object Config object 
		* @param value String The value to validate 
		* @returns Boolean True if the value is present in the list 
		*/
		static inclusion( config?:any, value?:string ): boolean;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Returns true if the given value is between the configured min and max values  
		* @param config Object Config object 
		* @param value String The value to validate 
		* @returns Boolean True if the value passes validation 
		*/
		static length( config?:any, value?:string ): boolean;
		/** [Method] Validates that the given value is present  
		* @param config Object Config object 
		* @param value Object The value to validate 
		* @returns Boolean True if validation passed 
		*/
		static presence( config?:any, value?:any ): boolean;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.data.writer {
	export interface IJson extends Ext.data.writer.IWriter {
		/** [Config Option] (Boolean) */
		allowSingle?: boolean;
		/** [Config Option] (Boolean) */
		encode?: boolean;
		/** [Config Option] (Boolean) */
		expandData?: boolean;
		/** [Config Option] (String) */
		root?: string;
		/** [Method] The Reader classes support dot delimited data mappings for extracting nested raw data into fields so the writer must  
		* @param data Object 
		*/
		getExpandedData?( data?:any ): void;
	}
}
declare module Ext.data {
	export interface IJsonWriter extends Ext.data.writer.IWriter {
		/** [Config Option] (Boolean) */
		allowSingle?: boolean;
		/** [Config Option] (Boolean) */
		encode?: boolean;
		/** [Config Option] (Boolean) */
		expandData?: boolean;
		/** [Config Option] (String) */
		root?: string;
		/** [Method] The Reader classes support dot delimited data mappings for extracting nested raw data into fields so the writer must  
		* @param data Object 
		*/
		getExpandedData?( data?:any ): void;
	}
}
declare module Ext.data.writer {
	export interface IWriter extends Ext.IBase {
		/** [Config Option] (String) */
		dateFormat?: string;
		/** [Config Option] (String) */
		nameProperty?: string;
		/** [Config Option] (Boolean) */
		writeAllFields?: boolean;
		/** [Config Option] (Boolean) */
		writeRecordId?: boolean;
		/** [Method] Formats the data for each record before sending it to the server  
		* @param record Ext.data.Model The record that we are writing to the server. 
		* @param operation Ext.data.Operation An operation object. 
		* @returns Object An object literal of name/value keys to be written to the server. By default this method returns the data property on the record. 
		*/
		getRecordData?( record?:Ext.data.IModel, operation?:Ext.data.IOperation ): any;
		/** [Method] Prepares a Proxy s Ext data Request object 
		* @param request Ext.data.Request The request object 
		* @returns Ext.data.Request The modified request object 
		*/
		write?( request?:Ext.data.IRequest ): Ext.data.IRequest;
	}
}
declare module Ext.data {
	export interface IDataWriter extends Ext.IBase {
		/** [Config Option] (String) */
		dateFormat?: string;
		/** [Config Option] (String) */
		nameProperty?: string;
		/** [Config Option] (Boolean) */
		writeAllFields?: boolean;
		/** [Config Option] (Boolean) */
		writeRecordId?: boolean;
		/** [Method] Formats the data for each record before sending it to the server  
		* @param record Ext.data.Model The record that we are writing to the server. 
		* @param operation Ext.data.Operation An operation object. 
		* @returns Object An object literal of name/value keys to be written to the server. By default this method returns the data property on the record. 
		*/
		getRecordData?( record?:Ext.data.IModel, operation?:Ext.data.IOperation ): any;
		/** [Method] Prepares a Proxy s Ext data Request object 
		* @param request Ext.data.Request The request object 
		* @returns Ext.data.Request The modified request object 
		*/
		write?( request?:Ext.data.IRequest ): Ext.data.IRequest;
	}
}
declare module Ext.data {
	export interface IWriter extends Ext.IBase {
		/** [Config Option] (String) */
		dateFormat?: string;
		/** [Config Option] (String) */
		nameProperty?: string;
		/** [Config Option] (Boolean) */
		writeAllFields?: boolean;
		/** [Config Option] (Boolean) */
		writeRecordId?: boolean;
		/** [Method] Formats the data for each record before sending it to the server  
		* @param record Ext.data.Model The record that we are writing to the server. 
		* @param operation Ext.data.Operation An operation object. 
		* @returns Object An object literal of name/value keys to be written to the server. By default this method returns the data property on the record. 
		*/
		getRecordData?( record?:Ext.data.IModel, operation?:Ext.data.IOperation ): any;
		/** [Method] Prepares a Proxy s Ext data Request object 
		* @param request Ext.data.Request The request object 
		* @returns Ext.data.Request The modified request object 
		*/
		write?( request?:Ext.data.IRequest ): Ext.data.IRequest;
	}
}
declare module Ext.data.writer {
	export interface IXml extends Ext.data.writer.IWriter {
		/** [Config Option] (String) */
		defaultDocumentRoot?: string;
		/** [Config Option] (String) */
		documentRoot?: string;
		/** [Config Option] (String) */
		header?: string;
		/** [Config Option] (String) */
		record?: string;
	}
}
declare module Ext.data {
	export interface IXmlWriter extends Ext.data.writer.IWriter {
		/** [Config Option] (String) */
		defaultDocumentRoot?: string;
		/** [Config Option] (String) */
		documentRoot?: string;
		/** [Config Option] (String) */
		header?: string;
		/** [Config Option] (String) */
		record?: string;
	}
}
declare module Ext.data {
	export interface IXmlStore extends Ext.data.IStore {
	}
}
declare module Ext {
	export interface IDate {
	}
	export class Date {
		/** [Method] Provides a convenient method for performing basic date arithmetic  
		* @param date Date The date to modify 
		* @param interval String A valid date interval enum value. 
		* @param value Number The amount to add to the current date. 
		* @returns Date The new Date instance. 
		*/
		static add( date?:any, interval?:string, value?:number ): any;
		/** [Method] Checks if a date falls on or between the given start and end dates  
		* @param date Date The date to check 
		* @param start Date Start date 
		* @param end Date End date 
		* @returns Boolean true if this date falls on or between the given start and end dates. 
		*/
		static between( date?:any, start?:any, end?:any ): boolean;
		/** [Method] Attempts to clear all time information from this Date by setting the time to midnight of the same day automatically 
		* @param date Date The date 
		* @param clone Boolean true to create a clone of this date, clear the time and return it. 
		* @returns Date this or the clone. 
		*/
		static clearTime( date?:any, clone?:boolean ): any;
		/** [Method] Creates and returns a new Date instance with the exact same date value as the called instance  
		* @param date Date The date. 
		* @returns Date The new Date instance. 
		*/
		static clone( date?:any ): any;
		/** [Method] Formats a date given the supplied format string  
		* @param date Date The date to format 
		* @param format String The format string 
		* @returns String The formatted date or an empty string if date parameter is not a JavaScript Date object 
		*/
		static format( date?:any, format?:string ): string;
		/** [Method] Checks if the specified format contains information about anything other than the time  
		* @param format String The format to check 
		* @returns Boolean True if the format contains information about date/day information. 
		*/
		static formatContainsDateInfo( format?:string ): boolean;
		/** [Method] Checks if the specified format contains hour information 
		* @param format String The format to check 
		* @returns Boolean True if the format contains hour information 
		*/
		static formatContainsHourInfo( format?:string ): boolean;
		/** [Method] Get the numeric day number of the year adjusted for leap year  
		* @param date Date The date 
		* @returns Number 0 to 364 (365 in leap years). 
		*/
		static getDayOfYear( date?:any ): number;
		/** [Method] Get the number of days in the current month adjusted for leap year  
		* @param date Date The date 
		* @returns Number The number of days in the month. 
		*/
		static getDaysInMonth( date?:any ): number;
		/** [Method] Returns the number of milliseconds between two dates  
		* @param dateA Date The first date. 
		* @param dateB Date The second date. 
		* @returns Number The difference in milliseconds 
		*/
		static getElapsed( dateA?:any, dateB?:any ): number;
		/** [Method] Get the date of the first day of the month in which this date resides  
		* @param date Date The date 
		* @returns Date 
		*/
		static getFirstDateOfMonth( date?:any ): any;
		/** [Method] Get the first day of the current month adjusted for leap year  
		* @param date Date The date 
		* @returns Number The day number (0-6). 
		*/
		static getFirstDayOfMonth( date?:any ): number;
		/** [Method] Get the offset from GMT of the current date equivalent to the format specifier O  
		* @param date Date The date 
		* @param colon Boolean true to separate the hours and minutes with a colon. 
		* @returns String The 4-character offset string prefixed with + or - (e.g. '-0600'). 
		*/
		static getGMTOffset( date?:any, colon?:boolean ): string;
		/** [Method] Get the date of the last day of the month in which this date resides  
		* @param date Date The date 
		* @returns Date 
		*/
		static getLastDateOfMonth( date?:any ): any;
		/** [Method] Get the last day of the current month adjusted for leap year  
		* @param date Date The date 
		* @returns Number The day number (0-6). 
		*/
		static getLastDayOfMonth( date?:any ): number;
		/** [Method] Get the zero based JavaScript month number for the given short full month name  
		* @param name String The short/full month name. 
		* @returns Number The zero-based JavaScript month number. 
		*/
		static getMonthNumber( name?:string ): number;
		/** [Method] Get the short day name for the given day number  
		* @param day Number A zero-based JavaScript day number. 
		* @returns String The short day name. 
		*/
		static getShortDayName( day?:number ): string;
		/** [Method] Get the short month name for the given month number  
		* @param month Number A zero-based JavaScript month number. 
		* @returns String The short month name. 
		*/
		static getShortMonthName( month?:number ): string;
		/** [Method] Get the English ordinal suffix of the current day equivalent to the format specifier S  
		* @param date Date The date 
		* @returns String 'st, 'nd', 'rd' or 'th'. 
		*/
		static getSuffix( date?:any ): string;
		/** [Method] Get the timezone abbreviation of the current date equivalent to the format specifier T  
		* @param date Date The date 
		* @returns String The abbreviated timezone name (e.g. 'CST', 'PDT', 'EDT', 'MPST' ...). 
		*/
		static getTimezone( date?:any ): string;
		/** [Method] Get the numeric ISO 8601 week number of the year  
		* @param date Date The date 
		* @returns Number 1 to 53 
		*/
		static getWeekOfYear( date?:any ): number;
		/** [Method] Checks if the current date is affected by Daylight Saving Time DST 
		* @param date Date The date 
		* @returns Boolean true if the current date is affected by DST. 
		*/
		static isDST( date?:any ): boolean;
		/** [Method] Compares if two dates are equal by comparing their values  
		* @param date1 Date 
		* @param date2 Date 
		* @returns Boolean true if the date values are equal 
		*/
		static isEqual( date1?:any, date2?:any ): boolean;
		/** [Method] Checks if the current date falls within a leap year  
		* @param date Date The date 
		* @returns Boolean True if the current date falls within a leap year, false otherwise. 
		*/
		static isLeapYear( date?:any ): boolean;
		/** [Method] Checks if the passed Date parameters will cause a JavaScript Date rollover 
		* @param year Number 4-digit year 
		* @param month Number 1-based month-of-year 
		* @param day Number Day of month 
		* @param hour Number Hour 
		* @param minute Number Minute 
		* @param second Number Second 
		* @param millisecond Number Millisecond 
		* @returns Boolean true if the passed parameters do not cause a Date "rollover", false otherwise. 
		*/
		static isValid( year?:number, month?:number, day?:number, hour?:number, minute?:number, second?:number, millisecond?:number ): boolean;
		/** [Method] Returns the current timestamp  
		* @returns Number Milliseconds since UNIX epoch. 
		*/
		static now(): number;
		/** [Method] Parses the passed string using the specified date format  
		* @param input String The raw date string. 
		* @param format String The expected date string format. 
		* @param strict Boolean true to validate date strings while parsing (i.e. prevents JavaScript Date "rollover"). Invalid date strings will return null when parsed. 
		* @returns Date The parsed Date. 
		*/
		static parse( input?:string, format?:string, strict?:boolean ): any;
		/** [Method] Provides a convenient method for performing basic date arithmetic  
		* @param date Date The date to modify 
		* @param interval String A valid date interval enum value. 
		* @param value Number The amount to subtract from the current date. 
		* @returns Date The new Date instance. 
		*/
		static subtract( date?:any, interval?:string, value?:number ): any;
		/** [Method] Removes all escaping for a date format string  
		* @param format String The format to unescape 
		* @returns String The unescaped format 
		*/
		static unescapeFormat( format?:string ): string;
	}
}
declare module Ext.dd {
	export interface IDD extends Ext.dd.IDragDrop {
		/** [Property] (Boolean) */
		scroll?: boolean;
		/** [Method] Sets the element to the location of the mousedown or click event maintaining the cursor location relative to the loc  
		* @param el HTMLElement the element to move 
		* @param iPageX Number the X coordinate of the mousedown or drag event 
		* @param iPageY Number the Y coordinate of the mousedown or drag event 
		*/
		alignElWithMouse?( el?:HTMLElement, iPageX?:number, iPageY?:number ): void;
		/** [Method] Sets up config options specific to this class  */
		applyConfig?(): void;
		/** [Method] Sets the pointer offset to the distance between the linked element s top left corner and the location the element was  
		* @param iPageX Number the X coordinate of the click 
		* @param iPageY Number the Y coordinate of the click 
		*/
		autoOffset?( iPageX?:number, iPageY?:number ): void;
		/** [Method] Event that fires prior to the onDrag event  
		* @param e Object 
		*/
		b4Drag?( e?:any ): void;
		/** [Method] Event that fires prior to the onMouseDown event  
		* @param e Object 
		*/
		b4MouseDown?( e?:any ): void;
		/** [Method] Saves the most recent position so that we can reset the constraints and tick marks on demand  
		* @param iPageX Number the current x position (this just makes it so we don't have to look it up again) 
		* @param iPageY Number the current y position (this just makes it so we don't have to look it up again) 
		*/
		cachePosition?( iPageX?:number, iPageY?:number ): void;
		/** [Method] Sets the pointer offset  
		* @param iDeltaX Number the distance from the left 
		* @param iDeltaY Number the distance from the top 
		*/
		setDelta?( iDeltaX?:number, iDeltaY?:number ): void;
		/** [Method] Sets the drag element to the location of the mousedown or click event maintaining the cursor location relative to th  
		* @param iPageX Number the X coordinate of the mousedown or drag event 
		* @param iPageY Number the Y coordinate of the mousedown or drag event 
		*/
		setDragElPos?( iPageX?:number, iPageY?:number ): void;
		/** [Method] toString method 
		* @returns String string representation of the dd obj 
		*/
		toString?(): string;
	}
}
declare module Ext.dd {
	export interface IDDProxy extends Ext.dd.IDD {
		/** [Property] (Boolean) */
		centerFrame?: boolean;
		/** [Property] (Boolean) */
		resizeFrame?: boolean;
		/** [Property] (String) */
		dragElId?: string;
		/** [Method] Sets up config options specific to this class  */
		applyConfig?(): void;
		/** [Method] overrides Ext dd DragDrop 
		* @param e Object 
		*/
		b4MouseDown?( e?:any ): void;
		/** [Method] Creates the proxy element if it does not yet exist */
		createFrame?(): void;
		/** [Method] overrides Ext dd DragDrop By default we try to move the element to the last location of the frame  
		* @param e Object 
		*/
		endDrag?( e?:any ): void;
		/** [Method] Initialization for the drag frame element  */
		initFrame?(): void;
		/** [Method] toString method 
		* @returns String string representation of the dd obj 
		*/
		toString?(): string;
	}
}
declare module Ext.dd {
	export interface IDDTarget extends Ext.dd.IDragDrop {
		/** [Method] toString method 
		* @returns String string representation of the dd obj 
		*/
		toString?(): string;
	}
}
declare module Ext.dd {
	export interface IDragDrop extends Ext.IBase {
		/** [Property] (Boolean) */
		available?: boolean;
		/** [Property] (Object) */
		config?: any;
		/** [Property] (Object) */
		defaultPadding?: any;
		/** [Property] (Object) */
		groups?: any;
		/** [Property] (Boolean) */
		hasOuterHandles?: boolean;
		/** [Property] (String) */
		id?: string;
		/** [Property] (Boolean) */
		ignoreSelf?: boolean;
		/** [Property] (String[]) */
		invalidHandleClasses?: string[];
		/** [Property] (Object) */
		invalidHandleIds?: any;
		/** [Property] (Object) */
		invalidHandleTypes?: any;
		/** [Property] (Boolean) */
		isTarget?: boolean;
		/** [Property] (Boolean) */
		maintainOffset?: boolean;
		/** [Property] (Boolean) */
		moveOnly?: boolean;
		/** [Property] (Number[]) */
		padding?: number[];
		/** [Property] (Boolean) */
		primaryButtonOnly?: boolean;
		/** [Property] (Number[]) */
		xTicks?: number[];
		/** [Property] (Number[]) */
		yTicks?: number[];
		/** [Method] Lets you specify a css class of elements that will not initiate a drag 
		* @param cssClass String the class of the elements you wish to ignore 
		*/
		addInvalidHandleClass?( cssClass?:string ): void;
		/** [Method] Lets you to specify an element id for a child of a drag handle that should not initiate a drag 
		* @param id String the element id of the element you wish to ignore 
		*/
		addInvalidHandleId?( id?:string ): void;
		/** [Method] Allows you to specify a tag name that should not start a drag operation when clicked  
		* @param tagName String the type of element to exclude 
		*/
		addInvalidHandleType?( tagName?:string ): void;
		/** [Method] Adds this instance to a group of related drag drop objects  
		* @param sGroup String the name of the group 
		*/
		addToGroup?( sGroup?:string ): void;
		/** [Method] Applies the configuration parameters that were passed into the constructor  */
		applyConfig?(): void;
		/** [Method] Clears any constraints applied to this instance  */
		clearConstraints?(): void;
		/** [Method] Clears any tick interval defined for this instance */
		clearTicks?(): void;
		/** [Method] Initializes the drag drop object s constraints to restrict movement to a certain element  
		* @param constrainTo String/HTMLElement/Ext.Element The element or element ID to constrain to. 
		* @param pad Object/Number Pad provides a way to specify "padding" of the constraints, and can be either a number for symmetrical padding (4 would be equal to {left:4, right:4, top:4, bottom:4}) or an object containing the sides to pad. For example: {right:10, bottom:10} 
		* @param inContent Boolean Constrain the draggable in the content box of the element (inside padding and borders) 
		*/
		constrainTo?( constrainTo?:any, pad?:any, inContent?:boolean ): void;
		/** [Method] Destroy this DragDrop instance */
		destroy?(): void;
		/** [Method] Called when we are done dragging the object 
		* @param e Event the mouseup event 
		*/
		endDrag?( e?:Event ): void;
		/** [Method] Returns a reference to the actual element to drag  
		* @returns HTMLElement the html element 
		*/
		getDragEl?(): HTMLElement;
		/** [Method] Returns a reference to the linked element 
		* @returns HTMLElement the html element 
		*/
		getEl?(): HTMLElement;
		/** [Method] Sets up the DragDrop object  
		* @param id String the id of the linked element 
		* @param sGroup String the group of related items 
		* @param config Object configuration attributes 
		*/
		init?( id?:string, sGroup?:string, config?:any ): void;
		/** [Method] Initializes Targeting functionality only  
		* @param id String the id of the linked element 
		* @param sGroup String the group of related items 
		* @param config Object configuration attributes 
		*/
		initTarget?( id?:string, sGroup?:string, config?:any ): void;
		/** [Method] Returns true if this instance is locked or the drag drop mgr is locked meaning that all drag drop is disabled on th  
		* @returns Boolean true if this obj or all drag/drop is locked, else false 
		*/
		isLocked?(): boolean;
		/** [Method] Checks the tag exclusion list to see if this click should be ignored 
		* @param node HTMLElement the HTMLElement to evaluate 
		* @returns Boolean true if this is a valid tag type, false if not 
		*/
		isValidHandleChild?( node?:HTMLElement ): boolean;
		/** [Method] Locks this instance */
		lock?(): void;
		/** [Method] Override the onAvailable method to do what is needed after the initial position was determined  */
		onAvailable?(): void;
		/** [Method] Abstract method called during the onMouseMove event while dragging an object  
		* @param e Event the mousemove event 
		*/
		onDrag?( e?:Event ): void;
		/** [Method] Abstract method called when this item is dropped on another DragDrop obj 
		* @param e Event the mouseup event 
		* @param id String/Ext.dd.DragDrop[] In POINT mode, the element id this was dropped on. In INTERSECT mode, an array of dd items this was dropped on. 
		*/
		onDragDrop?( e?:Event, id?:any ): void;
		/** [Method] Abstract method called when this element fist begins hovering over another DragDrop obj 
		* @param e Event the mousemove event 
		* @param id String/Ext.dd.DragDrop[] In POINT mode, the element id this is hovering over. In INTERSECT mode, an array of one or more dragdrop items being hovered over. 
		*/
		onDragEnter?( e?:Event, id?:any ): void;
		/** [Method] Abstract method called when we are no longer hovering over an element 
		* @param e Event the mousemove event 
		* @param id String/Ext.dd.DragDrop[] In POINT mode, the element id this was hovering over. In INTERSECT mode, an array of dd items that the mouse is no longer over. 
		*/
		onDragOut?( e?:Event, id?:any ): void;
		/** [Method] Abstract method called when this element is hovering over another DragDrop obj 
		* @param e Event the mousemove event 
		* @param id String/Ext.dd.DragDrop[] In POINT mode, the element id this is hovering over. In INTERSECT mode, an array of dd items being hovered over. 
		*/
		onDragOver?( e?:Event, id?:any ): void;
		/** [Method] Abstract method called when this item is dropped on an area with no drop target 
		* @param e Event the mouseup event 
		*/
		onInvalidDrop?( e?:Event ): void;
		/** [Method] Called when a drag drop obj gets a mousedown 
		* @param e Event the mousedown event 
		*/
		onMouseDown?( e?:Event ): void;
		/** [Method] Called when a drag drop obj gets a mouseup 
		* @param e Event the mouseup event 
		*/
		onMouseUp?( e?:Event ): void;
		/** [Method] Removes this instance from the supplied interaction group 
		* @param sGroup String The group to drop 
		*/
		removeFromGroup?( sGroup?:string ): void;
		/** [Method] Unsets an invalid css class 
		* @param cssClass String the class of the element(s) you wish to re-enable 
		*/
		removeInvalidHandleClass?( cssClass?:string ): void;
		/** [Method] Unsets an invalid handle id 
		* @param id String the id of the element to re-enable 
		*/
		removeInvalidHandleId?( id?:string ): void;
		/** [Method] Unsets an excluded tag name set by addInvalidHandleType 
		* @param tagName String the type of element to unexclude 
		*/
		removeInvalidHandleType?( tagName?:string ): void;
		/** [Method] Must be called if you manually reposition a dd element  
		* @param maintainOffset Boolean 
		*/
		resetConstraints?( maintainOffset?:boolean ): void;
		/** [Method] Allows you to specify that an element other than the linked element will be moved with the cursor during a drag 
		* @param id String the id of the element that will be used to initiate the drag 
		*/
		setDragElId?( id?:string ): void;
		/** [Method] Allows you to specify a child of the linked element that should be used to initiate the drag operation  
		* @param id String the id of the element that will be used to initiate the drag. 
		*/
		setHandleElId?( id?:string ): void;
		/** [Method] Stores the initial placement of the linked element  
		* @param diffX Number the X offset, default 0 
		* @param diffY Number the Y offset, default 0 
		*/
		setInitPosition?( diffX?:number, diffY?:number ): void;
		/** [Method] Allows you to set an element outside of the linked element as a drag handle 
		* @param id String the id of the element that will be used to initiate the drag 
		*/
		setOuterHandleElId?( id?:string ): void;
		/** [Method] Configures the padding for the target zone in px  
		* @param iTop Number Top pad 
		* @param iRight Number Right pad 
		* @param iBot Number Bot pad 
		* @param iLeft Number Left pad 
		*/
		setPadding?( iTop?:number, iRight?:number, iBot?:number, iLeft?:number ): void;
		/** [Method] By default the element can be dragged any place on the screen  
		* @param iLeft Number the number of pixels the element can move to the left 
		* @param iRight Number the number of pixels the element can move to the right 
		* @param iTickSize Number parameter for specifying that the element should move iTickSize pixels at a time. 
		*/
		setXConstraint?( iLeft?:number, iRight?:number, iTickSize?:number ): void;
		/** [Method] By default the element can be dragged any place on the screen  
		* @param iUp Number the number of pixels the element can move up 
		* @param iDown Number the number of pixels the element can move down 
		* @param iTickSize Number parameter for specifying that the element should move iTickSize pixels at a time. 
		*/
		setYConstraint?( iUp?:number, iDown?:number, iTickSize?:number ): void;
		/** [Method] Abstract method called after a drag drop object is clicked and the drag or mousedown time thresholds have beeen met  
		* @param x Number X click location 
		* @param y Number Y click location 
		*/
		startDrag?( x?:number, y?:number ): void;
		/** [Method] toString method 
		* @returns String string representation of the dd obj 
		*/
		toString?(): string;
		/** [Method] Unlocks this instace */
		unlock?(): void;
		/** [Method] Removes all drag and drop hooks for this element */
		unreg?(): void;
	}
}
declare module Ext.dd {
	export interface IDragDropElement {
		/** [Method] Returns the X position of an html element 
		* @param el HTMLElement the element for which to get the position 
		* @returns Number the X coordinate 
		*/
		getPosX?( el?:HTMLElement ): number;
		/** [Method] Returns the Y position of an html element 
		* @param el HTMLElement the element for which to get the position 
		* @returns Number the Y coordinate 
		*/
		getPosY?( el?:HTMLElement ): number;
		/** [Method] Gets the scrollLeft 
		* @returns Number the document's scrollTop 
		*/
		getScrollLeft?(): number;
		/** [Method] Gets the scrollTop 
		* @returns Number the document's scrollTop 
		*/
		getScrollTop?(): number;
		/** [Method] Returns the specified element style property 
		* @param el HTMLElement the element 
		* @param styleProp String the style property 
		* @returns String The value of the style property 
		*/
		getStyle?( el?:HTMLElement, styleProp?:string ): string;
		/** [Method] Recursively searches the immediate parent and all child nodes for the handle element in order to determine wheter or 
		* @param node HTMLElement the html element to inspect 
		*/
		handleWasClicked?( node?:HTMLElement ): void;
		/** [Method] Sets the x y position of an element to the location of the target element  
		* @param moveEl HTMLElement The element to move 
		* @param targetEl HTMLElement The position reference element 
		*/
		moveToEl?( moveEl?:HTMLElement, targetEl?:HTMLElement ): void;
		/** [Method] Numeric array sort function 
		* @param a Number 
		* @param b Number 
		* @returns Number positive, negative or 0 
		*/
		numericSort?( a?:number, b?:number ): number;
		/** [Method] Swap two nodes  
		* @param n1 HTMLElement the first node to swap 
		* @param n2 HTMLElement the other node to swap 
		*/
		swapNode?( n1?:HTMLElement, n2?:HTMLElement ): void;
	}
}
declare module Ext.dd.dragdropmanager {
	export interface IElementWrapper {
		/** [Property] (Object) */
		css?: any;
		/** [Property] (Object) */
		el?: any;
		/** [Property] (Object) */
		id?: any;
	}
}
declare module Ext.dd {
	export interface IDragDropManager extends Ext.IBase {
	}
	export class DragDropManager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Helper function for getting the best match from the list of drag and drop objects returned by the drag and drop event  
		* @param dds Ext.dd.DragDrop[] The array of drag and drop objects targeted 
		* @returns Ext.dd.DragDrop The best single match 
		*/
		static getBestMatch( dds?:Ext.dd.IDragDrop[] ): Ext.dd.IDragDrop;
		/** [Method] Returns the style property for the DOM element i e  document getElById id style  
		* @param id String the id of the elment to get 
		* @returns Object The style property of the element 
		*/
		static getCss( id?:string ): any;
		/** [Method] Returns the DragDrop instance for a given id 
		* @param id String the id of the DragDrop object 
		* @returns Ext.dd.DragDrop the drag drop object, null if it is not found 
		*/
		static getDDById( id?:string ): Ext.dd.IDragDrop;
		/** [Method] Returns the actual DOM element 
		* @param id String the id of the elment to get 
		* @returns Object The element 
		*/
		static getElement( id?:string ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Returns a Region object containing the drag and drop element s position and size including the padding configured fo  
		* @param oDD Ext.dd.DragDrop the drag and drop object to get the location for. 
		* @returns Ext.util.Region a Region object representing the total area the element occupies, including any padding the instance is configured for. 
		*/
		static getLocation( oDD?:Ext.dd.IDragDrop ): Ext.util.IRegion;
		/** [Method] Returns the drag and drop instances that are in all groups the passed in instance belongs to  
		* @param p_oDD Ext.dd.DragDrop the obj to get related data for 
		* @param bTargetsOnly Boolean if true, only return targetable objs 
		* @returns Ext.dd.DragDrop[] the related instances 
		*/
		static getRelated( p_oDD?:Ext.dd.IDragDrop, bTargetsOnly?:boolean ): Ext.dd.IDragDrop[];
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Utility function to determine if a given element has been registered as a drag drop item  
		* @param id String the element id to check 
		* @returns Boolean true if this element is a DragDrop item, false otherwise 
		*/
		static isDragDrop( id?:string ): boolean;
		/** [Method] Utility function to determine if a given element has been registered as a drag drop handle for the given Drag Drop ob  
		* @param id String the element id to check 
		* @returns Boolean true if this element is a DragDrop handle, false otherwise 
		*/
		static isHandle( id?:string ): boolean;
		/** [Method] Returns true if the specified dd target is a legal target for the specifice drag obj 
		* @param oDD Ext.dd.DragDrop the drag obj 
		* @param oTargetDD Ext.dd.DragDrop the target 
		* @returns Boolean true if the target is a legal target for the dd obj 
		*/
		static isLegalTarget( oDD?:Ext.dd.IDragDrop, oTargetDD?:Ext.dd.IDragDrop ): boolean;
		/** [Method] Is drag and drop locked  
		* @returns Boolean True if drag and drop is locked, false otherwise. 
		*/
		static isLocked(): boolean;
		/** [Method] My goal is to be able to transparently determine if an object is typeof DragDrop and the exact subclass of DragDrop  
		* @param the Object object to evaluate 
		* @returns Boolean true if typeof oDD = DragDrop 
		*/
		static isTypeOfDD( the?:any ): boolean;
		/** [Method] Lock all drag and drop functionality */
		static lock(): void;
		/** [Method] Refreshes the cache of the top left and bottom right points of the drag and drop objects in the specified group s 
		* @param groups Object an associative array of groups to refresh 
		*/
		static refreshCache( groups?:any ): void;
		/** [Method] Each DragDrop instance must be registered with the DragDropManager  
		* @param oDD Ext.dd.DragDrop the DragDrop object to register 
		* @param sGroup String the name of the group this element belongs to 
		*/
		static regDragDrop( oDD?:Ext.dd.IDragDrop, sGroup?:string ): void;
		/** [Method] Each DragDrop handle element must be registered  
		* @param sDDId String the DragDrop id this element is a handle for 
		* @param sHandleId String the id of the element that is the drag handle 
		*/
		static regHandle( sDDId?:string, sHandleId?:string ): void;
		/** [Method] Fired when either the drag pixel threshold or the mousedown hold time threshold has been met  
		* @param x Number the X position of the original mousedown 
		* @param y Number the Y position of the original mousedown 
		*/
		static startDrag( x?:number, y?:number ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Utility to stop event propagation and event default if these features are turned on  
		* @param e Event the event as returned by this.getEvent() 
		*/
		static stopEvent( e?:Event ): void;
		/** [Method] Unlock all drag and drop functionality */
		static unlock(): void;
		/** [Method] This checks to make sure an element exists and is in the DOM  
		* @param el HTMLElement the element to check 
		* @returns Boolean true if the element looks usable 
		*/
		static verifyEl( el?:HTMLElement ): boolean;
	}
}
declare module Ext.dd {
	export interface IDragDropMgr extends Ext.IBase {
	}
	export class DragDropMgr {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Helper function for getting the best match from the list of drag and drop objects returned by the drag and drop event  
		* @param dds Ext.dd.DragDrop[] The array of drag and drop objects targeted 
		* @returns Ext.dd.DragDrop The best single match 
		*/
		static getBestMatch( dds?:Ext.dd.IDragDrop[] ): Ext.dd.IDragDrop;
		/** [Method] Returns the style property for the DOM element i e  document getElById id style  
		* @param id String the id of the elment to get 
		* @returns Object The style property of the element 
		*/
		static getCss( id?:string ): any;
		/** [Method] Returns the DragDrop instance for a given id 
		* @param id String the id of the DragDrop object 
		* @returns Ext.dd.DragDrop the drag drop object, null if it is not found 
		*/
		static getDDById( id?:string ): Ext.dd.IDragDrop;
		/** [Method] Returns the actual DOM element 
		* @param id String the id of the elment to get 
		* @returns Object The element 
		*/
		static getElement( id?:string ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Returns a Region object containing the drag and drop element s position and size including the padding configured fo  
		* @param oDD Ext.dd.DragDrop the drag and drop object to get the location for. 
		* @returns Ext.util.Region a Region object representing the total area the element occupies, including any padding the instance is configured for. 
		*/
		static getLocation( oDD?:Ext.dd.IDragDrop ): Ext.util.IRegion;
		/** [Method] Returns the drag and drop instances that are in all groups the passed in instance belongs to  
		* @param p_oDD Ext.dd.DragDrop the obj to get related data for 
		* @param bTargetsOnly Boolean if true, only return targetable objs 
		* @returns Ext.dd.DragDrop[] the related instances 
		*/
		static getRelated( p_oDD?:Ext.dd.IDragDrop, bTargetsOnly?:boolean ): Ext.dd.IDragDrop[];
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Utility function to determine if a given element has been registered as a drag drop item  
		* @param id String the element id to check 
		* @returns Boolean true if this element is a DragDrop item, false otherwise 
		*/
		static isDragDrop( id?:string ): boolean;
		/** [Method] Utility function to determine if a given element has been registered as a drag drop handle for the given Drag Drop ob  
		* @param id String the element id to check 
		* @returns Boolean true if this element is a DragDrop handle, false otherwise 
		*/
		static isHandle( id?:string ): boolean;
		/** [Method] Returns true if the specified dd target is a legal target for the specifice drag obj 
		* @param oDD Ext.dd.DragDrop the drag obj 
		* @param oTargetDD Ext.dd.DragDrop the target 
		* @returns Boolean true if the target is a legal target for the dd obj 
		*/
		static isLegalTarget( oDD?:Ext.dd.IDragDrop, oTargetDD?:Ext.dd.IDragDrop ): boolean;
		/** [Method] Is drag and drop locked  
		* @returns Boolean True if drag and drop is locked, false otherwise. 
		*/
		static isLocked(): boolean;
		/** [Method] My goal is to be able to transparently determine if an object is typeof DragDrop and the exact subclass of DragDrop  
		* @param the Object object to evaluate 
		* @returns Boolean true if typeof oDD = DragDrop 
		*/
		static isTypeOfDD( the?:any ): boolean;
		/** [Method] Lock all drag and drop functionality */
		static lock(): void;
		/** [Method] Refreshes the cache of the top left and bottom right points of the drag and drop objects in the specified group s 
		* @param groups Object an associative array of groups to refresh 
		*/
		static refreshCache( groups?:any ): void;
		/** [Method] Each DragDrop instance must be registered with the DragDropManager  
		* @param oDD Ext.dd.DragDrop the DragDrop object to register 
		* @param sGroup String the name of the group this element belongs to 
		*/
		static regDragDrop( oDD?:Ext.dd.IDragDrop, sGroup?:string ): void;
		/** [Method] Each DragDrop handle element must be registered  
		* @param sDDId String the DragDrop id this element is a handle for 
		* @param sHandleId String the id of the element that is the drag handle 
		*/
		static regHandle( sDDId?:string, sHandleId?:string ): void;
		/** [Method] Fired when either the drag pixel threshold or the mousedown hold time threshold has been met  
		* @param x Number the X position of the original mousedown 
		* @param y Number the Y position of the original mousedown 
		*/
		static startDrag( x?:number, y?:number ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Utility to stop event propagation and event default if these features are turned on  
		* @param e Event the event as returned by this.getEvent() 
		*/
		static stopEvent( e?:Event ): void;
		/** [Method] Unlock all drag and drop functionality */
		static unlock(): void;
		/** [Method] This checks to make sure an element exists and is in the DOM  
		* @param el HTMLElement the element to check 
		* @returns Boolean true if the element looks usable 
		*/
		static verifyEl( el?:HTMLElement ): boolean;
	}
}
declare module Ext.dd {
	export interface IDDM extends Ext.IBase {
	}
	export class DDM {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Helper function for getting the best match from the list of drag and drop objects returned by the drag and drop event  
		* @param dds Ext.dd.DragDrop[] The array of drag and drop objects targeted 
		* @returns Ext.dd.DragDrop The best single match 
		*/
		static getBestMatch( dds?:Ext.dd.IDragDrop[] ): Ext.dd.IDragDrop;
		/** [Method] Returns the style property for the DOM element i e  document getElById id style  
		* @param id String the id of the elment to get 
		* @returns Object The style property of the element 
		*/
		static getCss( id?:string ): any;
		/** [Method] Returns the DragDrop instance for a given id 
		* @param id String the id of the DragDrop object 
		* @returns Ext.dd.DragDrop the drag drop object, null if it is not found 
		*/
		static getDDById( id?:string ): Ext.dd.IDragDrop;
		/** [Method] Returns the actual DOM element 
		* @param id String the id of the elment to get 
		* @returns Object The element 
		*/
		static getElement( id?:string ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Returns a Region object containing the drag and drop element s position and size including the padding configured fo  
		* @param oDD Ext.dd.DragDrop the drag and drop object to get the location for. 
		* @returns Ext.util.Region a Region object representing the total area the element occupies, including any padding the instance is configured for. 
		*/
		static getLocation( oDD?:Ext.dd.IDragDrop ): Ext.util.IRegion;
		/** [Method] Returns the drag and drop instances that are in all groups the passed in instance belongs to  
		* @param p_oDD Ext.dd.DragDrop the obj to get related data for 
		* @param bTargetsOnly Boolean if true, only return targetable objs 
		* @returns Ext.dd.DragDrop[] the related instances 
		*/
		static getRelated( p_oDD?:Ext.dd.IDragDrop, bTargetsOnly?:boolean ): Ext.dd.IDragDrop[];
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Utility function to determine if a given element has been registered as a drag drop item  
		* @param id String the element id to check 
		* @returns Boolean true if this element is a DragDrop item, false otherwise 
		*/
		static isDragDrop( id?:string ): boolean;
		/** [Method] Utility function to determine if a given element has been registered as a drag drop handle for the given Drag Drop ob  
		* @param id String the element id to check 
		* @returns Boolean true if this element is a DragDrop handle, false otherwise 
		*/
		static isHandle( id?:string ): boolean;
		/** [Method] Returns true if the specified dd target is a legal target for the specifice drag obj 
		* @param oDD Ext.dd.DragDrop the drag obj 
		* @param oTargetDD Ext.dd.DragDrop the target 
		* @returns Boolean true if the target is a legal target for the dd obj 
		*/
		static isLegalTarget( oDD?:Ext.dd.IDragDrop, oTargetDD?:Ext.dd.IDragDrop ): boolean;
		/** [Method] Is drag and drop locked  
		* @returns Boolean True if drag and drop is locked, false otherwise. 
		*/
		static isLocked(): boolean;
		/** [Method] My goal is to be able to transparently determine if an object is typeof DragDrop and the exact subclass of DragDrop  
		* @param the Object object to evaluate 
		* @returns Boolean true if typeof oDD = DragDrop 
		*/
		static isTypeOfDD( the?:any ): boolean;
		/** [Method] Lock all drag and drop functionality */
		static lock(): void;
		/** [Method] Refreshes the cache of the top left and bottom right points of the drag and drop objects in the specified group s 
		* @param groups Object an associative array of groups to refresh 
		*/
		static refreshCache( groups?:any ): void;
		/** [Method] Each DragDrop instance must be registered with the DragDropManager  
		* @param oDD Ext.dd.DragDrop the DragDrop object to register 
		* @param sGroup String the name of the group this element belongs to 
		*/
		static regDragDrop( oDD?:Ext.dd.IDragDrop, sGroup?:string ): void;
		/** [Method] Each DragDrop handle element must be registered  
		* @param sDDId String the DragDrop id this element is a handle for 
		* @param sHandleId String the id of the element that is the drag handle 
		*/
		static regHandle( sDDId?:string, sHandleId?:string ): void;
		/** [Method] Fired when either the drag pixel threshold or the mousedown hold time threshold has been met  
		* @param x Number the X position of the original mousedown 
		* @param y Number the Y position of the original mousedown 
		*/
		static startDrag( x?:number, y?:number ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Utility to stop event propagation and event default if these features are turned on  
		* @param e Event the event as returned by this.getEvent() 
		*/
		static stopEvent( e?:Event ): void;
		/** [Method] Unlock all drag and drop functionality */
		static unlock(): void;
		/** [Method] This checks to make sure an element exists and is in the DOM  
		* @param el HTMLElement the element to check 
		* @returns Boolean true if the element looks usable 
		*/
		static verifyEl( el?:HTMLElement ): boolean;
	}
}
declare module Ext.dd {
	export interface IDragSource extends Ext.dd.IDDProxy {
		/** [Config Option] (Boolean) */
		animRepair?: boolean;
		/** [Config Option] (String) */
		ddGroup?: string;
		/** [Config Option] (String) */
		dropAllowed?: string;
		/** [Config Option] (String) */
		dropNotAllowed?: string;
		/** [Config Option] (String) */
		repairHighlightColor?: string;
		/** [Property] (Object) */
		dragData?: any;
		/** [Method] An empty function by default but provided so that you can perform a custom action after a valid drag drop has occurr  
		* @param target Ext.dd.DragDrop The drop target 
		* @param e Event The event object 
		* @param id String The id of the dropped element 
		*/
		afterDragDrop?( target?:Ext.dd.IDragDrop, e?:Event, id?:string ): void;
		/** [Method] An empty function by default but provided so that you can perform a custom action when the dragged item enters the d  
		* @param target Ext.dd.DragDrop The drop target 
		* @param e Event The event object 
		* @param id String The id of the dragged element 
		*/
		afterDragEnter?( target?:Ext.dd.IDragDrop, e?:Event, id?:string ): void;
		/** [Method] An empty function by default but provided so that you can perform a custom action after the dragged item is dragged 
		* @param target Ext.dd.DragDrop The drop target 
		* @param e Event The event object 
		* @param id String The id of the dragged element 
		*/
		afterDragOut?( target?:Ext.dd.IDragDrop, e?:Event, id?:string ): void;
		/** [Method] An empty function by default but provided so that you can perform a custom action while the dragged item is over the  
		* @param target Ext.dd.DragDrop The drop target 
		* @param e Event The event object 
		* @param id String The id of the dragged element 
		*/
		afterDragOver?( target?:Ext.dd.IDragDrop, e?:Event, id?:string ): void;
		/** [Method] An empty function by default but provided so that you can perform a custom action after an invalid drop has occurred  
		* @param e Event The event object 
		* @param id String The id of the dropped element 
		*/
		afterInvalidDrop?( e?:Event, id?:string ): void;
		/** [Method] An empty function by default but provided so that you can perform a custom action after a valid drop has occurred by  
		* @param target Object The target DD 
		* @param e Event The event object 
		* @param id String The id of the dropped element 
		*/
		afterValidDrop?( target?:any, e?:Event, id?:string ): void;
		/** [Method] Sets the element to the location of the mousedown or click event maintaining the cursor location relative to the loc  */
		alignElWithMouse?(): void;
		/** [Method] An empty function by default but provided so that you can perform a custom action before the dragged item is dropped  
		* @param target Ext.dd.DragDrop The drop target 
		* @param e Event The event object 
		* @param id String The id of the dragged element 
		* @returns Boolean isValid True if the drag drop event is valid, else false to cancel 
		*/
		beforeDragDrop?( target?:Ext.dd.IDragDrop, e?:Event, id?:string ): boolean;
		/** [Method] An empty function by default but provided so that you can perform a custom action before the dragged item enters the  
		* @param target Ext.dd.DragDrop The drop target 
		* @param e Event The event object 
		* @param id String The id of the dragged element 
		* @returns Boolean isValid True if the drag event is valid, else false to cancel 
		*/
		beforeDragEnter?( target?:Ext.dd.IDragDrop, e?:Event, id?:string ): boolean;
		/** [Method] An empty function by default but provided so that you can perform a custom action before the dragged item is dragged  
		* @param target Ext.dd.DragDrop The drop target 
		* @param e Event The event object 
		* @param id String The id of the dragged element 
		* @returns Boolean isValid True if the drag event is valid, else false to cancel 
		*/
		beforeDragOut?( target?:Ext.dd.IDragDrop, e?:Event, id?:string ): boolean;
		/** [Method] An empty function by default but provided so that you can perform a custom action while the dragged item is over the  
		* @param target Ext.dd.DragDrop The drop target 
		* @param e Event The event object 
		* @param id String The id of the dragged element 
		* @returns Boolean isValid True if the drag event is valid, else false to cancel 
		*/
		beforeDragOver?( target?:Ext.dd.IDragDrop, e?:Event, id?:string ): boolean;
		/** [Method] An empty function by default but provided so that you can perform a custom action after an invalid drop has occurred  
		* @param target Ext.dd.DragDrop The drop target 
		* @param e Event The event object 
		* @param id String The id of the dragged element 
		* @returns Boolean isValid True if the invalid drop should proceed, else false to cancel 
		*/
		beforeInvalidDrop?( target?:Ext.dd.IDragDrop, e?:Event, id?:string ): boolean;
		/** [Method] Destroy this DragDrop instance */
		destroy?(): void;
		/** [Method] Returns the data object associated with this drag source 
		* @param e Object 
		* @returns Object data An object containing arbitrary data 
		*/
		getDragData?( e?:any ): any;
		/** [Method] Returns the drag source s underlying Ext dd StatusProxy 
		* @returns Ext.dd.StatusProxy proxy The StatusProxy 
		*/
		getProxy?(): Ext.dd.IStatusProxy;
		/** [Method] Hides the drag source s Ext dd StatusProxy */
		hideProxy?(): void;
		/** [Method] An empty function by default but provided so that you can perform a custom action before the initial drag event begi  
		* @param data Object An object containing arbitrary data to be shared with drop targets 
		* @param e Event The event object 
		* @returns Boolean isValid True if the drag event is valid, else false to cancel 
		*/
		onBeforeDrag?( data?:any, e?:Event ): boolean;
		/** [Method] An empty function by default but provided so that you can perform a custom action once the initial drag event has be  
		* @param x Number The x position of the click on the dragged object 
		* @param y Number The y position of the click on the dragged object 
		*/
		onStartDrag?( x?:number, y?:number ): void;
	}
}
declare module Ext.dd {
	export interface IDragTracker extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Boolean/Number) */
		autoStart?: any;
		/** [Config Option] (Ext.util.Region/Ext.Element) */
		constrainTo?: any;
		/** [Config Option] (String) */
		delegate?: string;
		/** [Config Option] (String) */
		overCls?: string;
		/** [Config Option] (Boolean) */
		preventDefault?: boolean;
		/** [Config Option] (Boolean) */
		stopEvent?: boolean;
		/** [Config Option] (Number) */
		tolerance?: number;
		/** [Config Option] (Boolean) */
		trackOver?: boolean;
		/** [Property] (Boolean) */
		active?: boolean;
		/** [Property] (HTMLElement) */
		dragTarget?: HTMLElement;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the drag target  
		* @returns Ext.Element The element currently being tracked. 
		*/
		getDragTarget?(): Ext.IElement;
		/** [Method] Returns the X Y offset of the current mouse position from the mousedown point  
		* @param constrainMode String If omitted the true mouse position is returned. May be passed as point or dragTarget. See above. 
		* @returns Number[] The X, Y offset from the mousedown point, optionally constrained. 
		*/
		getOffset?( constrainMode?:string ): number[];
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Initializes the DragTracker on a given element  
		* @param el Ext.Element/HTMLElement The element 
		*/
		initEl?( el?:any ): void;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Template method which should be overridden by each DragTracker instance  
		* @param e Ext.EventObject The event object 
		*/
		onBeforeStart?( e?:Ext.IEventObject ): void;
		/** [Method] Template method which should be overridden by each DragTracker instance  
		* @param e Ext.EventObject The event object 
		*/
		onDrag?( e?:Ext.IEventObject ): void;
		/** [Method] Template method which should be overridden by each DragTracker instance  
		* @param e Ext.EventObject The event object 
		*/
		onEnd?( e?:Ext.IEventObject ): void;
		/** [Method] Template method which should be overridden by each DragTracker instance  
		* @param e Ext.EventObject The event object 
		*/
		onStart?( e?:Ext.IEventObject ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.dd {
	export interface IDragZone extends Ext.dd.IDragSource {
		/** [Config Option] (Object/Boolean) */
		containerScroll?: any;
		/** [Config Option] (String/HTMLElement/Ext.dom.Element) */
		scrollEl?: any;
		/** [Method] Destroy this DragDrop instance */
		destroy?(): void;
		/** [Method] Called when a mousedown occurs in this container  
		* @param e Event The mouse down event 
		* @returns Object The dragData 
		*/
		getDragData?( e?:Event ): any;
		/** [Method] Called before a repair of an invalid drop to get the XY to animate to  
		* @param e Event The mouse up event 
		* @returns Number[] The xy location (e.g. [100, 200]) 
		*/
		getRepairXY?( e?:Event ): number[];
		/** [Method] Called once drag threshold has been reached to initialize the proxy element  
		* @param x Number The x position of the click on the dragged object 
		* @param y Number The y position of the click on the dragged object 
		* @returns Boolean true to continue the drag, false to cancel 
		*/
		onInitDrag?( x?:number, y?:number ): boolean;
	}
}
declare module Ext.dd {
	export interface IDropTarget extends Ext.dd.IDDTarget {
		/** [Config Option] (String) */
		ddGroup?: string;
		/** [Config Option] (String) */
		dropAllowed?: string;
		/** [Config Option] (String) */
		dropNotAllowed?: string;
		/** [Config Option] (String) */
		overClass?: string;
		/** [Property] (Boolean) */
		isTarget?: boolean;
		/** [Method] Destroy this DragDrop instance */
		destroy?(): void;
		/** [Method] The function a Ext dd DragSource calls once to notify this drop target that the dragged item has been dropped on it  
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop target 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		* @returns Boolean False if the drop was invalid. 
		*/
		notifyDrop?( source?:Ext.dd.IDragSource, e?:Event, data?:any ): boolean;
		/** [Method] The function a Ext dd DragSource calls once to notify this drop target that the source is now over the target  
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop target 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		notifyEnter?( source?:Ext.dd.IDragSource, e?:Event, data?:any ): string;
		/** [Method] The function a Ext dd DragSource calls once to notify this drop target that the source has been dragged out of the ta  
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop target 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		*/
		notifyOut?( source?:Ext.dd.IDragSource, e?:Event, data?:any ): void;
		/** [Method] The function a Ext dd DragSource calls continuously while it is being dragged over the target  
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop target 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		notifyOver?( source?:Ext.dd.IDragSource, e?:Event, data?:any ): string;
	}
}
declare module Ext.dd {
	export interface IDropZone extends Ext.dd.IDropTarget {
		/** [Method] Returns a custom data object associated with the DOM node that is the target of the event  
		* @param e Event The event 
		* @returns Object data The custom data 
		*/
		getTargetFromEvent?( e?:Event ): any;
		/** [Method] The function a Ext dd DragSource calls once to notify this drop zone that the dragged item has been dropped on it  
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop zone 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		* @returns Boolean False if the drop was invalid. 
		*/
		notifyDrop?( source?:Ext.dd.IDragSource, e?:Event, data?:any ): boolean;
		/** [Method] The function a Ext dd DragSource calls once to notify this drop zone that the source is now over the zone  
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop zone 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		notifyEnter?( source?:Ext.dd.IDragSource, e?:Event, data?:any ): string;
		/** [Method] The function a Ext dd DragSource calls once to notify this drop zone that the source has been dragged out of the zone  
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop target 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag zone 
		*/
		notifyOut?( source?:Ext.dd.IDragSource, e?:Event, data?:any ): void;
		/** [Method] The function a Ext dd DragSource calls continuously while it is being dragged over the drop zone  
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop zone 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		notifyOver?( source?:Ext.dd.IDragSource, e?:Event, data?:any ): string;
		/** [Method] Called when the DropZone determines that a Ext dd DragSource has been dropped on it but not on any of its registered  
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop zone 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		* @returns Boolean True if the drop was valid, else false 
		*/
		onContainerDrop?( source?:Ext.dd.IDragSource, e?:Event, data?:any ): boolean;
		/** [Method] Called while the DropZone determines that a Ext dd DragSource is being dragged over it but not over any of its regis  
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop zone 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		onContainerOver?( source?:Ext.dd.IDragSource, e?:Event, data?:any ): string;
		/** [Method] Called when the DropZone determines that a Ext dd DragSource has been dropped onto the drop node  
		* @param nodeData Object The custom data associated with the drop node (this is the same value returned from getTargetFromEvent for this node) 
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop zone 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		* @returns Boolean True if the drop was valid, else false 
		*/
		onNodeDrop?( nodeData?:any, source?:Ext.dd.IDragSource, e?:Event, data?:any ): boolean;
		/** [Method] Called when the DropZone determines that a Ext dd DragSource has entered a drop node that has either been registered 
		* @param nodeData Object The custom data associated with the drop node (this is the same value returned from getTargetFromEvent for this node) 
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop zone 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		*/
		onNodeEnter?( nodeData?:any, source?:Ext.dd.IDragSource, e?:Event, data?:any ): void;
		/** [Method] Called when the DropZone determines that a Ext dd DragSource has been dragged out of the drop node without dropping  
		* @param nodeData Object The custom data associated with the drop node (this is the same value returned from getTargetFromEvent for this node) 
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop zone 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		*/
		onNodeOut?( nodeData?:any, source?:Ext.dd.IDragSource, e?:Event, data?:any ): void;
		/** [Method] Called while the DropZone determines that a Ext dd DragSource is over a drop node that has either been registered or 
		* @param nodeData Object The custom data associated with the drop node (this is the same value returned from getTargetFromEvent for this node) 
		* @param source Ext.dd.DragSource The drag source that was dragged over this drop zone 
		* @param e Event The event 
		* @param data Object An object containing arbitrary data supplied by the drag source 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		onNodeOver?( nodeData?:any, source?:Ext.dd.IDragSource, e?:Event, data?:any ): string;
	}
}
declare module Ext.dd {
	export interface IRegistry extends Ext.IBase {
	}
	export class Registry {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the handle registered for a DOM Node by id 
		* @param id String/HTMLElement The DOM node or id to look up 
		* @returns Object handle The custom handle data 
		*/
		static getHandle( id?:any ): any;
		/** [Method] Returns the handle that is registered for the DOM node that is the target of the event 
		* @param e Event The event 
		* @returns Object handle The custom handle data 
		*/
		static getHandleFromEvent( e?:Event ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Returns a custom data object that is registered for a DOM node by id 
		* @param id String/HTMLElement The DOM node or id to look up 
		* @returns Object data The custom data 
		*/
		static getTarget( id?:any ): any;
		/** [Method] Returns a custom data object that is registered for the DOM node that is the target of the event 
		* @param e Event The event 
		* @returns Object data The custom data 
		*/
		static getTargetFromEvent( e?:Event ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Registers a drag drop element  
		* @param element String/HTMLElement The id or DOM node to register 
		* @param data Object An custom data object that will be passed between the elements that are involved in drag drop operations. You can populate this object with any arbitrary properties that your own code knows how to interpret, plus there are some specific properties known to the Registry that should be populated in the data object (if applicable): 
		*/
		static register( element?:any, data?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Unregister a drag drop element 
		* @param element String/HTMLElement The id or DOM node to unregister 
		*/
		static unregister( element?:any ): void;
	}
}
declare module Ext.dd {
	export interface IScrollManager extends Ext.IBase {
	}
	export class ScrollManager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Manually trigger a cache refresh  */
		static refreshCache(): void;
		/** [Method] Registers new overflow element s to auto scroll 
		* @param el String/HTMLElement/Ext.Element/String[]/HTMLElement[]/Ext.Element[] The id of or the element to be scrolled or an array of either 
		*/
		static register( el?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Unregisters overflow element s so they are no longer scrolled 
		* @param el String/HTMLElement/Ext.Element/String[]/HTMLElement[]/Ext.Element[] The id of or the element to be removed or an array of either 
		*/
		static unregister( el?:any ): void;
	}
}
declare module Ext.dd {
	export interface IStatusProxy extends Ext.IComponent {
		/** [Config Option] (String) */
		dropAllowed?: string;
		/** [Config Option] (String) */
		dropNotAllowed?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Method] Returns the ghost element 
		* @returns Ext.Element el 
		*/
		getGhost?(): Ext.IElement;
		/** [Method] Causes the proxy to return to its position of origin via an animation  
		* @param xy Number[] The XY position of the element ([x, y]) 
		* @param callback Function The function to call after the repair is complete. 
		* @param scope Object The scope (this reference) in which the callback function is executed. Defaults to the browser window. 
		*/
		repair?( xy?:number[], callback?:any, scope?:any ): void;
		/** [Method] Resets the status indicator to the default dropNotAllowed value 
		* @param clearGhost Boolean True to also remove all content from the ghost, false to preserve it 
		*/
		reset?( clearGhost?:boolean ): void;
		/** [Method] Updates the proxy s visual element to indicate the status of whether or not drop is allowed over the current target e  
		* @param cssClass String The css class for the new drop status indicator image 
		*/
		setStatus?( cssClass?:string ): void;
		/** [Method] Stops the repair animation if it s currently running */
		stop?(): void;
		/** [Method] Force the Layer to sync its shadow and shim positions to the element */
		sync?(): void;
		/** [Method] Updates the contents of the ghost element 
		* @param html String/HTMLElement The html that will replace the current innerHTML of the ghost element, or a DOM node to append as the child of the ghost element (in which case the innerHTML will be cleared first). 
		*/
		update?( html?:any ): void;
	}
}
declare module Ext.direct {
	export interface IEvent extends Ext.IBase {
		/** [Method] Return the raw data for this event  
		* @returns Mixed The data from the event 
		*/
		getData?(): any;
		/** [Method] Return the name for this event  
		* @returns String The name of event 
		*/
		getName?(): string;
	}
}
declare module Ext.direct {
	export interface IExceptionEvent extends Ext.direct.IRemotingEvent {
	}
}
declare module Ext.direct {
	export interface IJsonProvider extends Ext.direct.IProvider {
		/** [Method] Create an event from a response object 
		* @param response Object Response object 
		* @returns Ext.direct.Event The event 
		*/
		createEvent?( response?:any ): Ext.direct.IEvent;
		/** [Method] Creates a set of events based on the XHR response 
		* @param response Object The XHR response 
		* @returns Ext.direct.Event[] An array of Ext.direct.Event 
		*/
		createEvents?( response?:any ): Ext.direct.IEvent[];
	}
}
declare module Ext.direct {
	export interface IManager extends Ext.IBase,Ext.util.IObservable {
	}
	export class Manager {
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds an Ext Direct Provider and creates the proxy or stub methods to execute server side methods  
		* @param provider Ext.direct.Provider/Object... Accepts any number of Provider descriptions (an instance or config object for a Provider). Each Provider description instructs Ext.Direct how to create client-side stub methods. 
		*/
		static addProvider( provider?:any ): void;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Retrieves a provider by the id specified when the provider is added  
		* @param id String/Ext.direct.Provider The id of the provider, or the provider instance. 
		*/
		static getProvider( id?:any ): void;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Parses a direct function  
		* @param fn String/Function The direct function 
		* @returns Function The function to use in the direct call. Null if not found 
		*/
		static parseMethod( fn?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Removes the provider  
		* @param provider String/Ext.direct.Provider The provider instance or the id of the provider. 
		* @returns Ext.direct.Provider The provider, null if not found. 
		*/
		static removeProvider( provider?:any ): Ext.direct.IProvider;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext {
	export interface IDirect extends Ext.IBase,Ext.util.IObservable {
	}
	export class Direct {
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds an Ext Direct Provider and creates the proxy or stub methods to execute server side methods  
		* @param provider Ext.direct.Provider/Object... Accepts any number of Provider descriptions (an instance or config object for a Provider). Each Provider description instructs Ext.Direct how to create client-side stub methods. 
		*/
		static addProvider( provider?:any ): void;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Retrieves a provider by the id specified when the provider is added  
		* @param id String/Ext.direct.Provider The id of the provider, or the provider instance. 
		*/
		static getProvider( id?:any ): void;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Parses a direct function  
		* @param fn String/Function The direct function 
		* @returns Function The function to use in the direct call. Null if not found 
		*/
		static parseMethod( fn?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Removes the provider  
		* @param provider String/Ext.direct.Provider The provider instance or the id of the provider. 
		* @returns Ext.direct.Provider The provider, null if not found. 
		*/
		static removeProvider( provider?:any ): Ext.direct.IProvider;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.direct {
	export interface IPollingProvider extends Ext.direct.IJsonProvider {
		/** [Config Option] (Object) */
		baseParams?: any;
		/** [Config Option] (Number) */
		interval?: number;
		/** [Config Option] (String/Function) */
		url?: any;
		/** [Method] Connect to the server side and begin the polling process  */
		connect?(): void;
		/** [Method] Disconnect from the server side and stop the polling process  */
		disconnect?(): void;
		/** [Method] Returns whether or not the server side is currently connected  */
		isConnected?(): void;
	}
}
declare module Ext.direct {
	export interface IProvider extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (String) */
		id?: string;
		/** [Config Option] (String[]) */
		relayedEvents?: string[];
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Abstract method for subclasses to implement  */
		connect?(): void;
		/** [Method] Abstract method for subclasses to implement  */
		disconnect?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Returns whether or not the server side is currently connected  */
		isConnected?(): void;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.direct {
	export interface IRemotingEvent extends Ext.direct.IEvent {
		/** [Method] Get the transaction associated with this event  
		* @returns Ext.direct.Transaction The transaction 
		*/
		getTransaction?(): Ext.direct.ITransaction;
	}
}
declare module Ext.direct {
	export interface IRemotingMethod extends Ext.IBase {
		/** [Method] Takes the arguments for the Direct function and splits the arguments from the scope and the callback  
		* @param args Array The arguments passed to the direct call 
		* @returns Object An object with 3 properties: args, callback &amp; scope. 
		*/
		getCallData?( args?:any[] ): any;
	}
}
declare module Ext.direct {
	export interface IRemotingProvider extends Ext.direct.IJsonProvider {
		/** [Config Option] (Object) */
		actions?: any;
		/** [Config Option] (Boolean) */
		disableNestedActions?: boolean;
		/** [Config Option] (Number/Boolean) */
		enableBuffer?: any;
		/** [Config Option] (String) */
		enableUrlEncode?: string;
		/** [Config Option] (Number) */
		maxRetries?: number;
		/** [Config Option] (String/Object) */
		namespace?: any;
		/** [Config Option] (Number) */
		timeout?: number;
		/** [Config Option] (String) */
		url?: string;
		/** [Method] Abstract method for subclasses to implement  */
		connect?(): void;
		/** [Method] Abstract method for subclasses to implement  */
		disconnect?(): void;
		/** [Method] Returns whether or not the server side is currently connected  */
		isConnected?(): void;
	}
}
declare module Ext.direct {
	export interface ITransaction extends Ext.IBase {
		/** [Config Option] (Ext.direct.Provider) */
		provider?: Ext.direct.IProvider;
	}
}
declare module Ext.dom {
	export interface IAbstractElement extends Ext.IBase {
		/** [Property] (String) */
		defaultUnit?: string;
		/** [Property] (HTMLElement) */
		dom?: HTMLElement;
		/** [Property] (String) */
		id?: string;
		/** [Property] (Number) */
		ASCLASS?: number;
		/** [Property] (Number) */
		DISPLAY?: number;
		/** [Property] (Number) */
		OFFSETS?: number;
		/** [Property] (Number) */
		VISIBILITY?: number;
		/** [Method] Adds one or more CSS classes to the element  
		* @param className String/String[] The CSS classes to add separated by space, or an array of classes 
		* @returns Ext.dom.Element this 
		*/
		addCls?( className?:any ): Ext.dom.IElement;
		/** [Method] Appends the passed element s to this element Defined in override Ext dom AbstractElement_insertion  
		* @param el String/HTMLElement/Ext.dom.AbstractElement/Object The id or element to insert or a DomHelper config The id of the node, a DOM Node or an existing Element. 
		* @param returnDom Boolean True to return the raw DOM element instead of Ext.dom.AbstractElement 
		* @returns Ext.dom.AbstractElement The inserted Element. 
		*/
		appendChild?( el?:any, returnDom?:boolean ): Ext.dom.IAbstractElement;
		/** [Method] Appends this element to the passed element Defined in override Ext dom AbstractElement_insertion  
		* @param el String/HTMLElement/Ext.dom.AbstractElement The new parent element. The id of the node, a DOM Node or an existing Element. 
		* @returns Ext.dom.AbstractElement This element 
		*/
		appendTo?( el?:any ): Ext.dom.IAbstractElement;
		/** [Method] More flexible version of setStyle for setting style properties  
		* @param styles String/Object/Function A style specification string, e.g. "width:100px", or object in the form {width:"100px"}, or a function which returns such a specification. 
		* @returns Ext.dom.Element this 
		*/
		applyStyles?( styles?:any ): Ext.dom.IElement;
		/** [Method] Selects a single direct child based on the passed CSS selector the selector should not contain an id 
		* @param selector String The CSS selector 
		* @param returnDom Boolean True to return the DOM node instead of Ext.dom.Element. 
		* @returns HTMLElement/Ext.dom.Element The child Ext.dom.Element (or DOM node if returnDom = true) 
		*/
		child?( selector?:string, returnDom?:boolean ): any;
		/** [Method] Returns true if this element is an ancestor of the passed element 
		* @param el HTMLElement/String The element to check 
		* @returns Boolean True if this element is an ancestor of el, else false 
		*/
		contains?( el?:any ): boolean;
		/** [Method] Creates the passed DomHelper config and appends it to this element or optionally inserts it before the passed child e  
		* @param config Object DomHelper element config object. If no tag is specified (e.g., {tag:'input'}) then a div will be automatically generated with the specified attributes. 
		* @param insertBefore HTMLElement a child element of this element 
		* @param returnDom Boolean true to return the dom node instead of creating an Element 
		* @returns Ext.dom.AbstractElement The new child element 
		*/
		createChild?( config?:any, insertBefore?:HTMLElement, returnDom?:boolean ): Ext.dom.IAbstractElement;
		/** [Method] Alias to remove  */
		destroy?(): void;
		/** [Method] Selects a single child at any depth below this element based on the passed CSS selector the selector should not cont  
		* @param selector String The CSS selector 
		* @param returnDom Boolean True to return the DOM node instead of Ext.dom.Element 
		* @returns HTMLElement/Ext.dom.Element The child Ext.dom.Element (or DOM node if returnDom = true) 
		*/
		down?( selector?:string, returnDom?:boolean ): any;
		/** [Method] Looks at this node and then at parent nodes for a match of the passed simple selector e g  
		* @param selector String The simple selector to test 
		* @param limit Number/String/HTMLElement/Ext.Element The max depth to search as a number or an element which causes the upward traversal to stop and is not considered for inclusion as the result. (defaults to 50 || document.documentElement) 
		* @param returnEl Boolean True to return a Ext.Element object instead of DOM node 
		* @returns HTMLElement The matching DOM node (or null if no match was found) 
		*/
		findParent?( selector?:string, limit?:any, returnEl?:boolean ): HTMLElement;
		/** [Method] Looks at parent nodes for a match of the passed simple selector e g  
		* @param selector String The simple selector to test 
		* @param limit Number/String/HTMLElement/Ext.Element The max depth to search as a number or an element which causes the upward traversal to stop and is not considered for inclusion as the result. (defaults to 50 || document.documentElement) 
		* @param returnEl Boolean True to return a Ext.Element object instead of DOM node 
		* @returns HTMLElement The matching DOM node (or null if no match was found) 
		*/
		findParentNode?( selector?:string, limit?:any, returnEl?:boolean ): HTMLElement;
		/** [Method] Gets the first child skipping text nodes Defined in override Ext dom AbstractElement_traversal  
		* @param selector String Find the next sibling that matches the passed simple selector 
		* @param returnDom Boolean True to return a raw dom node instead of an Ext.dom.Element 
		* @returns Ext.dom.Element/HTMLElement The first child or null 
		*/
		first?( selector?:string, returnDom?:boolean ): any;
		/** [Method] Returns the active element in the DOM  
		* @returns HTMLElement The active (focused) element in the document. 
		*/
		getActiveElement?(): HTMLElement;
		/** [Method] Returns the value of an attribute from the element s underlying DOM node  
		* @param name String The attribute name 
		* @param namespace String The namespace in which to look for the attribute 
		* @returns String The attribute value 
		*/
		getAttribute?( name?:string, namespace?:string ): string;
		/** [Method] Gets the width of the border s for the specified side s  Defined in override Ext dom AbstractElement_style  
		* @param side String Can be t, l, r, b or any combination of those to add multiple values. For example, passing 'lr' would get the border left width + the border right width. 
		* @returns Number The width of the sides passed added together 
		*/
		getBorderWidth?( side?:string ): number;
		/** [Method] Returns a child element of this element given its id  
		* @param id String The id of the desired child element. 
		* @param asDom Boolean True to return the DOM element, false to return a wrapped Element object. 
		*/
		getById?( id?:string, asDom?:boolean ): void;
		/** [Method] Returns the innerHTML of an Element or an empty string if the element s dom no longer exists  */
		getHTML?(): void;
		/** [Method] Returns the offset height of the element Defined in override Ext dom AbstractElement_style  
		* @param contentHeight Boolean true to get the height minus borders and padding 
		* @returns Number The element's height 
		*/
		getHeight?( contentHeight?:boolean ): number;
		/** [Method] Returns an object with properties top left right and bottom representing the margins of this element unless sides i  
		* @param sides String Any combination of l, r, t, b to get the sum of those sides 
		* @returns Object/Number 
		*/
		getMargin?( sides?:string ): any;
		/** [Method] Gets the width of the padding s for the specified side s  Defined in override Ext dom AbstractElement_style  
		* @param side String Can be t, l, r, b or any combination of those to add multiple values. For example, passing 'lr' would get the padding left + the padding right. 
		* @returns Number The padding of the sides passed added together 
		*/
		getPadding?( side?:string ): number;
		/** [Method] Returns the size of the element  
		* @param contentSize Boolean true to get the width/size minus borders and padding 
		* @returns Object An object containing the element's size: 
		*/
		getSize?( contentSize?:boolean ): any;
		/** [Method] Returns a named style property based on computed currentStyle primary and inline style if primary is not available  
		* @param property String/String[] The style property (or multiple property names in an array) whose value is returned. 
		* @param inline Boolean if true only inline styles will be returned. 
		* @returns String/Object The current value of the style property for this element (or a hash of named style values if multiple property arguments are requested). 
		*/
		getStyle?( property?:any, inline?:boolean ): any;
		/** [Method] Returns the value of the value attribute 
		* @param asNumber Boolean true to parse the value as a number 
		* @returns String/Number 
		*/
		getValue?( asNumber?:boolean ): any;
		/** [Method] Returns the dimensions of the element available to lay content out in  
		* @returns Object Object describing width and height. 
		*/
		getViewSize?(): any;
		/** [Method] Returns the offset width of the element Defined in override Ext dom AbstractElement_style  
		* @param contentWidth Boolean true to get the width minus borders and padding 
		* @returns Number The element's width 
		*/
		getWidth?( contentWidth?:boolean ): number;
		/** [Method] Checks if the specified CSS class exists on this element s DOM node  
		* @param className String The CSS class to check for 
		* @returns Boolean True if the class exists, else false 
		*/
		hasCls?( className?:string ): boolean;
		/** [Method] Hide this element  Uses display mode to determine whether to use display or visibility 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		hide?( animate?:any ): Ext.dom.IElement;
		/** [Method] Inserts this element after the passed element in the DOM Defined in override Ext dom AbstractElement_insertion  
		* @param el String/HTMLElement/Ext.dom.AbstractElement The element to insert after. The id of the node, a DOM Node or an existing Element. 
		* @returns Ext.dom.AbstractElement This element 
		*/
		insertAfter?( el?:any ): Ext.dom.IAbstractElement;
		/** [Method] Inserts this element before the passed element in the DOM Defined in override Ext dom AbstractElement_insertion  
		* @param el String/HTMLElement/Ext.dom.AbstractElement The element before which this element will be inserted. The id of the node, a DOM Node or an existing Element. 
		* @returns Ext.dom.AbstractElement This element 
		*/
		insertBefore?( el?:any ): Ext.dom.IAbstractElement;
		/** [Method] Inserts or creates an element or DomHelper config as the first child of this element Defined in override Ext dom  
		* @param el String/HTMLElement/Ext.dom.AbstractElement/Object The id or element to insert or a DomHelper config to create and insert 
		* @returns Ext.dom.AbstractElement The new child 
		*/
		insertFirst?( el?:any ): Ext.dom.IAbstractElement;
		/** [Method] Inserts an html fragment into this element Defined in override Ext dom AbstractElement_insertion  
		* @param where String Where to insert the html in relation to this element - beforeBegin, afterBegin, beforeEnd, afterEnd. See Ext.dom.Helper.insertHtml for details. 
		* @param html String The HTML fragment 
		* @param returnEl Boolean True to return an Ext.dom.AbstractElement 
		* @returns HTMLElement/Ext.dom.AbstractElement The inserted node (or nearest related if more than 1 inserted) 
		*/
		insertHtml?( where?:string, html?:string, returnEl?:boolean ): any;
		/** [Method] Inserts or creates the passed element or DomHelper config as a sibling of this element Defined in override Ext d  
		* @param el String/HTMLElement/Ext.dom.AbstractElement/Object/Array The id, element to insert or a DomHelper config to create and insert or an array of any of those. 
		* @param where String 'before' or 'after' 
		* @param returnDom Boolean True to return the raw DOM element instead of Ext.dom.AbstractElement 
		* @returns Ext.dom.AbstractElement The inserted Element. If an array is passed, the last inserted element is returned. 
		*/
		insertSibling?( el?:any, where?:string, returnDom?:boolean ): Ext.dom.IAbstractElement;
		/** [Method] Returns true if this element matches the passed simple selector e g  
		* @param selector String The simple selector to test 
		* @returns Boolean True if this element matches the selector, else false 
		*/
		is?( selector?:string ): boolean;
		/** [Method] Checks if the current value of a style is equal to a given value  
		* @param style String property whose value is returned. 
		* @param value String to check against. 
		* @returns Boolean true for when the current value equals the given value. 
		*/
		isStyle?( style?:string, value?:string ): boolean;
		/** [Method] Returns true if the value of the given property is visually transparent  
		* @param prop String The style property whose value is to be tested. 
		* @returns Boolean True if the style property is visually transparent. 
		*/
		isTransparent?( prop?:string ): boolean;
		/** [Method] Gets the last child skipping text nodes Defined in override Ext dom AbstractElement_traversal  
		* @param selector String Find the previous sibling that matches the passed simple selector 
		* @param returnDom Boolean True to return a raw dom node instead of an Ext.dom.Element 
		* @returns Ext.dom.Element/HTMLElement The last child or null 
		*/
		last?( selector?:string, returnDom?:boolean ): any;
		/** [Method] Puts a mask over this element to disable user interaction  
		* @param msg String A message to display in the mask 
		* @param msgCls String A css class to apply to the msg element 
		*/
		mask?( msg?:string, msgCls?:string ): void;
		/** [Method] Gets the next sibling skipping text nodes Defined in override Ext dom AbstractElement_traversal  
		* @param selector String Find the next sibling that matches the passed simple selector 
		* @param returnDom Boolean True to return a raw dom node instead of an Ext.dom.Element 
		* @returns Ext.dom.Element/HTMLElement The next sibling or null 
		*/
		next?( selector?:string, returnDom?:boolean ): any;
		/** [Method] Gets the parent node for this element optionally chaining up trying to match a selector Defined in override Ext dom  
		* @param selector String Find a parent node that matches the passed simple selector 
		* @param returnDom Boolean True to return a raw dom node instead of an Ext.dom.Element 
		* @returns Ext.dom.Element/HTMLElement The parent node or null 
		*/
		parent?( selector?:string, returnDom?:boolean ): any;
		/** [Method] Gets the previous sibling skipping text nodes Defined in override Ext dom AbstractElement_traversal  
		* @param selector String Find the previous sibling that matches the passed simple selector 
		* @param returnDom Boolean True to return a raw dom node instead of an Ext.dom.Element 
		* @returns Ext.dom.Element/HTMLElement The previous sibling or null 
		*/
		prev?( selector?:string, returnDom?:boolean ): any;
		/** [Method] Selects child nodes based on the passed CSS selector the selector should not contain an id 
		* @param selector String The CSS selector 
		* @returns HTMLElement[] An array of the matched nodes 
		*/
		query?( selector?:string ): HTMLElement[];
		/** [Method] Adds one or more CSS classes to this element and removes the same class es from all siblings  
		* @param className String/String[] The CSS class to add, or an array of classes 
		* @returns Ext.dom.Element this 
		*/
		radioCls?( className?:any ): Ext.dom.IElement;
		/** [Method] Removes this element s dom reference  */
		remove?(): void;
		/** [Method] Removes one or more CSS classes from the element  
		* @param className String/String[] The CSS classes to remove separated by space, or an array of classes 
		* @returns Ext.dom.Element this 
		*/
		removeCls?( className?:any ): Ext.dom.IElement;
		/** [Method] Forces the browser to repaint this element Defined in override Ext dom AbstractElement_style  
		* @returns Ext.dom.Element this 
		*/
		repaint?(): Ext.dom.IElement;
		/** [Method] Replaces the passed element with this element Defined in override Ext dom AbstractElement_insertion  
		* @param el String/HTMLElement/Ext.dom.AbstractElement The element to replace. The id of the node, a DOM Node or an existing Element. 
		* @returns Ext.dom.AbstractElement This element 
		*/
		replace?( el?:any ): Ext.dom.IAbstractElement;
		/** [Method] Replaces a CSS class on the element with another  
		* @param oldClassName String The CSS class to replace 
		* @param newClassName String The replacement CSS class 
		* @returns Ext.dom.Element this 
		*/
		replaceCls?( oldClassName?:string, newClassName?:string ): Ext.dom.IElement;
		/** [Method] Replaces this element with the passed element Defined in override Ext dom AbstractElement_insertion  
		* @param el String/HTMLElement/Ext.dom.AbstractElement/Object The new element (id of the node, a DOM Node or an existing Element) or a DomHelper config of an element to create 
		* @returns Ext.dom.AbstractElement This element 
		*/
		replaceWith?( el?:any ): Ext.dom.IAbstractElement;
		/** [Method] Creates a Ext CompositeElement for child nodes based on the passed CSS selector the selector should not contain an id 
		* @param selector String The CSS selector 
		* @param unique Boolean True to create a unique Ext.Element for each element. Defaults to a shared flyweight object. 
		* @returns Ext.CompositeElement The composite element 
		*/
		select?( selector?:string, unique?:boolean ): Ext.ICompositeElement;
		/** [Method] Serializes a DOM form into a url encoded string Defined in override Ext dom AbstractElement_static  
		* @param form Object The form 
		* @returns String The url encoded form 
		*/
		serializeForm?( form?:any ): string;
		/** [Method] Sets the passed attributes as attributes of this element a style attribute can be a string object or function  
		* @param o Object The object with the attributes 
		* @param useSet Boolean false to override the default setAttribute to use expandos. 
		* @returns Ext.dom.Element this 
		*/
		set?( o?:any, useSet?:boolean ): Ext.dom.IElement;
		/** [Method] Set the innerHTML of this element 
		* @param html String The new HTML 
		* @returns Ext.Element this 
		*/
		setHTML?( html?:string ): Ext.IElement;
		/** [Method] Set the height of this Element  
		* @param height Number/String The new height. This may be one of:  A Number specifying the new height in this Element's defaultUnits (by default, pixels.) A String used to set the CSS height style. Animation may not be used.  
		* @returns Ext.dom.Element this 
		*/
		setHeight?( height?:any ): Ext.dom.IElement;
		/** [Method] Set the size of this Element  
		* @param width Number/String The new width. This may be one of:  A Number specifying the new width in this Element's defaultUnits (by default, pixels). A String used to set the CSS width style. Animation may not be used. A size object in the format {width: widthValue, height: heightValue}.  
		* @param height Number/String The new height. This may be one of:  A Number specifying the new height in this Element's defaultUnits (by default, pixels). A String used to set the CSS height style. Animation may not be used.  
		* @returns Ext.dom.Element this 
		*/
		setSize?( width?:any, height?:any ): Ext.dom.IElement;
		/** [Method] Wrapper for setting style properties also takes single object parameter of multiple styles  
		* @param property String/Object The style property to be set, or an object of multiple styles. 
		* @param value String The value to apply to the given property, or null if an object was passed. 
		* @returns Ext.dom.Element this 
		*/
		setStyle?( property?:any, value?:string ): Ext.dom.IElement;
		/** [Method] Use this to change the visibility mode between VISIBILITY DISPLAY OFFSETS or ASCLASS  
		* @param mode Object 
		* @returns Ext.dom.AbstractElement this 
		*/
		setVisibilityMode?( mode?:any ): Ext.dom.IAbstractElement;
		/** [Method] Sets the visibility of the element see details 
		* @param visible Boolean Whether the element is visible 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		setVisible?( visible?:boolean, animate?:any ): Ext.dom.IElement;
		/** [Method] Set the width of this Element  
		* @param width Number/String The new width. This may be one of:  A Number specifying the new width in this Element's defaultUnits (by default, pixels). A String used to set the CSS width style. Animation may not be used.  
		* @returns Ext.dom.Element this 
		*/
		setWidth?( width?:any ): Ext.dom.IElement;
		/** [Method] Show this element  Uses display mode to determine whether to use display or visibility 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		show?( animate?:any ): Ext.dom.IElement;
		/** [Method] Toggles the specified CSS class on this element removes it if it already exists otherwise adds it 
		* @param className String The CSS class to toggle 
		* @returns Ext.dom.Element this 
		*/
		toggleCls?( className?:string ): Ext.dom.IElement;
		/** [Method] Removes a previously applied mask  */
		unmask?(): void;
		/** [Method] Walks up the DOM looking for a parent node that matches the passed simple selector e g  
		* @param selector String The simple selector to test 
		* @param limit Number/String/HTMLElement/Ext.Element The max depth to search as a number or an element which causes the upward traversal to stop and is not considered for inclusion as the result. (defaults to 50 || document.documentElement) 
		* @param returnDom Boolean True to return the DOM node instead of Ext.dom.Element 
		* @returns Ext.Element The matching DOM node (or null if no match was found) 
		*/
		up?( selector?:string, limit?:any, returnDom?:boolean ): Ext.IElement;
		/** [Method] Update the innerHTML of this element 
		* @param html String The new HTML 
		* @returns Ext.dom.Element this 
		*/
		update?( html?:string ): Ext.dom.IElement;
		/** [Method] Creates and wraps this element with another element Defined in override Ext dom AbstractElement_insertion  
		* @param config Object DomHelper element config object for the wrapper element or null for an empty div 
		* @param returnDom Boolean True to return the raw DOM element instead of Ext.dom.AbstractElement 
		* @param selector String A DomQuery selector to select a descendant node within the created element to use as the wrapping element. 
		* @returns HTMLElement/Ext.dom.AbstractElement The newly created wrapper element 
		*/
		wrap?( config?:any, returnDom?:boolean, selector?:string ): any;
	}
	export class AbstractElement {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Gets the singleton flyweight element with the passed node as the active element  
		* @param dom String/HTMLElement The dom node or id 
		* @param named String Allows for creation of named reusable flyweights to prevent conflicts (e.g. internally Ext uses "_global") 
		* @returns Ext.dom.Element.Fly The singleton flyweight object (or null if no matching element was found) 
		*/
		static fly( dom?:any, named?:string ): Ext.dom.element.IFly;
		/** [Method] Returns the top Element that is located at the passed coordinates Defined in override Ext dom AbstractElement_static  
		* @param x Number The x coordinate 
		* @param y Number The y coordinate 
		* @returns String The found Element 
		*/
		static fromPoint( x?:number, y?:number ): string;
		/** [Method] Retrieves Ext dom Element objects  
		* @param el String/HTMLElement/Ext.Element The id of the node, a DOM Node or an existing Element. 
		* @returns Ext.dom.Element The Element object (or null if no matching element was found) 
		*/
		static get( el?:any ): Ext.dom.IElement;
		/** [Method] Retrieves the document height Defined in override Ext dom AbstractElement_static  
		* @returns Number documentHeight 
		*/
		static getDocumentHeight(): number;
		/** [Method] Retrieves the document width Defined in override Ext dom AbstractElement_static  
		* @returns Number documentWidth 
		*/
		static getDocumentWidth(): number;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Retrieves the current orientation of the window  
		* @returns String Orientation of window: 'portrait' or 'landscape' 
		*/
		static getOrientation(): string;
		/** [Method] Retrieves the viewport size of the window  
		* @returns Object object containing width and height properties 
		*/
		static getViewSize(): any;
		/** [Method] Retrieves the viewport height of the window  
		* @returns Number viewportHeight 
		*/
		static getViewportHeight(): number;
		/** [Method] Retrieves the viewport width of the window  
		* @returns Number viewportWidth 
		*/
		static getViewportWidth(): number;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Returns an array of unique class names based upon the input strings or string arrays  
		* @param clsList1 Mixed A string of class names, or an array of class names. 
		* @param clsList2 Mixed A string of class names, or an array of class names. 
		* @returns Array An array of strings representing remaining unique, merged class names. If class names were added to the first list, the changed property will be true. 
		*/
		static mergeClsList( clsList1?:any, clsList2?:any ): any[];
		/** [Method] Normalizes CSS property keys from dash delimited to camel case JavaScript Syntax  
		* @param prop String The property to normalize 
		* @returns String The normalized string 
		*/
		static normalize( prop?:string ): string;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
		/** [Method] Parses a number or string representing margin sizes into an object  
		* @param box Number/String The encoded margins 
		* @returns Object An object with margin sizes for top, right, bottom and left 
		*/
		static parseBox( box?:any ): any;
		/** [Method] Converts a CSS string into an object with a property for each style  
		* @param styles String A CSS string 
		* @returns Object styles 
		*/
		static parseStyles( styles?:string ): any;
		/** [Method] Returns an array of unique class names deom the first parameter with all class names from the second parameter removed  
		* @param existingClsList Mixed A string of class names, or an array of class names. 
		* @param removeClsList Mixed A string of class names, or an array of class names to remove from existingClsList. 
		* @returns Array An array of strings representing remaining class names. If class names were removed, the changed property will be true. 
		*/
		static removeCls( existingClsList?:any, removeClsList?:any ): any[];
		/** [Method] Parses a number or string representing margin sizes into an object  
		* @param box Number/String/Object The encoded margins, or an object with top, right, bottom, and left properties 
		* @param units String The type of units to add 
		* @returns String An string with unitized (px if units is not specified) metrics for top, right, bottom and left 
		*/
		static unitizeBox( box?:any, units?:string ): string;
	}
}
declare module Ext.dom {
	export interface IAbstractHelper extends Ext.IBase {
		/** [Method] Creates new DOM element s and appends them to el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		append?( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Applies a style specification to an element  
		* @param el String/HTMLElement The element to apply styles to 
		* @param styles String/Object/Function A style specification string e.g. 'width:100px', or object in the form {width:'100px'}, or a function which returns such a specification. 
		*/
		applyStyles?( el?:any, styles?:any ): void;
		/** [Method] Converts the styles from the given object to text  
		* @param styles Object The object describing the styles. 
		* @param buffer String[] The output buffer. 
		* @returns String/String[] If buffer is passed, it is returned. Otherwise the style string is returned. 
		*/
		generateStyles?( styles?:any, buffer?:string[] ): any;
		/** [Method] Creates new DOM element s and inserts them after el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object The DOM object spec (and children) 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		insertAfter?( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Creates new DOM element s and inserts them before el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		insertBefore?( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Creates new DOM element s and inserts them as the first child of el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		insertFirst?( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Inserts an HTML fragment into the DOM  
		* @param where String Where to insert the html in relation to el - beforeBegin, afterBegin, beforeEnd, afterEnd. For example take the following HTML: &lt;div&gt;Contents&lt;/div&gt; Using different where values inserts element to the following places:  beforeBegin: &lt;HERE&gt;&lt;div&gt;Contents&lt;/div&gt; afterBegin: &lt;div&gt;&lt;HERE&gt;Contents&lt;/div&gt; beforeEnd: &lt;div&gt;Contents&lt;HERE&gt;&lt;/div&gt; afterEnd: &lt;div&gt;Contents&lt;/div&gt;&lt;HERE&gt;  
		* @param el HTMLElement/TextNode The context element 
		* @param html String The HTML fragment 
		* @returns HTMLElement The new node 
		*/
		insertHtml?( where?:string, el?:any, html?:string ): HTMLElement;
		/** [Method] Returns the markup for the passed Element s config  
		* @param spec Object The DOM object spec (and children) 
		* @returns String 
		*/
		markup?( spec?:any ): string;
		/** [Method] Creates new DOM element s and overwrites the contents of el with them  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		overwrite?( el?:any, o?:any, returnElement?:boolean ): any;
	}
}
declare module Ext.dom {
	export interface IAbstractQuery extends Ext.IBase {
		/** [Method] Returns true if the passed element s match the passed simple selector e g  
		* @param el String/HTMLElement/Array An element id, element or array of elements 
		* @param selector String The simple selector to test 
		* @returns Boolean 
		*/
		is?( el?:any, selector?:string ): boolean;
		/** [Method] Selects a group of elements  
		* @param selector String The selector/xpath query (can be a comma separated list of selectors) 
		* @param root HTMLElement/String The start of the query (defaults to document). 
		* @returns HTMLElement[] An Array of DOM elements which match the selector. If there are no matches, and empty Array is returned. 
		*/
		select?( selector?:string, root?:any ): HTMLElement[];
		/** [Method] Selects a single element  
		* @param selector String The selector/xpath query 
		* @param root HTMLElement/String The start of the query (defaults to document). 
		* @returns HTMLElement The DOM element which matched the selector. 
		*/
		selectNode?( selector?:string, root?:any ): HTMLElement;
	}
}
declare module Ext.dom {
	export interface ICompositeElement extends Ext.dom.ICompositeElementLite {
	}
}
declare module Ext {
	export interface ICompositeElement extends Ext.dom.ICompositeElementLite {
	}
}
declare module Ext.dom {
	export interface ICompositeElementLite extends Ext.IBase {
		/** [Property] (HTMLElement[]) */
		elements?: HTMLElement[];
		/** [Property] (Boolean) */
		isComposite?: boolean;
		/** [Method] Adds elements to this Composite object  
		* @param els HTMLElement[]/Ext.dom.CompositeElement Either an Array of DOM elements to add, or another Composite object who's elements should be added. 
		* @returns Ext.dom.CompositeElement This Composite object. 
		*/
		add?( els?:any ): Ext.dom.ICompositeElement;
		/** [Method] Removes all elements from this Composite  
		* @param removeDom Boolean True to also remove the elements from the document. 
		*/
		clear?( removeDom?:boolean ): void;
		/** [Method] Returns true if this composite contains the passed element  
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, or an Ext.Element, or an HtmlElement to find within the composite collection. 
		* @returns Boolean 
		*/
		contains?( el?:any ): boolean;
		/** [Method] Calls the passed function for each element in this composite  
		* @param fn Function The function to call. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the Element. 
		* @returns Ext.dom.CompositeElement this 
		*/
		each?( fn?:any, scope?:any ): Ext.dom.ICompositeElement;
		/** [Method] Clears this Composite and adds the elements passed  
		* @param els HTMLElement[]/Ext.dom.CompositeElement Either an array of DOM elements, or another Composite from which to fill this Composite. 
		* @returns Ext.dom.CompositeElement this 
		*/
		fill?( els?:any ): Ext.dom.ICompositeElement;
		/** [Method] Filters this composite to only elements that match the passed selector  
		* @param selector String/Function A string CSS selector or a comparison function. The comparison function will be called with the following arguments: 
		* @returns Ext.dom.CompositeElement this 
		*/
		filter?( selector?:any ): Ext.dom.ICompositeElement;
		/** [Method] Returns the first Element 
		* @returns Ext.dom.Element 
		*/
		first?(): Ext.dom.IElement;
		/** [Method] Returns the number of elements in this Composite  
		* @returns Number 
		*/
		getCount?(): number;
		/** [Method] Find the index of the passed element within the composite collection  
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, or an Ext.dom.Element, or an HtmlElement to find within the composite collection. 
		* @returns Number The index of the passed Ext.dom.Element in the composite collection, or -1 if not found. 
		*/
		indexOf?( el?:any ): number;
		/** [Method] Returns a flyweight Element of the dom element object at the specified index 
		* @param index Number 
		* @returns Ext.dom.Element 
		*/
		item?( index?:number ): Ext.dom.IElement;
		/** [Method] Returns the last Element 
		* @returns Ext.dom.Element 
		*/
		last?(): Ext.dom.IElement;
		/** [Method] Removes the specified element s 
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, the Element itself, the index of the element in this composite or an array of any of those. 
		* @param removeDom Boolean True to also remove the element from the document. 
		* @returns Ext.dom.CompositeElement this 
		*/
		removeElement?( el?:any, removeDom?:boolean ): Ext.dom.ICompositeElement;
		/** [Method] Replaces the specified element with the passed element  
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, the Element itself, the index of the element in this composite to replace. 
		* @param replacement String/Ext.Element The id of an element or the Element itself. 
		* @param domReplace Boolean True to remove and replace the element in the document too. 
		* @returns Ext.dom.CompositeElement this 
		*/
		replaceElement?( el?:any, replacement?:any, domReplace?:boolean ): Ext.dom.ICompositeElement;
		/** [Method] Gets a range nodes  
		* @param start Number The index of the first node in the range 
		* @param end Number The index of the last node in the range 
		* @returns HTMLElement[] An array of nodes 
		*/
		slice?( start?:number, end?:number ): HTMLElement[];
	}
}
declare module Ext {
	export interface ICompositeElementLite extends Ext.IBase {
		/** [Property] (HTMLElement[]) */
		elements?: HTMLElement[];
		/** [Property] (Boolean) */
		isComposite?: boolean;
		/** [Method] Adds elements to this Composite object  
		* @param els HTMLElement[]/Ext.dom.CompositeElement Either an Array of DOM elements to add, or another Composite object who's elements should be added. 
		* @returns Ext.dom.CompositeElement This Composite object. 
		*/
		add?( els?:any ): Ext.dom.ICompositeElement;
		/** [Method] Removes all elements from this Composite  
		* @param removeDom Boolean True to also remove the elements from the document. 
		*/
		clear?( removeDom?:boolean ): void;
		/** [Method] Returns true if this composite contains the passed element  
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, or an Ext.Element, or an HtmlElement to find within the composite collection. 
		* @returns Boolean 
		*/
		contains?( el?:any ): boolean;
		/** [Method] Calls the passed function for each element in this composite  
		* @param fn Function The function to call. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the Element. 
		* @returns Ext.dom.CompositeElement this 
		*/
		each?( fn?:any, scope?:any ): Ext.dom.ICompositeElement;
		/** [Method] Clears this Composite and adds the elements passed  
		* @param els HTMLElement[]/Ext.dom.CompositeElement Either an array of DOM elements, or another Composite from which to fill this Composite. 
		* @returns Ext.dom.CompositeElement this 
		*/
		fill?( els?:any ): Ext.dom.ICompositeElement;
		/** [Method] Filters this composite to only elements that match the passed selector  
		* @param selector String/Function A string CSS selector or a comparison function. The comparison function will be called with the following arguments: 
		* @returns Ext.dom.CompositeElement this 
		*/
		filter?( selector?:any ): Ext.dom.ICompositeElement;
		/** [Method] Returns the first Element 
		* @returns Ext.dom.Element 
		*/
		first?(): Ext.dom.IElement;
		/** [Method] Returns the number of elements in this Composite  
		* @returns Number 
		*/
		getCount?(): number;
		/** [Method] Find the index of the passed element within the composite collection  
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, or an Ext.dom.Element, or an HtmlElement to find within the composite collection. 
		* @returns Number The index of the passed Ext.dom.Element in the composite collection, or -1 if not found. 
		*/
		indexOf?( el?:any ): number;
		/** [Method] Returns a flyweight Element of the dom element object at the specified index 
		* @param index Number 
		* @returns Ext.dom.Element 
		*/
		item?( index?:number ): Ext.dom.IElement;
		/** [Method] Returns the last Element 
		* @returns Ext.dom.Element 
		*/
		last?(): Ext.dom.IElement;
		/** [Method] Removes the specified element s 
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, the Element itself, the index of the element in this composite or an array of any of those. 
		* @param removeDom Boolean True to also remove the element from the document. 
		* @returns Ext.dom.CompositeElement this 
		*/
		removeElement?( el?:any, removeDom?:boolean ): Ext.dom.ICompositeElement;
		/** [Method] Replaces the specified element with the passed element  
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, the Element itself, the index of the element in this composite to replace. 
		* @param replacement String/Ext.Element The id of an element or the Element itself. 
		* @param domReplace Boolean True to remove and replace the element in the document too. 
		* @returns Ext.dom.CompositeElement this 
		*/
		replaceElement?( el?:any, replacement?:any, domReplace?:boolean ): Ext.dom.ICompositeElement;
		/** [Method] Gets a range nodes  
		* @param start Number The index of the first node in the range 
		* @param end Number The index of the last node in the range 
		* @returns HTMLElement[] An array of nodes 
		*/
		slice?( start?:number, end?:number ): HTMLElement[];
	}
}
declare module Ext.dom.element {
	export interface IFly extends Ext.dom.IElement {
		/** [Property] (Boolean) */
		isFly?: boolean;
	}
}
declare module Ext.dom.abstractelement {
	export interface IFly extends Ext.dom.IElement {
		/** [Property] (Boolean) */
		isFly?: boolean;
	}
}
declare module Ext.dom {
	export interface IElement extends Ext.dom.IAbstractElement {
		/** [Property] (Boolean) */
		autoBoxAdjust?: boolean;
		/** [Property] (String) */
		originalDisplay?: string;
		/** [Method] Sets up event handlers to add and remove a css class when the mouse is down and then up on this element a click effe  
		* @param className String The class to add 
		* @param testFn Function A test function to execute before adding the class. The passed parameter will be the Element instance. If this functions returns false, the class will not be added. 
		* @param scope Object The scope to execute the testFn in. 
		* @returns Ext.dom.Element this 
		*/
		addClsOnClick?( className?:string, testFn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Sets up event handlers to add and remove a css class when this element has the focus Defined in override Ext dom Ele  
		* @param className String The class to add 
		* @param testFn Function A test function to execute before adding the class. The passed parameter will be the Element instance. If this functions returns false, the class will not be added. 
		* @param scope Object The scope to execute the testFn in. 
		* @returns Ext.dom.Element this 
		*/
		addClsOnFocus?( className?:string, testFn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Sets up event handlers to add and remove a css class when the mouse is over this element Defined in override Ext dom  
		* @param className String The class to add 
		* @param testFn Function A test function to execute before adding the class. The passed parameter will be the Element instance. If this functions returns false, the class will not be added. 
		* @param scope Object The scope to execute the testFn in. 
		* @returns Ext.dom.Element this 
		*/
		addClsOnOver?( className?:string, testFn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Convenience method for constructing a KeyMap 
		* @param key String/Number/Number[]/Object Either a string with the keys to listen for, the numeric key code, array of key codes or an object with the following options: 
		* @param fn Function The function to call 
		* @param scope Object The scope (this reference) in which the specified function is executed. Defaults to this Element. 
		* @returns Ext.util.KeyMap The KeyMap created 
		*/
		addKeyListener?( key?:any, fn?:any, scope?:any ): Ext.util.IKeyMap;
		/** [Method] Creates a KeyMap for this element 
		* @param config Object The KeyMap config. See Ext.util.KeyMap for more details 
		* @returns Ext.util.KeyMap The KeyMap created 
		*/
		addKeyMap?( config?:any ): Ext.util.IKeyMap;
		/** [Method] Shorthand for on  
		* @param eventName String The name of event to handle. 
		* @param fn Function The handler function the event invokes. This function is passed the following parameters: evt : EventObject The EventObject describing the event. el : HtmlElement The DOM element which was the target of the event. Note that this may be filtered by using the delegate option. o : Object The options object from the call that setup the listener.  
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. 
		* @param options Object An object containing handler configuration properties. This may contain any of the following properties: scope Object : The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. delegate String: A simple selector to filter the target or look for a descendant of the target. See below for additional details. stopEvent Boolean: True to stop the event. That is stop propagation, and prevent the default action. preventDefault Boolean: True to prevent the default action stopPropagation Boolean: True to prevent event propagation normalized Boolean: False to pass a browser event to the handler function instead of an Ext.EventObject target Ext.dom.Element: Only call the handler if the event was fired on the target Element, not if the event was bubbled up from a child node. delay Number: The number of milliseconds to delay the invocation of the handler after the event fires. single Boolean: True to add a handler to handle just the next firing of the event, and then remove itself. buffer Number: Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place. Combining Options  Using the options argument, it is possible to combine different types of listeners:  A delayed, one-time listener that auto stops the event and adds a custom argument (forumId) to the options object. The options object is available as the third parameter in the handler function.  Code:  el.on('click', this.onClick, this, {  single: true,  delay: 100,  stopEvent : true,  forumId: 4 }); Attaching multiple handlers in 1 call  The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.  Code:  el.on({  'click' : {  fn: this.onClick,  scope: this,  delay: 100  },  'mouseover' : {  fn: this.onMouseOver,  scope: this  },  'mouseout' : {  fn: this.onMouseOut,  scope: this  } }); Or a shorthand syntax:  Code:  el.on({  'click' : this.onClick,  'mouseover' : this.onMouseOver,  'mouseout' : this.onMouseOut,  scope: this }); delegate  This is a configuration option that you can pass along when registering a handler for an event to assist with event delegation. Event delegation is a technique that is used to reduce memory consumption and prevent exposure to memory-leaks. By registering an event for a container element as opposed to each element within a container. By setting this configuration option to a simple selector, the target element will be filtered to look for a descendant of the target. For example:  // using this markup: &lt;div id='elId'&gt;  &lt;p id='p1'&gt;paragraph one&lt;/p&gt;  &lt;p id='p2' class='clickable'&gt;paragraph two&lt;/p&gt;  &lt;p id='p3'&gt;paragraph three&lt;/p&gt; &lt;/div&gt; // utilize event delegation to registering just one handler on the container element: el = Ext.get('elId'); el.on(  'click',  function(e,t) {  // handle click  console.info(t.id); // 'p2'  },  this,  {  // filter the target element to be a descendant with the class 'clickable'  delegate: '.clickable'  } );  
		* @returns Ext.dom.Element this 
		*/
		addListener?( eventName?:string, fn?:any, scope?:any, options?:any ): Ext.dom.IElement;
		/** [Method] Performs custom animation on this Element  
		* @param config Object Configuration for Ext.fx.Anim. Note that the to config is required. 
		* @returns Ext.dom.Element this 
		*/
		animate?( config?:any ): Ext.dom.IElement;
		/** [Method] Tries to blur the element  
		* @returns Ext.dom.Element this 
		*/
		blur?(): Ext.dom.IElement;
		/** [Method] Wraps the specified element with a special 9 element markup CSS block that renders by default as a gray container wit  
		* @param class String A base CSS class to apply to the containing wrapper element. Note that there are a number of CSS rules that are dependent on this name to make the overall effect work, so if you supply an alternate base class, make sure you also supply all of the necessary rules. 
		* @returns Ext.dom.Element The outermost wrapping element of the created box structure. 
		*/
		boxWrap?( clazz?:string ): Ext.dom.IElement;
		/** [Method] When an element is moved around in the DOM or is hidden using display none it loses layout and therefore all scrol  
		* @returns Function A function which will restore all descentant elements of this Element to their scroll positions recorded when this function was executed. Be aware that the returned function is a closure which has captured the scope of cacheScrollValues, so take care to derefence it as soon as not needed - if is it is a var it will drop out of scope, and the reference will be freed. 
		*/
		cacheScrollValues?(): any;
		/** [Method] Centers the Element in either the viewport or another Element  
		* @param centerIn String/HTMLElement/Ext.dom.Element element in which to center the element. 
		*/
		center?( centerIn?:any ): void;
		/** [Method] Removes Empty or whitespace filled text nodes  
		* @param forceReclean Boolean By default the element keeps track if it has been cleaned already so you can call this over and over. However, if you update the element and need to force a reclean, you can pass true. 
		*/
		clean?( forceReclean?:boolean ): void;
		/** [Method] Alias for removeAllListeners  
		* @returns Ext.dom.Element this 
		*/
		clearListeners?(): Ext.dom.IElement;
		/** [Method] Clears any opacity settings from this element  
		* @returns Ext.dom.Element this 
		*/
		clearOpacity?(): Ext.dom.IElement;
		/** [Method] Clears positioning back to the default when the document was loaded  
		* @param value String The value to use for the left, right, top, bottom. You could use 'auto'. 
		* @returns Ext.dom.Element this 
		*/
		clearPositioning?( value?:string ): Ext.dom.IElement;
		/** [Method] Store the current overflow setting and clip overflow on the element  use unclip to remove Defined in override Ext d  
		* @returns Ext.dom.Element this 
		*/
		clip?(): Ext.dom.IElement;
		/** [Method] Creates a proxy element of this element 
		* @param config String/Object The class name of the proxy element or a DomHelper config object 
		* @param renderTo String/HTMLElement The element or element id to render the proxy to. Defaults to: document.body. 
		* @param matchBox Boolean True to align and size the proxy to this element now. 
		* @returns Ext.dom.Element The new proxy element 
		*/
		createProxy?( config?:any, renderTo?:any, matchBox?:boolean ): Ext.dom.IElement;
		/** [Method] Creates an iframe shim for this element to keep selects and other windowed objects from showing through  
		* @returns Ext.dom.Element The new shim element 
		*/
		createShim?(): Ext.dom.IElement;
		/** [Method] Convenience method for setVisibilityMode Element DISPLAY  
		* @param display String What to set display to when visible 
		* @returns Ext.dom.Element this 
		*/
		enableDisplayMode?( display?:string ): Ext.dom.IElement;
		/** [Method] Fade an element in from transparent to opaque 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		fadeIn?( options?:any ): Ext.IElement;
		/** [Method] Fade an element out from opaque to transparent 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		fadeOut?( options?:any ): Ext.IElement;
		/** [Method] Tries to focus the element  
		* @param defer Number Milliseconds to defer the focus 
		* @returns Ext.dom.Element this 
		*/
		focus?( defer?:number ): Ext.dom.IElement;
		/** [Method] Alias for isFocusable  
		* @returns Boolean True if the element is focusable 
		*/
		focusable?(): boolean;
		/** [Method] Shows a ripple of exploding attenuating borders to draw attention to an Element  
		* @param color String The hex color value for the border. 
		* @param count Number The number of ripples to display. 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		frame?( color?:string, count?:number, options?:any ): Ext.dom.IElement;
		/** [Method] Returns the value of a namespaced attribute from the element s underlying DOM node  
		* @param namespace String The namespace in which to look for the attribute 
		* @param name String The attribute name 
		* @returns String The attribute value 
		*/
		getAttributeNS?( namespace?:string, name?:string ): string;
		/** [Method] Gets the bottom Y coordinate of the element element Y position  element height  Defined in override Ext dom Elemen  
		* @param local Boolean True to get the local css position instead of page coordinate 
		* @returns Number 
		*/
		getBottom?( local?:boolean ): number;
		/** [Method] Calculates the x y to center this element on the screen Defined in override Ext dom Element_position  
		* @returns Number[] The x, y values [x, y] 
		*/
		getCenterXY?(): number[];
		/** [Method] Return the CSS color for the specified CSS attribute  
		* @param attr String The css attribute 
		* @param defaultValue String The default value to use when a valid color isn't found 
		* @param prefix String defaults to #. Use an empty string when working with color anims. 
		*/
		getColor?( attr?:string, defaultValue?:string, prefix?:string ): void;
		/** [Method] Returns either the offsetHeight or the height of this element based on CSS height adjusted by padding or borders when  
		* @returns Number 
		*/
		getComputedHeight?(): number;
		/** [Method] Returns either the offsetWidth or the width of this element based on CSS width adjusted by padding or borders when ne  
		* @returns Number 
		*/
		getComputedWidth?(): number;
		/** [Method] Returns the sum width of the padding and borders for the passed sides 
		* @param sides String 
		* @returns Number 
		*/
		getFrameWidth?( sides?:string ): number;
		/** [Method] Gets the left X coordinate Defined in override Ext dom Element_position  
		* @param local Boolean True to get the local css position instead of page coordinate 
		* @returns Number 
		*/
		getLeft?( local?:boolean ): number;
		/** [Method] Gets this element s ElementLoader 
		* @returns Ext.ElementLoader The loader 
		*/
		getLoader?(): Ext.IElementLoader;
		/** [Method] Gets the local CSS X position for the element Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getLocalX?(): number;
		/** [Method] Gets the local CSS X and Y position for the element Defined in override Ext dom Element_position  
		* @returns Array [x, y] 
		*/
		getLocalXY?(): any[];
		/** [Method] Gets the local CSS Y position for the element Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getLocalY?(): number;
		/** [Method] Returns an object defining the area of this Element which can be passed to Ext util Positionable setBox to set anothe  
		* @param asRegion Boolean If true an Ext.util.Region will be returned 
		* @returns Object/Ext.util.Region box An object in the following format: {  left: &lt;Element's X position&gt;,  top: &lt;Element's Y position&gt;,  width: &lt;Element's width&gt;,  height: &lt;Element's height&gt;,  bottom: &lt;Element's lower bound&gt;,  right: &lt;Element's rightmost bound&gt; }  The returned object may also be addressed as an Array where index 0 contains the X position and index 1 contains the Y position. So the result may also be used for setXY 
		*/
		getPageBox?( asRegion?:boolean ): any;
		/** [Method] Gets an object with all CSS positioning properties  
		* @param autoPx Boolean true to return pixel values for "auto" styles. 
		* @returns Object 
		*/
		getPositioning?( autoPx?:boolean ): any;
		/** [Method] Gets the right X coordinate of the element element X position  element width  Defined in override Ext dom Element_  
		* @param local Boolean True to get the local css position instead of page coordinates 
		* @returns Number 
		*/
		getRight?( local?:boolean ): number;
		/** [Method] Returns the current scroll position of the element  
		* @returns Object An object containing the scroll position in the format {left: (scrollLeft), top: (scrollTop)} 
		*/
		getScroll?(): any;
		/** [Method] Gets the left scroll position Defined in override Ext dom Element_scroll  
		* @returns Number The left scroll position 
		*/
		getScrollLeft?(): number;
		/** [Method] Gets the top scroll position Defined in override Ext dom Element_scroll  
		* @returns Number The top scroll position 
		*/
		getScrollTop?(): number;
		/** [Method] Returns the dimensions of the element available to lay content out in  
		* @returns Object Object describing width and height. 
		*/
		getStyleSize?(): any;
		/** [Method] Returns the width in pixels of the passed text or the width of the text in this Element  
		* @param text String The text to measure. Defaults to the innerHTML of the element. 
		* @param min Number The minumum value to return. 
		* @param max Number The maximum value to return. 
		* @returns Number The text width in pixels. 
		*/
		getTextWidth?( text?:string, min?:number, max?:number ): number;
		/** [Method] Gets the top Y coordinate Defined in override Ext dom Element_position  
		* @param local Boolean True to get the local css position instead of page coordinates 
		* @returns Number 
		*/
		getTop?( local?:boolean ): number;
		/** [Method] Gets element X position in page coordinates Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getX?(): number;
		/** [Method] Gets element X and Y positions in page coordinates Defined in override Ext dom Element_position  
		* @returns Array [x, y] 
		*/
		getXY?(): any[];
		/** [Method] Gets element Y position in page coordinates Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getY?(): number;
		/** [Method] Slides the element while fading it out of view  
		* @param anchor String One of the valid Ext.fx.Anim anchor positions (defaults to bottom: 'b') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		ghost?( anchor?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Hide this element  Uses display mode to determine whether to use display or visibility 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		hide?( animate?:any ): Ext.dom.IElement;
		/** [Method] Highlights the Element by setting a color applies to the background color by default but can be changed using the  
		* @param color String The highlight color. Should be a 6 char hex color without the leading # (defaults to yellow: 'ffff9c') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		highlight?( color?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Sets up event handlers to call the passed functions when the mouse is moved into and out of the Element  
		* @param overFn Function The function to call when the mouse enters the Element. 
		* @param outFn Function The function to call when the mouse leaves the Element. 
		* @param scope Object The scope (this reference) in which the functions are executed. Defaults to the Element's DOM element. 
		* @param options Object Options for the listener. See the options parameter. 
		* @returns Ext.dom.Element this 
		*/
		hover?( overFn?:any, outFn?:any, scope?:any, options?:any ): Ext.dom.IElement;
		/** [Method] Initializes a Ext dd DD drag drop object for this element  
		* @param group String The group the DD object is member of 
		* @param config Object The DD config object 
		* @param overrides Object An object containing methods to override/implement on the DD object 
		* @returns Ext.dd.DD The DD object 
		*/
		initDD?( group?:string, config?:any, overrides?:any ): Ext.dd.IDD;
		/** [Method] Initializes a Ext dd DDProxy object for this element  
		* @param group String The group the DDProxy object is member of 
		* @param config Object The DDProxy config object 
		* @param overrides Object An object containing methods to override/implement on the DDProxy object 
		* @returns Ext.dd.DDProxy The DDProxy object 
		*/
		initDDProxy?( group?:string, config?:any, overrides?:any ): Ext.dd.IDDProxy;
		/** [Method] Initializes a Ext dd DDTarget object for this element  
		* @param group String The group the DDTarget object is member of 
		* @param config Object The DDTarget config object 
		* @param overrides Object An object containing methods to override/implement on the DDTarget object 
		* @returns Ext.dd.DDTarget The DDTarget object 
		*/
		initDDTarget?( group?:string, config?:any, overrides?:any ): Ext.dd.IDDTarget;
		/** [Method] Tests various css rules browsers to determine if this element uses a border box 
		* @returns Boolean 
		*/
		isBorderBox?(): boolean;
		/** [Method] Returns true if display is not none  
		* @returns Boolean 
		*/
		isDisplayed?(): boolean;
		/** [Method] Checks whether this element can be focused  
		* @param asFocusEl Object 
		* @returns Boolean True if the element is focusable 
		*/
		isFocusable?( asFocusEl?:any ): boolean;
		/** [Method] Returns true if this element is masked  
		* @returns Boolean 
		*/
		isMasked?(): boolean;
		/** [Method] Returns true if this element is scrollable  
		* @returns Boolean 
		*/
		isScrollable?(): boolean;
		/** [Method] Checks whether the element is currently visible using both visibility and display properties  
		* @param deep Boolean True to walk the dom and see if parent elements are hidden. If false, the function only checks the visibility of the element itself and it may return true even though a parent is not visible. 
		* @returns Boolean true if the element is currently visible, else false 
		*/
		isVisible?( deep?:boolean ): boolean;
		/** [Method] Direct access to the Ext ElementLoader Ext ElementLoader load method  
		* @param options Object 
		* @returns Ext.dom.Element this 
		*/
		load?( options?:any ): Ext.dom.IElement;
		/** [Method] Puts a mask over this element to disable user interaction  
		* @param msg String A message to display in the mask 
		* @param msgCls String A css class to apply to the msg element 
		* @returns Ext.dom.Element The mask element 
		*/
		mask?( msg?:string, msgCls?:string ): Ext.dom.IElement;
		/** [Method] Monitors this Element for the mouse leaving  
		* @param delay Number The delay in milliseconds to wait for possible mouse re-entry before calling the handler function. 
		* @param handler Function The function to call if the mouse remains outside of this Element for the specified time. 
		* @param scope Object The scope (this reference) in which the handler function executes. Defaults to this Element. 
		* @returns Object The listeners object which was added to this element so that monitoring can be stopped. Example usage: // Hide the menu if the mouse moves out for 250ms or more this.mouseLeaveMonitor = this.menuEl.monitorMouseLeave(250, this.hideMenu, this); ... // Remove mouseleave monitor on menu destroy this.menuEl.un(this.mouseLeaveMonitor); 
		*/
		monitorMouseLeave?( delay?:number, handler?:any, scope?:any ): any;
		/** [Method] Sets the position of the element in page coordinates  
		* @param x Number X value for new position (coordinates are page-based) 
		* @param y Number Y value for new position (coordinates are page-based) 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		moveTo?( x?:number, y?:number, animate?:any ): Ext.dom.IElement;
		/** [Method] Returns true if this element needs an explicit tabIndex to make it focusable  */
		needsTabIndex?(): void;
		/** [Method] Appends an event handler to this element  
		* @param eventName String The name of event to handle. 
		* @param fn Function The handler function the event invokes. This function is passed the following parameters: evt : EventObject The EventObject describing the event. el : HtmlElement The DOM element which was the target of the event. Note that this may be filtered by using the delegate option. o : Object The options object from the call that setup the listener.  
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. 
		* @param options Object An object containing handler configuration properties. This may contain any of the following properties: scope Object : The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. delegate String: A simple selector to filter the target or look for a descendant of the target. See below for additional details. stopEvent Boolean: True to stop the event. That is stop propagation, and prevent the default action. preventDefault Boolean: True to prevent the default action stopPropagation Boolean: True to prevent event propagation normalized Boolean: False to pass a browser event to the handler function instead of an Ext.EventObject target Ext.dom.Element: Only call the handler if the event was fired on the target Element, not if the event was bubbled up from a child node. delay Number: The number of milliseconds to delay the invocation of the handler after the event fires. single Boolean: True to add a handler to handle just the next firing of the event, and then remove itself. buffer Number: Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place. Combining Options  Using the options argument, it is possible to combine different types of listeners:  A delayed, one-time listener that auto stops the event and adds a custom argument (forumId) to the options object. The options object is available as the third parameter in the handler function.  Code:  el.on('click', this.onClick, this, {  single: true,  delay: 100,  stopEvent : true,  forumId: 4 }); Attaching multiple handlers in 1 call  The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.  Code:  el.on({  'click' : {  fn: this.onClick,  scope: this,  delay: 100  },  'mouseover' : {  fn: this.onMouseOver,  scope: this  },  'mouseout' : {  fn: this.onMouseOut,  scope: this  } }); Or a shorthand syntax:  Code:  el.on({  'click' : this.onClick,  'mouseover' : this.onMouseOver,  'mouseout' : this.onMouseOut,  scope: this }); delegate  This is a configuration option that you can pass along when registering a handler for an event to assist with event delegation. Event delegation is a technique that is used to reduce memory consumption and prevent exposure to memory-leaks. By registering an event for a container element as opposed to each element within a container. By setting this configuration option to a simple selector, the target element will be filtered to look for a descendant of the target. For example:  // using this markup: &lt;div id='elId'&gt;  &lt;p id='p1'&gt;paragraph one&lt;/p&gt;  &lt;p id='p2' class='clickable'&gt;paragraph two&lt;/p&gt;  &lt;p id='p3'&gt;paragraph three&lt;/p&gt; &lt;/div&gt; // utilize event delegation to registering just one handler on the container element: el = Ext.get('elId'); el.on(  'click',  function(e,t) {  // handle click  console.info(t.id); // 'p2'  },  this,  {  // filter the target element to be a descendant with the class 'clickable'  delegate: '.clickable'  } );  
		* @returns Ext.dom.Element this 
		*/
		on?( eventName?:string, fn?:any, scope?:any, options?:any ): Ext.dom.IElement;
		/** [Method] Creates a pause before any subsequent queued effects begin  
		* @param seconds Number The length of time to pause (in seconds) 
		* @returns Ext.Element The Element 
		*/
		pause?( seconds?:number ): Ext.IElement;
		/** [Method] Initializes positioning on this element  
		* @param pos String Positioning to use "relative", "absolute" or "fixed" 
		* @param zIndex Number The zIndex to apply 
		* @param x Number Set the page X position 
		* @param y Number Set the page Y position 
		*/
		position?( pos?:string, zIndex?:number, x?:number, y?:number ): void;
		/** [Method] Fades the element out while slowly expanding it in all directions  
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		puff?( options?:any ): Ext.dom.IElement;
		/** [Method] Recursively removes all previous added listeners from this element and its children 
		* @returns Ext.dom.Element this 
		*/
		purgeAllListeners?(): Ext.dom.IElement;
		/** [Method] Create an event handler on this element such that when the event fires and is handled by this element it will be rel  
		* @param eventName String The type of event to relay 
		* @param observable Object Any object that extends Ext.util.Observable that will provide the context for firing the relayed event 
		*/
		relayEvent?( eventName?:string, observable?:any ): void;
		/** [Method] Removes all previous added listeners from this element 
		* @returns Ext.dom.Element this 
		*/
		removeAllListeners?(): Ext.dom.IElement;
		/** [Method] Shorthand for un  
		* @param eventName String The name of the event from which to remove the handler. 
		* @param fn Function The handler function to remove. This must be a reference to the function passed into the on call. 
		* @param scope Object If a scope (this reference) was specified when the listener was added, then this must refer to the same object. 
		* @returns Ext.dom.Element this 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Animates the transition of an element s dimensions from a starting height width to an ending height width  
		* @param width Number The new width (pass undefined to keep the original width) 
		* @param height Number The new height (pass undefined to keep the original height) 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		scale?( width?:number, height?:number, options?:any ): Ext.IElement;
		/** [Method] Scrolls this element the specified direction  
		* @param direction String Possible values are:  "l" (or "left") "r" (or "right") "t" (or "top", or "up") "b" (or "bottom", or "down")  
		* @param distance Number How far to scroll the element in pixels 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Boolean Returns true if a scroll was triggered or false if the element was scrolled as far as it could go. 
		*/
		scroll?( direction?:string, distance?:number, animate?:any ): boolean;
		/** [Method] Scrolls this element by the passed delta values optionally animating  
		* @param deltaX Number/Number[]/Object Either the x delta, an Array specifying x and y deltas or an object with "x" and "y" properties. 
		* @param deltaY Number/Boolean/Object Either the y delta, or an animate flag or config object. 
		* @param animate Boolean/Object Animate flag/config object if the delta values were passed separately. 
		* @returns Ext.Element this 
		*/
		scrollBy?( deltaX?:any, deltaY?:any, animate?:any ): Ext.IElement;
		/** [Method] Scrolls this element into view within the passed container  
		* @param container String/HTMLElement/Ext.Element The container element to scroll. Should be a string (id), dom node, or Ext.Element. 
		* @param hscroll Boolean False to disable horizontal scroll. 
		* @param animate Boolean/Object true for the default animation or a standard Element 
		* @param highlight Boolean true to highlight the element when it is in view. animation config object 
		* @returns Ext.dom.Element this 
		*/
		scrollIntoView?( container?:any, hscroll?:boolean, animate?:any, highlight?:boolean ): Ext.dom.IElement;
		/** [Method] Scrolls this element the specified scroll point  
		* @param side String Either "left" for scrollLeft values or "top" for scrollTop values. 
		* @param value Number The new scroll value 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.Element this 
		*/
		scrollTo?( side?:string, value?:number, animate?:any ): Ext.IElement;
		/** [Method] Enable text selection for this element normalized across browsers  Defined in override Ext dom Element_style  
		* @returns Ext.Element this 
		*/
		selectable?(): Ext.IElement;
		/** [Method] Sets the element s CSS bottom style  
		* @param bottom Number/String Number of pixels or CSS string value to set as the bottom CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setBottom?( bottom?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s position and size in one shot  
		* @param x Number X value for new position (coordinates are page-based) 
		* @param y Number Y value for new position (coordinates are page-based) 
		* @param width Number/String The new width. This may be one of:  A Number specifying the new width in this Element's defaultUnits (by default, pixels) A String used to set the CSS width style. Animation may not be used.  
		* @param height Number/String The new height. This may be one of:  A Number specifying the new height in this Element's defaultUnits (by default, pixels) A String used to set the CSS height style. Animation may not be used.  
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		setBounds?( x?:number, y?:number, width?:any, height?:any, animate?:any ): Ext.dom.IElement;
		/** [Method] Sets the CSS display property  
		* @param value Boolean/String Boolean value to display the element using its default display, or a string to set the display directly. 
		* @returns Ext.dom.Element this 
		*/
		setDisplayed?( value?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s left position directly using CSS style instead of setX 
		* @param left Number/String Number of pixels or CSS string value to set as the left CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setLeft?( left?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s left and top positions directly using CSS style Defined in override Ext dom Element_position  
		* @param left Number/String Number of pixels or CSS string value to set as the left CSS property value 
		* @param top Number/String Number of pixels or CSS string value to set as the top CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setLeftTop?( left?:any, top?:any ): Ext.dom.IElement;
		/** [Method] Sets the position of the element in page coordinates  
		* @param x Number X value for new position 
		* @param y Number Y value for new position 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		setLocation?( x?:number, y?:number, animate?:any ): Ext.dom.IElement;
		/** [Method] Set the opacity of the element Defined in override Ext dom Element_style  
		* @param opacity Number The new opacity. 0 = transparent, .5 = 50% visibile, 1 = fully visible, etc 
		* @param animate Boolean/Object a standard Element animation config object or true for the default animation ({duration: 350, easing: 'easeIn'}) 
		* @returns Ext.dom.Element this 
		*/
		setOpacity?( opacity?:number, animate?:any ): Ext.dom.IElement;
		/** [Method] Set positioning with an object returned by getPositioning  
		* @param posCfg Object 
		* @returns Ext.dom.Element this 
		*/
		setPositioning?( posCfg?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s CSS right style  
		* @param right Number/String Number of pixels or CSS string value to set as the right CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setRight?( right?:any ): Ext.dom.IElement;
		/** [Method] Sets the left scroll position Defined in override Ext dom Element_scroll  
		* @param left Number The left scroll position 
		* @returns Ext.dom.Element this 
		*/
		setScrollLeft?( left?:number ): Ext.dom.IElement;
		/** [Method] Sets the top scroll position Defined in override Ext dom Element_scroll  
		* @param top Number The top scroll position 
		* @returns Ext.dom.Element this 
		*/
		setScrollTop?( top?:number ): Ext.dom.IElement;
		/** [Method] Sets the element s top position directly using CSS style instead of setY 
		* @param top Number/String Number of pixels or CSS string value to set as the top CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setTop?( top?:any ): Ext.dom.IElement;
		/** [Method] Sets the visibility of the element see details 
		* @param visible Boolean Whether the element is visible 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		setVisible?( visible?:boolean, animate?:any ): Ext.dom.IElement;
		/** [Method] Animates the transition of any combination of an element s dimensions xy position and or opacity  
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		shift?( options?:any ): Ext.IElement;
		/** [Method] Show this element  Uses display mode to determine whether to use display or visibility 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		show?( animate?:any ): Ext.dom.IElement;
		/** [Method] Slides the element into view  
		* @param anchor String One of the valid Ext.fx.Anim anchor positions (defaults to top: 't') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		slideIn?( anchor?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Slides the element out of view  
		* @param anchor String One of the valid Ext.fx.Anim anchor positions (defaults to top: 't') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		slideOut?( anchor?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Stops the specified event s from bubbling and optionally prevents the default action 
		* @param eventName String/String[] an event / array of events to stop from bubbling 
		* @param preventDefault Boolean true to prevent the default action too 
		* @returns Ext.dom.Element this 
		*/
		swallowEvent?( eventName?:any, preventDefault?:boolean ): Ext.dom.IElement;
		/** [Method] Blinks the element as if it was clicked and then collapses on its center similar to switching off a television 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		switchOff?( options?:any ): Ext.dom.IElement;
		/** [Method] Toggles the element s visibility or display depending on visibility mode  
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		toggle?( animate?:any ): Ext.dom.IElement;
		/** [Method] Removes an event handler from this element  
		* @param eventName String The name of the event from which to remove the handler. 
		* @param fn Function The handler function to remove. This must be a reference to the function passed into the on call. 
		* @param scope Object If a scope (this reference) was specified when the listener was added, then this must refer to the same object. 
		* @returns Ext.dom.Element this 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Return clipping overflow to original clipping before clip was called Defined in override Ext dom Element_style  
		* @returns Ext.dom.Element this 
		*/
		unclip?(): Ext.dom.IElement;
		/** [Method] Hides a previously applied mask  */
		unmask?(): void;
		/** [Method] Disables text selection for this element normalized across browsers  Defined in override Ext dom Element_style  
		* @returns Ext.dom.Element this 
		*/
		unselectable?(): Ext.dom.IElement;
		/** [Method] Updates the innerHTML of this element optionally searching for and processing scripts  
		* @param html String The new HTML 
		* @param loadScripts Boolean True to look for and process scripts (defaults to false) 
		* @param callback Function For async script loading you can be notified when the update completes 
		* @returns Ext.dom.Element this 
		*/
		update?( html?:string, loadScripts?:boolean, callback?:any ): Ext.dom.IElement;
	}
	export class Element {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Returns the top Element that is located at the passed coordinates Defined in override Ext dom AbstractElement_static  
		* @param x Number The x coordinate 
		* @param y Number The y coordinate 
		* @returns String The found Element 
		*/
		static fromPoint( x?:number, y?:number ): string;
		/** [Method] Retrieves Ext dom Element objects  
		* @param el String/HTMLElement/Ext.Element The id of the node, a DOM Node or an existing Element. 
		* @returns Ext.dom.Element The Element object (or null if no matching element was found) 
		*/
		static get( el?:any ): Ext.dom.IElement;
		/** [Method] Retrieves the document height Defined in override Ext dom AbstractElement_static  
		* @returns Number documentHeight 
		*/
		static getDocumentHeight(): number;
		/** [Method] Retrieves the document width Defined in override Ext dom AbstractElement_static  
		* @returns Number documentWidth 
		*/
		static getDocumentWidth(): number;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Retrieves the current orientation of the window  
		* @returns String Orientation of window: 'portrait' or 'landscape' 
		*/
		static getOrientation(): string;
		/** [Method] Retrieves the viewport size of the window  
		* @returns Object object containing width and height properties 
		*/
		static getViewSize(): any;
		/** [Method] Retrieves the viewport height of the window  
		* @returns Number viewportHeight 
		*/
		static getViewportHeight(): number;
		/** [Method] Retrieves the viewport width of the window  
		* @returns Number viewportWidth 
		*/
		static getViewportWidth(): number;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Returns an array of unique class names based upon the input strings or string arrays  
		* @param clsList1 Mixed A string of class names, or an array of class names. 
		* @param clsList2 Mixed A string of class names, or an array of class names. 
		* @returns Array An array of strings representing remaining unique, merged class names. If class names were added to the first list, the changed property will be true. 
		*/
		static mergeClsList( clsList1?:any, clsList2?:any ): any[];
		/** [Method] Normalizes CSS property keys from dash delimited to camel case JavaScript Syntax  
		* @param prop String The property to normalize 
		* @returns String The normalized string 
		*/
		static normalize( prop?:string ): string;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
		/** [Method] Parses a number or string representing margin sizes into an object  
		* @param box Number/String The encoded margins 
		* @returns Object An object with margin sizes for top, right, bottom and left 
		*/
		static parseBox( box?:any ): any;
		/** [Method] Converts a CSS string into an object with a property for each style  
		* @param styles String A CSS string 
		* @returns Object styles 
		*/
		static parseStyles( styles?:string ): any;
		/** [Method] Returns an array of unique class names deom the first parameter with all class names from the second parameter removed  
		* @param existingClsList Mixed A string of class names, or an array of class names. 
		* @param removeClsList Mixed A string of class names, or an array of class names to remove from existingClsList. 
		* @returns Array An array of strings representing remaining class names. If class names were removed, the changed property will be true. 
		*/
		static removeCls( existingClsList?:any, removeClsList?:any ): any[];
		/** [Method] Selects elements based on the passed CSS selector to enable Element methods to be applied to many related elements in  
		* @param selector String/HTMLElement[] The CSS selector or an array of elements 
		* @param unique Boolean true to create a unique Ext.Element for each element (defaults to a shared flyweight object) 
		* @param root HTMLElement/String The root element of the query or id of the root 
		* @returns Ext.CompositeElementLite/Ext.CompositeElement 
		*/
		static select( selector?:any, unique?:boolean, root?:any ): any;
		/** [Method] Parses a number or string representing margin sizes into an object  
		* @param box Number/String/Object The encoded margins, or an object with top, right, bottom, and left properties 
		* @param units String The type of units to add 
		* @returns String An string with unitized (px if units is not specified) metrics for top, right, bottom and left 
		*/
		static unitizeBox( box?:any, units?:string ): string;
	}
}
declare module Ext {
	export interface IElement extends Ext.dom.IAbstractElement {
		/** [Property] (Boolean) */
		autoBoxAdjust?: boolean;
		/** [Property] (String) */
		originalDisplay?: string;
		/** [Method] Sets up event handlers to add and remove a css class when the mouse is down and then up on this element a click effe  
		* @param className String The class to add 
		* @param testFn Function A test function to execute before adding the class. The passed parameter will be the Element instance. If this functions returns false, the class will not be added. 
		* @param scope Object The scope to execute the testFn in. 
		* @returns Ext.dom.Element this 
		*/
		addClsOnClick?( className?:string, testFn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Sets up event handlers to add and remove a css class when this element has the focus Defined in override Ext dom Ele  
		* @param className String The class to add 
		* @param testFn Function A test function to execute before adding the class. The passed parameter will be the Element instance. If this functions returns false, the class will not be added. 
		* @param scope Object The scope to execute the testFn in. 
		* @returns Ext.dom.Element this 
		*/
		addClsOnFocus?( className?:string, testFn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Sets up event handlers to add and remove a css class when the mouse is over this element Defined in override Ext dom  
		* @param className String The class to add 
		* @param testFn Function A test function to execute before adding the class. The passed parameter will be the Element instance. If this functions returns false, the class will not be added. 
		* @param scope Object The scope to execute the testFn in. 
		* @returns Ext.dom.Element this 
		*/
		addClsOnOver?( className?:string, testFn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Convenience method for constructing a KeyMap 
		* @param key String/Number/Number[]/Object Either a string with the keys to listen for, the numeric key code, array of key codes or an object with the following options: 
		* @param fn Function The function to call 
		* @param scope Object The scope (this reference) in which the specified function is executed. Defaults to this Element. 
		* @returns Ext.util.KeyMap The KeyMap created 
		*/
		addKeyListener?( key?:any, fn?:any, scope?:any ): Ext.util.IKeyMap;
		/** [Method] Creates a KeyMap for this element 
		* @param config Object The KeyMap config. See Ext.util.KeyMap for more details 
		* @returns Ext.util.KeyMap The KeyMap created 
		*/
		addKeyMap?( config?:any ): Ext.util.IKeyMap;
		/** [Method] Shorthand for on  
		* @param eventName String The name of event to handle. 
		* @param fn Function The handler function the event invokes. This function is passed the following parameters: evt : EventObject The EventObject describing the event. el : HtmlElement The DOM element which was the target of the event. Note that this may be filtered by using the delegate option. o : Object The options object from the call that setup the listener.  
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. 
		* @param options Object An object containing handler configuration properties. This may contain any of the following properties: scope Object : The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. delegate String: A simple selector to filter the target or look for a descendant of the target. See below for additional details. stopEvent Boolean: True to stop the event. That is stop propagation, and prevent the default action. preventDefault Boolean: True to prevent the default action stopPropagation Boolean: True to prevent event propagation normalized Boolean: False to pass a browser event to the handler function instead of an Ext.EventObject target Ext.dom.Element: Only call the handler if the event was fired on the target Element, not if the event was bubbled up from a child node. delay Number: The number of milliseconds to delay the invocation of the handler after the event fires. single Boolean: True to add a handler to handle just the next firing of the event, and then remove itself. buffer Number: Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place. Combining Options  Using the options argument, it is possible to combine different types of listeners:  A delayed, one-time listener that auto stops the event and adds a custom argument (forumId) to the options object. The options object is available as the third parameter in the handler function.  Code:  el.on('click', this.onClick, this, {  single: true,  delay: 100,  stopEvent : true,  forumId: 4 }); Attaching multiple handlers in 1 call  The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.  Code:  el.on({  'click' : {  fn: this.onClick,  scope: this,  delay: 100  },  'mouseover' : {  fn: this.onMouseOver,  scope: this  },  'mouseout' : {  fn: this.onMouseOut,  scope: this  } }); Or a shorthand syntax:  Code:  el.on({  'click' : this.onClick,  'mouseover' : this.onMouseOver,  'mouseout' : this.onMouseOut,  scope: this }); delegate  This is a configuration option that you can pass along when registering a handler for an event to assist with event delegation. Event delegation is a technique that is used to reduce memory consumption and prevent exposure to memory-leaks. By registering an event for a container element as opposed to each element within a container. By setting this configuration option to a simple selector, the target element will be filtered to look for a descendant of the target. For example:  // using this markup: &lt;div id='elId'&gt;  &lt;p id='p1'&gt;paragraph one&lt;/p&gt;  &lt;p id='p2' class='clickable'&gt;paragraph two&lt;/p&gt;  &lt;p id='p3'&gt;paragraph three&lt;/p&gt; &lt;/div&gt; // utilize event delegation to registering just one handler on the container element: el = Ext.get('elId'); el.on(  'click',  function(e,t) {  // handle click  console.info(t.id); // 'p2'  },  this,  {  // filter the target element to be a descendant with the class 'clickable'  delegate: '.clickable'  } );  
		* @returns Ext.dom.Element this 
		*/
		addListener?( eventName?:string, fn?:any, scope?:any, options?:any ): Ext.dom.IElement;
		/** [Method] Performs custom animation on this Element  
		* @param config Object Configuration for Ext.fx.Anim. Note that the to config is required. 
		* @returns Ext.dom.Element this 
		*/
		animate?( config?:any ): Ext.dom.IElement;
		/** [Method] Tries to blur the element  
		* @returns Ext.dom.Element this 
		*/
		blur?(): Ext.dom.IElement;
		/** [Method] Wraps the specified element with a special 9 element markup CSS block that renders by default as a gray container wit  
		* @param class String A base CSS class to apply to the containing wrapper element. Note that there are a number of CSS rules that are dependent on this name to make the overall effect work, so if you supply an alternate base class, make sure you also supply all of the necessary rules. 
		* @returns Ext.dom.Element The outermost wrapping element of the created box structure. 
		*/
		boxWrap?( clazz?:string ): Ext.dom.IElement;
		/** [Method] When an element is moved around in the DOM or is hidden using display none it loses layout and therefore all scrol  
		* @returns Function A function which will restore all descentant elements of this Element to their scroll positions recorded when this function was executed. Be aware that the returned function is a closure which has captured the scope of cacheScrollValues, so take care to derefence it as soon as not needed - if is it is a var it will drop out of scope, and the reference will be freed. 
		*/
		cacheScrollValues?(): any;
		/** [Method] Centers the Element in either the viewport or another Element  
		* @param centerIn String/HTMLElement/Ext.dom.Element element in which to center the element. 
		*/
		center?( centerIn?:any ): void;
		/** [Method] Removes Empty or whitespace filled text nodes  
		* @param forceReclean Boolean By default the element keeps track if it has been cleaned already so you can call this over and over. However, if you update the element and need to force a reclean, you can pass true. 
		*/
		clean?( forceReclean?:boolean ): void;
		/** [Method] Alias for removeAllListeners  
		* @returns Ext.dom.Element this 
		*/
		clearListeners?(): Ext.dom.IElement;
		/** [Method] Clears any opacity settings from this element  
		* @returns Ext.dom.Element this 
		*/
		clearOpacity?(): Ext.dom.IElement;
		/** [Method] Clears positioning back to the default when the document was loaded  
		* @param value String The value to use for the left, right, top, bottom. You could use 'auto'. 
		* @returns Ext.dom.Element this 
		*/
		clearPositioning?( value?:string ): Ext.dom.IElement;
		/** [Method] Store the current overflow setting and clip overflow on the element  use unclip to remove Defined in override Ext d  
		* @returns Ext.dom.Element this 
		*/
		clip?(): Ext.dom.IElement;
		/** [Method] Creates a proxy element of this element 
		* @param config String/Object The class name of the proxy element or a DomHelper config object 
		* @param renderTo String/HTMLElement The element or element id to render the proxy to. Defaults to: document.body. 
		* @param matchBox Boolean True to align and size the proxy to this element now. 
		* @returns Ext.dom.Element The new proxy element 
		*/
		createProxy?( config?:any, renderTo?:any, matchBox?:boolean ): Ext.dom.IElement;
		/** [Method] Creates an iframe shim for this element to keep selects and other windowed objects from showing through  
		* @returns Ext.dom.Element The new shim element 
		*/
		createShim?(): Ext.dom.IElement;
		/** [Method] Convenience method for setVisibilityMode Element DISPLAY  
		* @param display String What to set display to when visible 
		* @returns Ext.dom.Element this 
		*/
		enableDisplayMode?( display?:string ): Ext.dom.IElement;
		/** [Method] Fade an element in from transparent to opaque 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		fadeIn?( options?:any ): Ext.IElement;
		/** [Method] Fade an element out from opaque to transparent 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		fadeOut?( options?:any ): Ext.IElement;
		/** [Method] Tries to focus the element  
		* @param defer Number Milliseconds to defer the focus 
		* @returns Ext.dom.Element this 
		*/
		focus?( defer?:number ): Ext.dom.IElement;
		/** [Method] Alias for isFocusable  
		* @returns Boolean True if the element is focusable 
		*/
		focusable?(): boolean;
		/** [Method] Shows a ripple of exploding attenuating borders to draw attention to an Element  
		* @param color String The hex color value for the border. 
		* @param count Number The number of ripples to display. 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		frame?( color?:string, count?:number, options?:any ): Ext.dom.IElement;
		/** [Method] Returns the value of a namespaced attribute from the element s underlying DOM node  
		* @param namespace String The namespace in which to look for the attribute 
		* @param name String The attribute name 
		* @returns String The attribute value 
		*/
		getAttributeNS?( namespace?:string, name?:string ): string;
		/** [Method] Gets the bottom Y coordinate of the element element Y position  element height  Defined in override Ext dom Elemen  
		* @param local Boolean True to get the local css position instead of page coordinate 
		* @returns Number 
		*/
		getBottom?( local?:boolean ): number;
		/** [Method] Calculates the x y to center this element on the screen Defined in override Ext dom Element_position  
		* @returns Number[] The x, y values [x, y] 
		*/
		getCenterXY?(): number[];
		/** [Method] Return the CSS color for the specified CSS attribute  
		* @param attr String The css attribute 
		* @param defaultValue String The default value to use when a valid color isn't found 
		* @param prefix String defaults to #. Use an empty string when working with color anims. 
		*/
		getColor?( attr?:string, defaultValue?:string, prefix?:string ): void;
		/** [Method] Returns either the offsetHeight or the height of this element based on CSS height adjusted by padding or borders when  
		* @returns Number 
		*/
		getComputedHeight?(): number;
		/** [Method] Returns either the offsetWidth or the width of this element based on CSS width adjusted by padding or borders when ne  
		* @returns Number 
		*/
		getComputedWidth?(): number;
		/** [Method] Returns the sum width of the padding and borders for the passed sides 
		* @param sides String 
		* @returns Number 
		*/
		getFrameWidth?( sides?:string ): number;
		/** [Method] Gets the left X coordinate Defined in override Ext dom Element_position  
		* @param local Boolean True to get the local css position instead of page coordinate 
		* @returns Number 
		*/
		getLeft?( local?:boolean ): number;
		/** [Method] Gets this element s ElementLoader 
		* @returns Ext.ElementLoader The loader 
		*/
		getLoader?(): Ext.IElementLoader;
		/** [Method] Gets the local CSS X position for the element Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getLocalX?(): number;
		/** [Method] Gets the local CSS X and Y position for the element Defined in override Ext dom Element_position  
		* @returns Array [x, y] 
		*/
		getLocalXY?(): any[];
		/** [Method] Gets the local CSS Y position for the element Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getLocalY?(): number;
		/** [Method] Returns an object defining the area of this Element which can be passed to Ext util Positionable setBox to set anothe  
		* @param asRegion Boolean If true an Ext.util.Region will be returned 
		* @returns Object/Ext.util.Region box An object in the following format: {  left: &lt;Element's X position&gt;,  top: &lt;Element's Y position&gt;,  width: &lt;Element's width&gt;,  height: &lt;Element's height&gt;,  bottom: &lt;Element's lower bound&gt;,  right: &lt;Element's rightmost bound&gt; }  The returned object may also be addressed as an Array where index 0 contains the X position and index 1 contains the Y position. So the result may also be used for setXY 
		*/
		getPageBox?( asRegion?:boolean ): any;
		/** [Method] Gets an object with all CSS positioning properties  
		* @param autoPx Boolean true to return pixel values for "auto" styles. 
		* @returns Object 
		*/
		getPositioning?( autoPx?:boolean ): any;
		/** [Method] Gets the right X coordinate of the element element X position  element width  Defined in override Ext dom Element_  
		* @param local Boolean True to get the local css position instead of page coordinates 
		* @returns Number 
		*/
		getRight?( local?:boolean ): number;
		/** [Method] Returns the current scroll position of the element  
		* @returns Object An object containing the scroll position in the format {left: (scrollLeft), top: (scrollTop)} 
		*/
		getScroll?(): any;
		/** [Method] Gets the left scroll position Defined in override Ext dom Element_scroll  
		* @returns Number The left scroll position 
		*/
		getScrollLeft?(): number;
		/** [Method] Gets the top scroll position Defined in override Ext dom Element_scroll  
		* @returns Number The top scroll position 
		*/
		getScrollTop?(): number;
		/** [Method] Returns the dimensions of the element available to lay content out in  
		* @returns Object Object describing width and height. 
		*/
		getStyleSize?(): any;
		/** [Method] Returns the width in pixels of the passed text or the width of the text in this Element  
		* @param text String The text to measure. Defaults to the innerHTML of the element. 
		* @param min Number The minumum value to return. 
		* @param max Number The maximum value to return. 
		* @returns Number The text width in pixels. 
		*/
		getTextWidth?( text?:string, min?:number, max?:number ): number;
		/** [Method] Gets the top Y coordinate Defined in override Ext dom Element_position  
		* @param local Boolean True to get the local css position instead of page coordinates 
		* @returns Number 
		*/
		getTop?( local?:boolean ): number;
		/** [Method] Gets element X position in page coordinates Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getX?(): number;
		/** [Method] Gets element X and Y positions in page coordinates Defined in override Ext dom Element_position  
		* @returns Array [x, y] 
		*/
		getXY?(): any[];
		/** [Method] Gets element Y position in page coordinates Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getY?(): number;
		/** [Method] Slides the element while fading it out of view  
		* @param anchor String One of the valid Ext.fx.Anim anchor positions (defaults to bottom: 'b') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		ghost?( anchor?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Hide this element  Uses display mode to determine whether to use display or visibility 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		hide?( animate?:any ): Ext.dom.IElement;
		/** [Method] Highlights the Element by setting a color applies to the background color by default but can be changed using the  
		* @param color String The highlight color. Should be a 6 char hex color without the leading # (defaults to yellow: 'ffff9c') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		highlight?( color?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Sets up event handlers to call the passed functions when the mouse is moved into and out of the Element  
		* @param overFn Function The function to call when the mouse enters the Element. 
		* @param outFn Function The function to call when the mouse leaves the Element. 
		* @param scope Object The scope (this reference) in which the functions are executed. Defaults to the Element's DOM element. 
		* @param options Object Options for the listener. See the options parameter. 
		* @returns Ext.dom.Element this 
		*/
		hover?( overFn?:any, outFn?:any, scope?:any, options?:any ): Ext.dom.IElement;
		/** [Method] Initializes a Ext dd DD drag drop object for this element  
		* @param group String The group the DD object is member of 
		* @param config Object The DD config object 
		* @param overrides Object An object containing methods to override/implement on the DD object 
		* @returns Ext.dd.DD The DD object 
		*/
		initDD?( group?:string, config?:any, overrides?:any ): Ext.dd.IDD;
		/** [Method] Initializes a Ext dd DDProxy object for this element  
		* @param group String The group the DDProxy object is member of 
		* @param config Object The DDProxy config object 
		* @param overrides Object An object containing methods to override/implement on the DDProxy object 
		* @returns Ext.dd.DDProxy The DDProxy object 
		*/
		initDDProxy?( group?:string, config?:any, overrides?:any ): Ext.dd.IDDProxy;
		/** [Method] Initializes a Ext dd DDTarget object for this element  
		* @param group String The group the DDTarget object is member of 
		* @param config Object The DDTarget config object 
		* @param overrides Object An object containing methods to override/implement on the DDTarget object 
		* @returns Ext.dd.DDTarget The DDTarget object 
		*/
		initDDTarget?( group?:string, config?:any, overrides?:any ): Ext.dd.IDDTarget;
		/** [Method] Tests various css rules browsers to determine if this element uses a border box 
		* @returns Boolean 
		*/
		isBorderBox?(): boolean;
		/** [Method] Returns true if display is not none  
		* @returns Boolean 
		*/
		isDisplayed?(): boolean;
		/** [Method] Checks whether this element can be focused  
		* @param asFocusEl Object 
		* @returns Boolean True if the element is focusable 
		*/
		isFocusable?( asFocusEl?:any ): boolean;
		/** [Method] Returns true if this element is masked  
		* @returns Boolean 
		*/
		isMasked?(): boolean;
		/** [Method] Returns true if this element is scrollable  
		* @returns Boolean 
		*/
		isScrollable?(): boolean;
		/** [Method] Checks whether the element is currently visible using both visibility and display properties  
		* @param deep Boolean True to walk the dom and see if parent elements are hidden. If false, the function only checks the visibility of the element itself and it may return true even though a parent is not visible. 
		* @returns Boolean true if the element is currently visible, else false 
		*/
		isVisible?( deep?:boolean ): boolean;
		/** [Method] Direct access to the Ext ElementLoader Ext ElementLoader load method  
		* @param options Object 
		* @returns Ext.dom.Element this 
		*/
		load?( options?:any ): Ext.dom.IElement;
		/** [Method] Puts a mask over this element to disable user interaction  
		* @param msg String A message to display in the mask 
		* @param msgCls String A css class to apply to the msg element 
		* @returns Ext.dom.Element The mask element 
		*/
		mask?( msg?:string, msgCls?:string ): Ext.dom.IElement;
		/** [Method] Monitors this Element for the mouse leaving  
		* @param delay Number The delay in milliseconds to wait for possible mouse re-entry before calling the handler function. 
		* @param handler Function The function to call if the mouse remains outside of this Element for the specified time. 
		* @param scope Object The scope (this reference) in which the handler function executes. Defaults to this Element. 
		* @returns Object The listeners object which was added to this element so that monitoring can be stopped. Example usage: // Hide the menu if the mouse moves out for 250ms or more this.mouseLeaveMonitor = this.menuEl.monitorMouseLeave(250, this.hideMenu, this); ... // Remove mouseleave monitor on menu destroy this.menuEl.un(this.mouseLeaveMonitor); 
		*/
		monitorMouseLeave?( delay?:number, handler?:any, scope?:any ): any;
		/** [Method] Sets the position of the element in page coordinates  
		* @param x Number X value for new position (coordinates are page-based) 
		* @param y Number Y value for new position (coordinates are page-based) 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		moveTo?( x?:number, y?:number, animate?:any ): Ext.dom.IElement;
		/** [Method] Returns true if this element needs an explicit tabIndex to make it focusable  */
		needsTabIndex?(): void;
		/** [Method] Appends an event handler to this element  
		* @param eventName String The name of event to handle. 
		* @param fn Function The handler function the event invokes. This function is passed the following parameters: evt : EventObject The EventObject describing the event. el : HtmlElement The DOM element which was the target of the event. Note that this may be filtered by using the delegate option. o : Object The options object from the call that setup the listener.  
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. 
		* @param options Object An object containing handler configuration properties. This may contain any of the following properties: scope Object : The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. delegate String: A simple selector to filter the target or look for a descendant of the target. See below for additional details. stopEvent Boolean: True to stop the event. That is stop propagation, and prevent the default action. preventDefault Boolean: True to prevent the default action stopPropagation Boolean: True to prevent event propagation normalized Boolean: False to pass a browser event to the handler function instead of an Ext.EventObject target Ext.dom.Element: Only call the handler if the event was fired on the target Element, not if the event was bubbled up from a child node. delay Number: The number of milliseconds to delay the invocation of the handler after the event fires. single Boolean: True to add a handler to handle just the next firing of the event, and then remove itself. buffer Number: Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place. Combining Options  Using the options argument, it is possible to combine different types of listeners:  A delayed, one-time listener that auto stops the event and adds a custom argument (forumId) to the options object. The options object is available as the third parameter in the handler function.  Code:  el.on('click', this.onClick, this, {  single: true,  delay: 100,  stopEvent : true,  forumId: 4 }); Attaching multiple handlers in 1 call  The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.  Code:  el.on({  'click' : {  fn: this.onClick,  scope: this,  delay: 100  },  'mouseover' : {  fn: this.onMouseOver,  scope: this  },  'mouseout' : {  fn: this.onMouseOut,  scope: this  } }); Or a shorthand syntax:  Code:  el.on({  'click' : this.onClick,  'mouseover' : this.onMouseOver,  'mouseout' : this.onMouseOut,  scope: this }); delegate  This is a configuration option that you can pass along when registering a handler for an event to assist with event delegation. Event delegation is a technique that is used to reduce memory consumption and prevent exposure to memory-leaks. By registering an event for a container element as opposed to each element within a container. By setting this configuration option to a simple selector, the target element will be filtered to look for a descendant of the target. For example:  // using this markup: &lt;div id='elId'&gt;  &lt;p id='p1'&gt;paragraph one&lt;/p&gt;  &lt;p id='p2' class='clickable'&gt;paragraph two&lt;/p&gt;  &lt;p id='p3'&gt;paragraph three&lt;/p&gt; &lt;/div&gt; // utilize event delegation to registering just one handler on the container element: el = Ext.get('elId'); el.on(  'click',  function(e,t) {  // handle click  console.info(t.id); // 'p2'  },  this,  {  // filter the target element to be a descendant with the class 'clickable'  delegate: '.clickable'  } );  
		* @returns Ext.dom.Element this 
		*/
		on?( eventName?:string, fn?:any, scope?:any, options?:any ): Ext.dom.IElement;
		/** [Method] Creates a pause before any subsequent queued effects begin  
		* @param seconds Number The length of time to pause (in seconds) 
		* @returns Ext.Element The Element 
		*/
		pause?( seconds?:number ): Ext.IElement;
		/** [Method] Initializes positioning on this element  
		* @param pos String Positioning to use "relative", "absolute" or "fixed" 
		* @param zIndex Number The zIndex to apply 
		* @param x Number Set the page X position 
		* @param y Number Set the page Y position 
		*/
		position?( pos?:string, zIndex?:number, x?:number, y?:number ): void;
		/** [Method] Fades the element out while slowly expanding it in all directions  
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		puff?( options?:any ): Ext.dom.IElement;
		/** [Method] Recursively removes all previous added listeners from this element and its children 
		* @returns Ext.dom.Element this 
		*/
		purgeAllListeners?(): Ext.dom.IElement;
		/** [Method] Create an event handler on this element such that when the event fires and is handled by this element it will be rel  
		* @param eventName String The type of event to relay 
		* @param observable Object Any object that extends Ext.util.Observable that will provide the context for firing the relayed event 
		*/
		relayEvent?( eventName?:string, observable?:any ): void;
		/** [Method] Removes all previous added listeners from this element 
		* @returns Ext.dom.Element this 
		*/
		removeAllListeners?(): Ext.dom.IElement;
		/** [Method] Shorthand for un  
		* @param eventName String The name of the event from which to remove the handler. 
		* @param fn Function The handler function to remove. This must be a reference to the function passed into the on call. 
		* @param scope Object If a scope (this reference) was specified when the listener was added, then this must refer to the same object. 
		* @returns Ext.dom.Element this 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Animates the transition of an element s dimensions from a starting height width to an ending height width  
		* @param width Number The new width (pass undefined to keep the original width) 
		* @param height Number The new height (pass undefined to keep the original height) 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		scale?( width?:number, height?:number, options?:any ): Ext.IElement;
		/** [Method] Scrolls this element the specified direction  
		* @param direction String Possible values are:  "l" (or "left") "r" (or "right") "t" (or "top", or "up") "b" (or "bottom", or "down")  
		* @param distance Number How far to scroll the element in pixels 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Boolean Returns true if a scroll was triggered or false if the element was scrolled as far as it could go. 
		*/
		scroll?( direction?:string, distance?:number, animate?:any ): boolean;
		/** [Method] Scrolls this element by the passed delta values optionally animating  
		* @param deltaX Number/Number[]/Object Either the x delta, an Array specifying x and y deltas or an object with "x" and "y" properties. 
		* @param deltaY Number/Boolean/Object Either the y delta, or an animate flag or config object. 
		* @param animate Boolean/Object Animate flag/config object if the delta values were passed separately. 
		* @returns Ext.Element this 
		*/
		scrollBy?( deltaX?:any, deltaY?:any, animate?:any ): Ext.IElement;
		/** [Method] Scrolls this element into view within the passed container  
		* @param container String/HTMLElement/Ext.Element The container element to scroll. Should be a string (id), dom node, or Ext.Element. 
		* @param hscroll Boolean False to disable horizontal scroll. 
		* @param animate Boolean/Object true for the default animation or a standard Element 
		* @param highlight Boolean true to highlight the element when it is in view. animation config object 
		* @returns Ext.dom.Element this 
		*/
		scrollIntoView?( container?:any, hscroll?:boolean, animate?:any, highlight?:boolean ): Ext.dom.IElement;
		/** [Method] Scrolls this element the specified scroll point  
		* @param side String Either "left" for scrollLeft values or "top" for scrollTop values. 
		* @param value Number The new scroll value 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.Element this 
		*/
		scrollTo?( side?:string, value?:number, animate?:any ): Ext.IElement;
		/** [Method] Enable text selection for this element normalized across browsers  Defined in override Ext dom Element_style  
		* @returns Ext.Element this 
		*/
		selectable?(): Ext.IElement;
		/** [Method] Sets the element s CSS bottom style  
		* @param bottom Number/String Number of pixels or CSS string value to set as the bottom CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setBottom?( bottom?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s position and size in one shot  
		* @param x Number X value for new position (coordinates are page-based) 
		* @param y Number Y value for new position (coordinates are page-based) 
		* @param width Number/String The new width. This may be one of:  A Number specifying the new width in this Element's defaultUnits (by default, pixels) A String used to set the CSS width style. Animation may not be used.  
		* @param height Number/String The new height. This may be one of:  A Number specifying the new height in this Element's defaultUnits (by default, pixels) A String used to set the CSS height style. Animation may not be used.  
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		setBounds?( x?:number, y?:number, width?:any, height?:any, animate?:any ): Ext.dom.IElement;
		/** [Method] Sets the CSS display property  
		* @param value Boolean/String Boolean value to display the element using its default display, or a string to set the display directly. 
		* @returns Ext.dom.Element this 
		*/
		setDisplayed?( value?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s left position directly using CSS style instead of setX 
		* @param left Number/String Number of pixels or CSS string value to set as the left CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setLeft?( left?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s left and top positions directly using CSS style Defined in override Ext dom Element_position  
		* @param left Number/String Number of pixels or CSS string value to set as the left CSS property value 
		* @param top Number/String Number of pixels or CSS string value to set as the top CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setLeftTop?( left?:any, top?:any ): Ext.dom.IElement;
		/** [Method] Sets the position of the element in page coordinates  
		* @param x Number X value for new position 
		* @param y Number Y value for new position 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		setLocation?( x?:number, y?:number, animate?:any ): Ext.dom.IElement;
		/** [Method] Set the opacity of the element Defined in override Ext dom Element_style  
		* @param opacity Number The new opacity. 0 = transparent, .5 = 50% visibile, 1 = fully visible, etc 
		* @param animate Boolean/Object a standard Element animation config object or true for the default animation ({duration: 350, easing: 'easeIn'}) 
		* @returns Ext.dom.Element this 
		*/
		setOpacity?( opacity?:number, animate?:any ): Ext.dom.IElement;
		/** [Method] Set positioning with an object returned by getPositioning  
		* @param posCfg Object 
		* @returns Ext.dom.Element this 
		*/
		setPositioning?( posCfg?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s CSS right style  
		* @param right Number/String Number of pixels or CSS string value to set as the right CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setRight?( right?:any ): Ext.dom.IElement;
		/** [Method] Sets the left scroll position Defined in override Ext dom Element_scroll  
		* @param left Number The left scroll position 
		* @returns Ext.dom.Element this 
		*/
		setScrollLeft?( left?:number ): Ext.dom.IElement;
		/** [Method] Sets the top scroll position Defined in override Ext dom Element_scroll  
		* @param top Number The top scroll position 
		* @returns Ext.dom.Element this 
		*/
		setScrollTop?( top?:number ): Ext.dom.IElement;
		/** [Method] Sets the element s top position directly using CSS style instead of setY 
		* @param top Number/String Number of pixels or CSS string value to set as the top CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setTop?( top?:any ): Ext.dom.IElement;
		/** [Method] Sets the visibility of the element see details 
		* @param visible Boolean Whether the element is visible 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		setVisible?( visible?:boolean, animate?:any ): Ext.dom.IElement;
		/** [Method] Animates the transition of any combination of an element s dimensions xy position and or opacity  
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		shift?( options?:any ): Ext.IElement;
		/** [Method] Show this element  Uses display mode to determine whether to use display or visibility 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		show?( animate?:any ): Ext.dom.IElement;
		/** [Method] Slides the element into view  
		* @param anchor String One of the valid Ext.fx.Anim anchor positions (defaults to top: 't') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		slideIn?( anchor?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Slides the element out of view  
		* @param anchor String One of the valid Ext.fx.Anim anchor positions (defaults to top: 't') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		slideOut?( anchor?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Stops the specified event s from bubbling and optionally prevents the default action 
		* @param eventName String/String[] an event / array of events to stop from bubbling 
		* @param preventDefault Boolean true to prevent the default action too 
		* @returns Ext.dom.Element this 
		*/
		swallowEvent?( eventName?:any, preventDefault?:boolean ): Ext.dom.IElement;
		/** [Method] Blinks the element as if it was clicked and then collapses on its center similar to switching off a television 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		switchOff?( options?:any ): Ext.dom.IElement;
		/** [Method] Toggles the element s visibility or display depending on visibility mode  
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		toggle?( animate?:any ): Ext.dom.IElement;
		/** [Method] Removes an event handler from this element  
		* @param eventName String The name of the event from which to remove the handler. 
		* @param fn Function The handler function to remove. This must be a reference to the function passed into the on call. 
		* @param scope Object If a scope (this reference) was specified when the listener was added, then this must refer to the same object. 
		* @returns Ext.dom.Element this 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Return clipping overflow to original clipping before clip was called Defined in override Ext dom Element_style  
		* @returns Ext.dom.Element this 
		*/
		unclip?(): Ext.dom.IElement;
		/** [Method] Hides a previously applied mask  */
		unmask?(): void;
		/** [Method] Disables text selection for this element normalized across browsers  Defined in override Ext dom Element_style  
		* @returns Ext.dom.Element this 
		*/
		unselectable?(): Ext.dom.IElement;
		/** [Method] Updates the innerHTML of this element optionally searching for and processing scripts  
		* @param html String The new HTML 
		* @param loadScripts Boolean True to look for and process scripts (defaults to false) 
		* @param callback Function For async script loading you can be notified when the update completes 
		* @returns Ext.dom.Element this 
		*/
		update?( html?:string, loadScripts?:boolean, callback?:any ): Ext.dom.IElement;
	}
	export class Element {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Returns the top Element that is located at the passed coordinates Defined in override Ext dom AbstractElement_static  
		* @param x Number The x coordinate 
		* @param y Number The y coordinate 
		* @returns String The found Element 
		*/
		static fromPoint( x?:number, y?:number ): string;
		/** [Method] Retrieves Ext dom Element objects  
		* @param el String/HTMLElement/Ext.Element The id of the node, a DOM Node or an existing Element. 
		* @returns Ext.dom.Element The Element object (or null if no matching element was found) 
		*/
		static get( el?:any ): Ext.dom.IElement;
		/** [Method] Retrieves the document height Defined in override Ext dom AbstractElement_static  
		* @returns Number documentHeight 
		*/
		static getDocumentHeight(): number;
		/** [Method] Retrieves the document width Defined in override Ext dom AbstractElement_static  
		* @returns Number documentWidth 
		*/
		static getDocumentWidth(): number;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Retrieves the current orientation of the window  
		* @returns String Orientation of window: 'portrait' or 'landscape' 
		*/
		static getOrientation(): string;
		/** [Method] Retrieves the viewport size of the window  
		* @returns Object object containing width and height properties 
		*/
		static getViewSize(): any;
		/** [Method] Retrieves the viewport height of the window  
		* @returns Number viewportHeight 
		*/
		static getViewportHeight(): number;
		/** [Method] Retrieves the viewport width of the window  
		* @returns Number viewportWidth 
		*/
		static getViewportWidth(): number;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Returns an array of unique class names based upon the input strings or string arrays  
		* @param clsList1 Mixed A string of class names, or an array of class names. 
		* @param clsList2 Mixed A string of class names, or an array of class names. 
		* @returns Array An array of strings representing remaining unique, merged class names. If class names were added to the first list, the changed property will be true. 
		*/
		static mergeClsList( clsList1?:any, clsList2?:any ): any[];
		/** [Method] Normalizes CSS property keys from dash delimited to camel case JavaScript Syntax  
		* @param prop String The property to normalize 
		* @returns String The normalized string 
		*/
		static normalize( prop?:string ): string;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
		/** [Method] Parses a number or string representing margin sizes into an object  
		* @param box Number/String The encoded margins 
		* @returns Object An object with margin sizes for top, right, bottom and left 
		*/
		static parseBox( box?:any ): any;
		/** [Method] Converts a CSS string into an object with a property for each style  
		* @param styles String A CSS string 
		* @returns Object styles 
		*/
		static parseStyles( styles?:string ): any;
		/** [Method] Returns an array of unique class names deom the first parameter with all class names from the second parameter removed  
		* @param existingClsList Mixed A string of class names, or an array of class names. 
		* @param removeClsList Mixed A string of class names, or an array of class names to remove from existingClsList. 
		* @returns Array An array of strings representing remaining class names. If class names were removed, the changed property will be true. 
		*/
		static removeCls( existingClsList?:any, removeClsList?:any ): any[];
		/** [Method] Selects elements based on the passed CSS selector to enable Element methods to be applied to many related elements in  
		* @param selector String/HTMLElement[] The CSS selector or an array of elements 
		* @param unique Boolean true to create a unique Ext.Element for each element (defaults to a shared flyweight object) 
		* @param root HTMLElement/String The root element of the query or id of the root 
		* @returns Ext.CompositeElementLite/Ext.CompositeElement 
		*/
		static select( selector?:any, unique?:boolean, root?:any ): any;
		/** [Method] Parses a number or string representing margin sizes into an object  
		* @param box Number/String/Object The encoded margins, or an object with top, right, bottom, and left properties 
		* @param units String The type of units to add 
		* @returns String An string with unitized (px if units is not specified) metrics for top, right, bottom and left 
		*/
		static unitizeBox( box?:any, units?:string ): string;
	}
}
declare module Ext.core {
	export interface IElement extends Ext.dom.IAbstractElement {
		/** [Property] (Boolean) */
		autoBoxAdjust?: boolean;
		/** [Property] (String) */
		originalDisplay?: string;
		/** [Method] Sets up event handlers to add and remove a css class when the mouse is down and then up on this element a click effe  
		* @param className String The class to add 
		* @param testFn Function A test function to execute before adding the class. The passed parameter will be the Element instance. If this functions returns false, the class will not be added. 
		* @param scope Object The scope to execute the testFn in. 
		* @returns Ext.dom.Element this 
		*/
		addClsOnClick?( className?:string, testFn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Sets up event handlers to add and remove a css class when this element has the focus Defined in override Ext dom Ele  
		* @param className String The class to add 
		* @param testFn Function A test function to execute before adding the class. The passed parameter will be the Element instance. If this functions returns false, the class will not be added. 
		* @param scope Object The scope to execute the testFn in. 
		* @returns Ext.dom.Element this 
		*/
		addClsOnFocus?( className?:string, testFn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Sets up event handlers to add and remove a css class when the mouse is over this element Defined in override Ext dom  
		* @param className String The class to add 
		* @param testFn Function A test function to execute before adding the class. The passed parameter will be the Element instance. If this functions returns false, the class will not be added. 
		* @param scope Object The scope to execute the testFn in. 
		* @returns Ext.dom.Element this 
		*/
		addClsOnOver?( className?:string, testFn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Convenience method for constructing a KeyMap 
		* @param key String/Number/Number[]/Object Either a string with the keys to listen for, the numeric key code, array of key codes or an object with the following options: 
		* @param fn Function The function to call 
		* @param scope Object The scope (this reference) in which the specified function is executed. Defaults to this Element. 
		* @returns Ext.util.KeyMap The KeyMap created 
		*/
		addKeyListener?( key?:any, fn?:any, scope?:any ): Ext.util.IKeyMap;
		/** [Method] Creates a KeyMap for this element 
		* @param config Object The KeyMap config. See Ext.util.KeyMap for more details 
		* @returns Ext.util.KeyMap The KeyMap created 
		*/
		addKeyMap?( config?:any ): Ext.util.IKeyMap;
		/** [Method] Shorthand for on  
		* @param eventName String The name of event to handle. 
		* @param fn Function The handler function the event invokes. This function is passed the following parameters: evt : EventObject The EventObject describing the event. el : HtmlElement The DOM element which was the target of the event. Note that this may be filtered by using the delegate option. o : Object The options object from the call that setup the listener.  
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. 
		* @param options Object An object containing handler configuration properties. This may contain any of the following properties: scope Object : The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. delegate String: A simple selector to filter the target or look for a descendant of the target. See below for additional details. stopEvent Boolean: True to stop the event. That is stop propagation, and prevent the default action. preventDefault Boolean: True to prevent the default action stopPropagation Boolean: True to prevent event propagation normalized Boolean: False to pass a browser event to the handler function instead of an Ext.EventObject target Ext.dom.Element: Only call the handler if the event was fired on the target Element, not if the event was bubbled up from a child node. delay Number: The number of milliseconds to delay the invocation of the handler after the event fires. single Boolean: True to add a handler to handle just the next firing of the event, and then remove itself. buffer Number: Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place. Combining Options  Using the options argument, it is possible to combine different types of listeners:  A delayed, one-time listener that auto stops the event and adds a custom argument (forumId) to the options object. The options object is available as the third parameter in the handler function.  Code:  el.on('click', this.onClick, this, {  single: true,  delay: 100,  stopEvent : true,  forumId: 4 }); Attaching multiple handlers in 1 call  The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.  Code:  el.on({  'click' : {  fn: this.onClick,  scope: this,  delay: 100  },  'mouseover' : {  fn: this.onMouseOver,  scope: this  },  'mouseout' : {  fn: this.onMouseOut,  scope: this  } }); Or a shorthand syntax:  Code:  el.on({  'click' : this.onClick,  'mouseover' : this.onMouseOver,  'mouseout' : this.onMouseOut,  scope: this }); delegate  This is a configuration option that you can pass along when registering a handler for an event to assist with event delegation. Event delegation is a technique that is used to reduce memory consumption and prevent exposure to memory-leaks. By registering an event for a container element as opposed to each element within a container. By setting this configuration option to a simple selector, the target element will be filtered to look for a descendant of the target. For example:  // using this markup: &lt;div id='elId'&gt;  &lt;p id='p1'&gt;paragraph one&lt;/p&gt;  &lt;p id='p2' class='clickable'&gt;paragraph two&lt;/p&gt;  &lt;p id='p3'&gt;paragraph three&lt;/p&gt; &lt;/div&gt; // utilize event delegation to registering just one handler on the container element: el = Ext.get('elId'); el.on(  'click',  function(e,t) {  // handle click  console.info(t.id); // 'p2'  },  this,  {  // filter the target element to be a descendant with the class 'clickable'  delegate: '.clickable'  } );  
		* @returns Ext.dom.Element this 
		*/
		addListener?( eventName?:string, fn?:any, scope?:any, options?:any ): Ext.dom.IElement;
		/** [Method] Performs custom animation on this Element  
		* @param config Object Configuration for Ext.fx.Anim. Note that the to config is required. 
		* @returns Ext.dom.Element this 
		*/
		animate?( config?:any ): Ext.dom.IElement;
		/** [Method] Tries to blur the element  
		* @returns Ext.dom.Element this 
		*/
		blur?(): Ext.dom.IElement;
		/** [Method] Wraps the specified element with a special 9 element markup CSS block that renders by default as a gray container wit  
		* @param class String A base CSS class to apply to the containing wrapper element. Note that there are a number of CSS rules that are dependent on this name to make the overall effect work, so if you supply an alternate base class, make sure you also supply all of the necessary rules. 
		* @returns Ext.dom.Element The outermost wrapping element of the created box structure. 
		*/
		boxWrap?( clazz?:string ): Ext.dom.IElement;
		/** [Method] When an element is moved around in the DOM or is hidden using display none it loses layout and therefore all scrol  
		* @returns Function A function which will restore all descentant elements of this Element to their scroll positions recorded when this function was executed. Be aware that the returned function is a closure which has captured the scope of cacheScrollValues, so take care to derefence it as soon as not needed - if is it is a var it will drop out of scope, and the reference will be freed. 
		*/
		cacheScrollValues?(): any;
		/** [Method] Centers the Element in either the viewport or another Element  
		* @param centerIn String/HTMLElement/Ext.dom.Element element in which to center the element. 
		*/
		center?( centerIn?:any ): void;
		/** [Method] Removes Empty or whitespace filled text nodes  
		* @param forceReclean Boolean By default the element keeps track if it has been cleaned already so you can call this over and over. However, if you update the element and need to force a reclean, you can pass true. 
		*/
		clean?( forceReclean?:boolean ): void;
		/** [Method] Alias for removeAllListeners  
		* @returns Ext.dom.Element this 
		*/
		clearListeners?(): Ext.dom.IElement;
		/** [Method] Clears any opacity settings from this element  
		* @returns Ext.dom.Element this 
		*/
		clearOpacity?(): Ext.dom.IElement;
		/** [Method] Clears positioning back to the default when the document was loaded  
		* @param value String The value to use for the left, right, top, bottom. You could use 'auto'. 
		* @returns Ext.dom.Element this 
		*/
		clearPositioning?( value?:string ): Ext.dom.IElement;
		/** [Method] Store the current overflow setting and clip overflow on the element  use unclip to remove Defined in override Ext d  
		* @returns Ext.dom.Element this 
		*/
		clip?(): Ext.dom.IElement;
		/** [Method] Creates a proxy element of this element 
		* @param config String/Object The class name of the proxy element or a DomHelper config object 
		* @param renderTo String/HTMLElement The element or element id to render the proxy to. Defaults to: document.body. 
		* @param matchBox Boolean True to align and size the proxy to this element now. 
		* @returns Ext.dom.Element The new proxy element 
		*/
		createProxy?( config?:any, renderTo?:any, matchBox?:boolean ): Ext.dom.IElement;
		/** [Method] Creates an iframe shim for this element to keep selects and other windowed objects from showing through  
		* @returns Ext.dom.Element The new shim element 
		*/
		createShim?(): Ext.dom.IElement;
		/** [Method] Convenience method for setVisibilityMode Element DISPLAY  
		* @param display String What to set display to when visible 
		* @returns Ext.dom.Element this 
		*/
		enableDisplayMode?( display?:string ): Ext.dom.IElement;
		/** [Method] Fade an element in from transparent to opaque 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		fadeIn?( options?:any ): Ext.IElement;
		/** [Method] Fade an element out from opaque to transparent 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		fadeOut?( options?:any ): Ext.IElement;
		/** [Method] Tries to focus the element  
		* @param defer Number Milliseconds to defer the focus 
		* @returns Ext.dom.Element this 
		*/
		focus?( defer?:number ): Ext.dom.IElement;
		/** [Method] Alias for isFocusable  
		* @returns Boolean True if the element is focusable 
		*/
		focusable?(): boolean;
		/** [Method] Shows a ripple of exploding attenuating borders to draw attention to an Element  
		* @param color String The hex color value for the border. 
		* @param count Number The number of ripples to display. 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		frame?( color?:string, count?:number, options?:any ): Ext.dom.IElement;
		/** [Method] Returns the value of a namespaced attribute from the element s underlying DOM node  
		* @param namespace String The namespace in which to look for the attribute 
		* @param name String The attribute name 
		* @returns String The attribute value 
		*/
		getAttributeNS?( namespace?:string, name?:string ): string;
		/** [Method] Gets the bottom Y coordinate of the element element Y position  element height  Defined in override Ext dom Elemen  
		* @param local Boolean True to get the local css position instead of page coordinate 
		* @returns Number 
		*/
		getBottom?( local?:boolean ): number;
		/** [Method] Calculates the x y to center this element on the screen Defined in override Ext dom Element_position  
		* @returns Number[] The x, y values [x, y] 
		*/
		getCenterXY?(): number[];
		/** [Method] Return the CSS color for the specified CSS attribute  
		* @param attr String The css attribute 
		* @param defaultValue String The default value to use when a valid color isn't found 
		* @param prefix String defaults to #. Use an empty string when working with color anims. 
		*/
		getColor?( attr?:string, defaultValue?:string, prefix?:string ): void;
		/** [Method] Returns either the offsetHeight or the height of this element based on CSS height adjusted by padding or borders when  
		* @returns Number 
		*/
		getComputedHeight?(): number;
		/** [Method] Returns either the offsetWidth or the width of this element based on CSS width adjusted by padding or borders when ne  
		* @returns Number 
		*/
		getComputedWidth?(): number;
		/** [Method] Returns the sum width of the padding and borders for the passed sides 
		* @param sides String 
		* @returns Number 
		*/
		getFrameWidth?( sides?:string ): number;
		/** [Method] Gets the left X coordinate Defined in override Ext dom Element_position  
		* @param local Boolean True to get the local css position instead of page coordinate 
		* @returns Number 
		*/
		getLeft?( local?:boolean ): number;
		/** [Method] Gets this element s ElementLoader 
		* @returns Ext.ElementLoader The loader 
		*/
		getLoader?(): Ext.IElementLoader;
		/** [Method] Gets the local CSS X position for the element Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getLocalX?(): number;
		/** [Method] Gets the local CSS X and Y position for the element Defined in override Ext dom Element_position  
		* @returns Array [x, y] 
		*/
		getLocalXY?(): any[];
		/** [Method] Gets the local CSS Y position for the element Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getLocalY?(): number;
		/** [Method] Returns an object defining the area of this Element which can be passed to Ext util Positionable setBox to set anothe  
		* @param asRegion Boolean If true an Ext.util.Region will be returned 
		* @returns Object/Ext.util.Region box An object in the following format: {  left: &lt;Element's X position&gt;,  top: &lt;Element's Y position&gt;,  width: &lt;Element's width&gt;,  height: &lt;Element's height&gt;,  bottom: &lt;Element's lower bound&gt;,  right: &lt;Element's rightmost bound&gt; }  The returned object may also be addressed as an Array where index 0 contains the X position and index 1 contains the Y position. So the result may also be used for setXY 
		*/
		getPageBox?( asRegion?:boolean ): any;
		/** [Method] Gets an object with all CSS positioning properties  
		* @param autoPx Boolean true to return pixel values for "auto" styles. 
		* @returns Object 
		*/
		getPositioning?( autoPx?:boolean ): any;
		/** [Method] Gets the right X coordinate of the element element X position  element width  Defined in override Ext dom Element_  
		* @param local Boolean True to get the local css position instead of page coordinates 
		* @returns Number 
		*/
		getRight?( local?:boolean ): number;
		/** [Method] Returns the current scroll position of the element  
		* @returns Object An object containing the scroll position in the format {left: (scrollLeft), top: (scrollTop)} 
		*/
		getScroll?(): any;
		/** [Method] Gets the left scroll position Defined in override Ext dom Element_scroll  
		* @returns Number The left scroll position 
		*/
		getScrollLeft?(): number;
		/** [Method] Gets the top scroll position Defined in override Ext dom Element_scroll  
		* @returns Number The top scroll position 
		*/
		getScrollTop?(): number;
		/** [Method] Returns the dimensions of the element available to lay content out in  
		* @returns Object Object describing width and height. 
		*/
		getStyleSize?(): any;
		/** [Method] Returns the width in pixels of the passed text or the width of the text in this Element  
		* @param text String The text to measure. Defaults to the innerHTML of the element. 
		* @param min Number The minumum value to return. 
		* @param max Number The maximum value to return. 
		* @returns Number The text width in pixels. 
		*/
		getTextWidth?( text?:string, min?:number, max?:number ): number;
		/** [Method] Gets the top Y coordinate Defined in override Ext dom Element_position  
		* @param local Boolean True to get the local css position instead of page coordinates 
		* @returns Number 
		*/
		getTop?( local?:boolean ): number;
		/** [Method] Gets element X position in page coordinates Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getX?(): number;
		/** [Method] Gets element X and Y positions in page coordinates Defined in override Ext dom Element_position  
		* @returns Array [x, y] 
		*/
		getXY?(): any[];
		/** [Method] Gets element Y position in page coordinates Defined in override Ext dom Element_position  
		* @returns Number 
		*/
		getY?(): number;
		/** [Method] Slides the element while fading it out of view  
		* @param anchor String One of the valid Ext.fx.Anim anchor positions (defaults to bottom: 'b') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		ghost?( anchor?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Hide this element  Uses display mode to determine whether to use display or visibility 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		hide?( animate?:any ): Ext.dom.IElement;
		/** [Method] Highlights the Element by setting a color applies to the background color by default but can be changed using the  
		* @param color String The highlight color. Should be a 6 char hex color without the leading # (defaults to yellow: 'ffff9c') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		highlight?( color?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Sets up event handlers to call the passed functions when the mouse is moved into and out of the Element  
		* @param overFn Function The function to call when the mouse enters the Element. 
		* @param outFn Function The function to call when the mouse leaves the Element. 
		* @param scope Object The scope (this reference) in which the functions are executed. Defaults to the Element's DOM element. 
		* @param options Object Options for the listener. See the options parameter. 
		* @returns Ext.dom.Element this 
		*/
		hover?( overFn?:any, outFn?:any, scope?:any, options?:any ): Ext.dom.IElement;
		/** [Method] Initializes a Ext dd DD drag drop object for this element  
		* @param group String The group the DD object is member of 
		* @param config Object The DD config object 
		* @param overrides Object An object containing methods to override/implement on the DD object 
		* @returns Ext.dd.DD The DD object 
		*/
		initDD?( group?:string, config?:any, overrides?:any ): Ext.dd.IDD;
		/** [Method] Initializes a Ext dd DDProxy object for this element  
		* @param group String The group the DDProxy object is member of 
		* @param config Object The DDProxy config object 
		* @param overrides Object An object containing methods to override/implement on the DDProxy object 
		* @returns Ext.dd.DDProxy The DDProxy object 
		*/
		initDDProxy?( group?:string, config?:any, overrides?:any ): Ext.dd.IDDProxy;
		/** [Method] Initializes a Ext dd DDTarget object for this element  
		* @param group String The group the DDTarget object is member of 
		* @param config Object The DDTarget config object 
		* @param overrides Object An object containing methods to override/implement on the DDTarget object 
		* @returns Ext.dd.DDTarget The DDTarget object 
		*/
		initDDTarget?( group?:string, config?:any, overrides?:any ): Ext.dd.IDDTarget;
		/** [Method] Tests various css rules browsers to determine if this element uses a border box 
		* @returns Boolean 
		*/
		isBorderBox?(): boolean;
		/** [Method] Returns true if display is not none  
		* @returns Boolean 
		*/
		isDisplayed?(): boolean;
		/** [Method] Checks whether this element can be focused  
		* @param asFocusEl Object 
		* @returns Boolean True if the element is focusable 
		*/
		isFocusable?( asFocusEl?:any ): boolean;
		/** [Method] Returns true if this element is masked  
		* @returns Boolean 
		*/
		isMasked?(): boolean;
		/** [Method] Returns true if this element is scrollable  
		* @returns Boolean 
		*/
		isScrollable?(): boolean;
		/** [Method] Checks whether the element is currently visible using both visibility and display properties  
		* @param deep Boolean True to walk the dom and see if parent elements are hidden. If false, the function only checks the visibility of the element itself and it may return true even though a parent is not visible. 
		* @returns Boolean true if the element is currently visible, else false 
		*/
		isVisible?( deep?:boolean ): boolean;
		/** [Method] Direct access to the Ext ElementLoader Ext ElementLoader load method  
		* @param options Object 
		* @returns Ext.dom.Element this 
		*/
		load?( options?:any ): Ext.dom.IElement;
		/** [Method] Puts a mask over this element to disable user interaction  
		* @param msg String A message to display in the mask 
		* @param msgCls String A css class to apply to the msg element 
		* @returns Ext.dom.Element The mask element 
		*/
		mask?( msg?:string, msgCls?:string ): Ext.dom.IElement;
		/** [Method] Monitors this Element for the mouse leaving  
		* @param delay Number The delay in milliseconds to wait for possible mouse re-entry before calling the handler function. 
		* @param handler Function The function to call if the mouse remains outside of this Element for the specified time. 
		* @param scope Object The scope (this reference) in which the handler function executes. Defaults to this Element. 
		* @returns Object The listeners object which was added to this element so that monitoring can be stopped. Example usage: // Hide the menu if the mouse moves out for 250ms or more this.mouseLeaveMonitor = this.menuEl.monitorMouseLeave(250, this.hideMenu, this); ... // Remove mouseleave monitor on menu destroy this.menuEl.un(this.mouseLeaveMonitor); 
		*/
		monitorMouseLeave?( delay?:number, handler?:any, scope?:any ): any;
		/** [Method] Sets the position of the element in page coordinates  
		* @param x Number X value for new position (coordinates are page-based) 
		* @param y Number Y value for new position (coordinates are page-based) 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		moveTo?( x?:number, y?:number, animate?:any ): Ext.dom.IElement;
		/** [Method] Returns true if this element needs an explicit tabIndex to make it focusable  */
		needsTabIndex?(): void;
		/** [Method] Appends an event handler to this element  
		* @param eventName String The name of event to handle. 
		* @param fn Function The handler function the event invokes. This function is passed the following parameters: evt : EventObject The EventObject describing the event. el : HtmlElement The DOM element which was the target of the event. Note that this may be filtered by using the delegate option. o : Object The options object from the call that setup the listener.  
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. 
		* @param options Object An object containing handler configuration properties. This may contain any of the following properties: scope Object : The scope (this reference) in which the handler function is executed. If omitted, defaults to this Element. delegate String: A simple selector to filter the target or look for a descendant of the target. See below for additional details. stopEvent Boolean: True to stop the event. That is stop propagation, and prevent the default action. preventDefault Boolean: True to prevent the default action stopPropagation Boolean: True to prevent event propagation normalized Boolean: False to pass a browser event to the handler function instead of an Ext.EventObject target Ext.dom.Element: Only call the handler if the event was fired on the target Element, not if the event was bubbled up from a child node. delay Number: The number of milliseconds to delay the invocation of the handler after the event fires. single Boolean: True to add a handler to handle just the next firing of the event, and then remove itself. buffer Number: Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place. Combining Options  Using the options argument, it is possible to combine different types of listeners:  A delayed, one-time listener that auto stops the event and adds a custom argument (forumId) to the options object. The options object is available as the third parameter in the handler function.  Code:  el.on('click', this.onClick, this, {  single: true,  delay: 100,  stopEvent : true,  forumId: 4 }); Attaching multiple handlers in 1 call  The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.  Code:  el.on({  'click' : {  fn: this.onClick,  scope: this,  delay: 100  },  'mouseover' : {  fn: this.onMouseOver,  scope: this  },  'mouseout' : {  fn: this.onMouseOut,  scope: this  } }); Or a shorthand syntax:  Code:  el.on({  'click' : this.onClick,  'mouseover' : this.onMouseOver,  'mouseout' : this.onMouseOut,  scope: this }); delegate  This is a configuration option that you can pass along when registering a handler for an event to assist with event delegation. Event delegation is a technique that is used to reduce memory consumption and prevent exposure to memory-leaks. By registering an event for a container element as opposed to each element within a container. By setting this configuration option to a simple selector, the target element will be filtered to look for a descendant of the target. For example:  // using this markup: &lt;div id='elId'&gt;  &lt;p id='p1'&gt;paragraph one&lt;/p&gt;  &lt;p id='p2' class='clickable'&gt;paragraph two&lt;/p&gt;  &lt;p id='p3'&gt;paragraph three&lt;/p&gt; &lt;/div&gt; // utilize event delegation to registering just one handler on the container element: el = Ext.get('elId'); el.on(  'click',  function(e,t) {  // handle click  console.info(t.id); // 'p2'  },  this,  {  // filter the target element to be a descendant with the class 'clickable'  delegate: '.clickable'  } );  
		* @returns Ext.dom.Element this 
		*/
		on?( eventName?:string, fn?:any, scope?:any, options?:any ): Ext.dom.IElement;
		/** [Method] Creates a pause before any subsequent queued effects begin  
		* @param seconds Number The length of time to pause (in seconds) 
		* @returns Ext.Element The Element 
		*/
		pause?( seconds?:number ): Ext.IElement;
		/** [Method] Initializes positioning on this element  
		* @param pos String Positioning to use "relative", "absolute" or "fixed" 
		* @param zIndex Number The zIndex to apply 
		* @param x Number Set the page X position 
		* @param y Number Set the page Y position 
		*/
		position?( pos?:string, zIndex?:number, x?:number, y?:number ): void;
		/** [Method] Fades the element out while slowly expanding it in all directions  
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		puff?( options?:any ): Ext.dom.IElement;
		/** [Method] Recursively removes all previous added listeners from this element and its children 
		* @returns Ext.dom.Element this 
		*/
		purgeAllListeners?(): Ext.dom.IElement;
		/** [Method] Create an event handler on this element such that when the event fires and is handled by this element it will be rel  
		* @param eventName String The type of event to relay 
		* @param observable Object Any object that extends Ext.util.Observable that will provide the context for firing the relayed event 
		*/
		relayEvent?( eventName?:string, observable?:any ): void;
		/** [Method] Removes all previous added listeners from this element 
		* @returns Ext.dom.Element this 
		*/
		removeAllListeners?(): Ext.dom.IElement;
		/** [Method] Shorthand for un  
		* @param eventName String The name of the event from which to remove the handler. 
		* @param fn Function The handler function to remove. This must be a reference to the function passed into the on call. 
		* @param scope Object If a scope (this reference) was specified when the listener was added, then this must refer to the same object. 
		* @returns Ext.dom.Element this 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Animates the transition of an element s dimensions from a starting height width to an ending height width  
		* @param width Number The new width (pass undefined to keep the original width) 
		* @param height Number The new height (pass undefined to keep the original height) 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		scale?( width?:number, height?:number, options?:any ): Ext.IElement;
		/** [Method] Scrolls this element the specified direction  
		* @param direction String Possible values are:  "l" (or "left") "r" (or "right") "t" (or "top", or "up") "b" (or "bottom", or "down")  
		* @param distance Number How far to scroll the element in pixels 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Boolean Returns true if a scroll was triggered or false if the element was scrolled as far as it could go. 
		*/
		scroll?( direction?:string, distance?:number, animate?:any ): boolean;
		/** [Method] Scrolls this element by the passed delta values optionally animating  
		* @param deltaX Number/Number[]/Object Either the x delta, an Array specifying x and y deltas or an object with "x" and "y" properties. 
		* @param deltaY Number/Boolean/Object Either the y delta, or an animate flag or config object. 
		* @param animate Boolean/Object Animate flag/config object if the delta values were passed separately. 
		* @returns Ext.Element this 
		*/
		scrollBy?( deltaX?:any, deltaY?:any, animate?:any ): Ext.IElement;
		/** [Method] Scrolls this element into view within the passed container  
		* @param container String/HTMLElement/Ext.Element The container element to scroll. Should be a string (id), dom node, or Ext.Element. 
		* @param hscroll Boolean False to disable horizontal scroll. 
		* @param animate Boolean/Object true for the default animation or a standard Element 
		* @param highlight Boolean true to highlight the element when it is in view. animation config object 
		* @returns Ext.dom.Element this 
		*/
		scrollIntoView?( container?:any, hscroll?:boolean, animate?:any, highlight?:boolean ): Ext.dom.IElement;
		/** [Method] Scrolls this element the specified scroll point  
		* @param side String Either "left" for scrollLeft values or "top" for scrollTop values. 
		* @param value Number The new scroll value 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.Element this 
		*/
		scrollTo?( side?:string, value?:number, animate?:any ): Ext.IElement;
		/** [Method] Enable text selection for this element normalized across browsers  Defined in override Ext dom Element_style  
		* @returns Ext.Element this 
		*/
		selectable?(): Ext.IElement;
		/** [Method] Sets the element s CSS bottom style  
		* @param bottom Number/String Number of pixels or CSS string value to set as the bottom CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setBottom?( bottom?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s position and size in one shot  
		* @param x Number X value for new position (coordinates are page-based) 
		* @param y Number Y value for new position (coordinates are page-based) 
		* @param width Number/String The new width. This may be one of:  A Number specifying the new width in this Element's defaultUnits (by default, pixels) A String used to set the CSS width style. Animation may not be used.  
		* @param height Number/String The new height. This may be one of:  A Number specifying the new height in this Element's defaultUnits (by default, pixels) A String used to set the CSS height style. Animation may not be used.  
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		setBounds?( x?:number, y?:number, width?:any, height?:any, animate?:any ): Ext.dom.IElement;
		/** [Method] Sets the CSS display property  
		* @param value Boolean/String Boolean value to display the element using its default display, or a string to set the display directly. 
		* @returns Ext.dom.Element this 
		*/
		setDisplayed?( value?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s left position directly using CSS style instead of setX 
		* @param left Number/String Number of pixels or CSS string value to set as the left CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setLeft?( left?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s left and top positions directly using CSS style Defined in override Ext dom Element_position  
		* @param left Number/String Number of pixels or CSS string value to set as the left CSS property value 
		* @param top Number/String Number of pixels or CSS string value to set as the top CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setLeftTop?( left?:any, top?:any ): Ext.dom.IElement;
		/** [Method] Sets the position of the element in page coordinates  
		* @param x Number X value for new position 
		* @param y Number Y value for new position 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		setLocation?( x?:number, y?:number, animate?:any ): Ext.dom.IElement;
		/** [Method] Set the opacity of the element Defined in override Ext dom Element_style  
		* @param opacity Number The new opacity. 0 = transparent, .5 = 50% visibile, 1 = fully visible, etc 
		* @param animate Boolean/Object a standard Element animation config object or true for the default animation ({duration: 350, easing: 'easeIn'}) 
		* @returns Ext.dom.Element this 
		*/
		setOpacity?( opacity?:number, animate?:any ): Ext.dom.IElement;
		/** [Method] Set positioning with an object returned by getPositioning  
		* @param posCfg Object 
		* @returns Ext.dom.Element this 
		*/
		setPositioning?( posCfg?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s CSS right style  
		* @param right Number/String Number of pixels or CSS string value to set as the right CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setRight?( right?:any ): Ext.dom.IElement;
		/** [Method] Sets the left scroll position Defined in override Ext dom Element_scroll  
		* @param left Number The left scroll position 
		* @returns Ext.dom.Element this 
		*/
		setScrollLeft?( left?:number ): Ext.dom.IElement;
		/** [Method] Sets the top scroll position Defined in override Ext dom Element_scroll  
		* @param top Number The top scroll position 
		* @returns Ext.dom.Element this 
		*/
		setScrollTop?( top?:number ): Ext.dom.IElement;
		/** [Method] Sets the element s top position directly using CSS style instead of setY 
		* @param top Number/String Number of pixels or CSS string value to set as the top CSS property value 
		* @returns Ext.dom.Element this 
		*/
		setTop?( top?:any ): Ext.dom.IElement;
		/** [Method] Sets the visibility of the element see details 
		* @param visible Boolean Whether the element is visible 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		setVisible?( visible?:boolean, animate?:any ): Ext.dom.IElement;
		/** [Method] Animates the transition of any combination of an element s dimensions xy position and or opacity  
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.Element The Element 
		*/
		shift?( options?:any ): Ext.IElement;
		/** [Method] Show this element  Uses display mode to determine whether to use display or visibility 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		show?( animate?:any ): Ext.dom.IElement;
		/** [Method] Slides the element into view  
		* @param anchor String One of the valid Ext.fx.Anim anchor positions (defaults to top: 't') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		slideIn?( anchor?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Slides the element out of view  
		* @param anchor String One of the valid Ext.fx.Anim anchor positions (defaults to top: 't') 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		slideOut?( anchor?:string, options?:any ): Ext.dom.IElement;
		/** [Method] Stops the specified event s from bubbling and optionally prevents the default action 
		* @param eventName String/String[] an event / array of events to stop from bubbling 
		* @param preventDefault Boolean true to prevent the default action too 
		* @returns Ext.dom.Element this 
		*/
		swallowEvent?( eventName?:any, preventDefault?:boolean ): Ext.dom.IElement;
		/** [Method] Blinks the element as if it was clicked and then collapses on its center similar to switching off a television 
		* @param options Object Object literal with any of the Ext.fx.Anim config options 
		* @returns Ext.dom.Element The Element 
		*/
		switchOff?( options?:any ): Ext.dom.IElement;
		/** [Method] Toggles the element s visibility or display depending on visibility mode  
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.dom.Element this 
		*/
		toggle?( animate?:any ): Ext.dom.IElement;
		/** [Method] Removes an event handler from this element  
		* @param eventName String The name of the event from which to remove the handler. 
		* @param fn Function The handler function to remove. This must be a reference to the function passed into the on call. 
		* @param scope Object If a scope (this reference) was specified when the listener was added, then this must refer to the same object. 
		* @returns Ext.dom.Element this 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): Ext.dom.IElement;
		/** [Method] Return clipping overflow to original clipping before clip was called Defined in override Ext dom Element_style  
		* @returns Ext.dom.Element this 
		*/
		unclip?(): Ext.dom.IElement;
		/** [Method] Hides a previously applied mask  */
		unmask?(): void;
		/** [Method] Disables text selection for this element normalized across browsers  Defined in override Ext dom Element_style  
		* @returns Ext.dom.Element this 
		*/
		unselectable?(): Ext.dom.IElement;
		/** [Method] Updates the innerHTML of this element optionally searching for and processing scripts  
		* @param html String The new HTML 
		* @param loadScripts Boolean True to look for and process scripts (defaults to false) 
		* @param callback Function For async script loading you can be notified when the update completes 
		* @returns Ext.dom.Element this 
		*/
		update?( html?:string, loadScripts?:boolean, callback?:any ): Ext.dom.IElement;
	}
	export class Element {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Returns the top Element that is located at the passed coordinates Defined in override Ext dom AbstractElement_static  
		* @param x Number The x coordinate 
		* @param y Number The y coordinate 
		* @returns String The found Element 
		*/
		static fromPoint( x?:number, y?:number ): string;
		/** [Method] Retrieves Ext dom Element objects  
		* @param el String/HTMLElement/Ext.Element The id of the node, a DOM Node or an existing Element. 
		* @returns Ext.dom.Element The Element object (or null if no matching element was found) 
		*/
		static get( el?:any ): Ext.dom.IElement;
		/** [Method] Retrieves the document height Defined in override Ext dom AbstractElement_static  
		* @returns Number documentHeight 
		*/
		static getDocumentHeight(): number;
		/** [Method] Retrieves the document width Defined in override Ext dom AbstractElement_static  
		* @returns Number documentWidth 
		*/
		static getDocumentWidth(): number;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Retrieves the current orientation of the window  
		* @returns String Orientation of window: 'portrait' or 'landscape' 
		*/
		static getOrientation(): string;
		/** [Method] Retrieves the viewport size of the window  
		* @returns Object object containing width and height properties 
		*/
		static getViewSize(): any;
		/** [Method] Retrieves the viewport height of the window  
		* @returns Number viewportHeight 
		*/
		static getViewportHeight(): number;
		/** [Method] Retrieves the viewport width of the window  
		* @returns Number viewportWidth 
		*/
		static getViewportWidth(): number;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Returns an array of unique class names based upon the input strings or string arrays  
		* @param clsList1 Mixed A string of class names, or an array of class names. 
		* @param clsList2 Mixed A string of class names, or an array of class names. 
		* @returns Array An array of strings representing remaining unique, merged class names. If class names were added to the first list, the changed property will be true. 
		*/
		static mergeClsList( clsList1?:any, clsList2?:any ): any[];
		/** [Method] Normalizes CSS property keys from dash delimited to camel case JavaScript Syntax  
		* @param prop String The property to normalize 
		* @returns String The normalized string 
		*/
		static normalize( prop?:string ): string;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
		/** [Method] Parses a number or string representing margin sizes into an object  
		* @param box Number/String The encoded margins 
		* @returns Object An object with margin sizes for top, right, bottom and left 
		*/
		static parseBox( box?:any ): any;
		/** [Method] Converts a CSS string into an object with a property for each style  
		* @param styles String A CSS string 
		* @returns Object styles 
		*/
		static parseStyles( styles?:string ): any;
		/** [Method] Returns an array of unique class names deom the first parameter with all class names from the second parameter removed  
		* @param existingClsList Mixed A string of class names, or an array of class names. 
		* @param removeClsList Mixed A string of class names, or an array of class names to remove from existingClsList. 
		* @returns Array An array of strings representing remaining class names. If class names were removed, the changed property will be true. 
		*/
		static removeCls( existingClsList?:any, removeClsList?:any ): any[];
		/** [Method] Selects elements based on the passed CSS selector to enable Element methods to be applied to many related elements in  
		* @param selector String/HTMLElement[] The CSS selector or an array of elements 
		* @param unique Boolean true to create a unique Ext.Element for each element (defaults to a shared flyweight object) 
		* @param root HTMLElement/String The root element of the query or id of the root 
		* @returns Ext.CompositeElementLite/Ext.CompositeElement 
		*/
		static select( selector?:any, unique?:boolean, root?:any ): any;
		/** [Method] Parses a number or string representing margin sizes into an object  
		* @param box Number/String/Object The encoded margins, or an object with top, right, bottom, and left properties 
		* @param units String The type of units to add 
		* @returns String An string with unitized (px if units is not specified) metrics for top, right, bottom and left 
		*/
		static unitizeBox( box?:any, units?:string ): string;
	}
}
declare module Ext.dom {
	export interface IHelper extends Ext.dom.IAbstractHelper {
		/** [Property] (Boolean) */
		useDom?: boolean;
		/** [Method] Creates new DOM element s without inserting them to the document  
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @returns HTMLElement The new uninserted node 
		*/
		createDom?( o?:any ): HTMLElement;
		/** [Method] Alias for markup  
		* @param spec Object The DOM object spec (and children) 
		* @returns String 
		*/
		createHtml?( spec?:any ): string;
		/** [Method] Creates a new Ext Template from the DOM object spec  
		* @param o Object The DOM object spec (and children) 
		* @returns Ext.Template The new template 
		*/
		createTemplate?( o?:any ): Ext.ITemplate;
		/** [Method] Creates new DOM element s and overwrites the contents of el with them  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return an Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		overwrite?( el?:any, o?:any, returnElement?:boolean ): any;
	}
}
declare module Ext.dom {
	export interface ILayer extends Ext.IElement {
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Object) */
		dh?: any;
		/** [Config Option] (String) */
		hideMode?: string;
		/** [Config Option] (String/Boolean) */
		shadow?: any;
		/** [Config Option] (Number) */
		shadowOffset?: number;
		/** [Config Option] (Boolean) */
		shim?: boolean;
		/** [Config Option] (Boolean) */
		useDisplay?: boolean;
		/** [Config Option] (String) */
		visibilityCls?: string;
		/** [Config Option] (Number) */
		zindex?: number;
		/** [Method] Removes this element s dom reference  */
		remove?(): void;
		/** [Method] overridden Element method 
		* @param x Object 
		* @param y Object 
		* @param width Object 
		* @param height Object 
		* @param animate Object 
		* @param duration Object 
		* @param callback Object 
		* @param easing Object 
		* @returns Ext.dom.Element this 
		*/
		setBounds?( x?:any, y?:any, width?:any, height?:any, animate?:any, duration?:any, callback?:any, easing?:any ): Ext.dom.IElement;
		/** [Method] overridden Element method 
		* @param h Object 
		* @param animate Object 
		* @param duration Object 
		* @param callback Object 
		* @param easing Object 
		* @returns Ext.dom.Element this 
		*/
		setHeight?( h?:any, animate?:any, duration?:any, callback?:any, easing?:any ): Ext.dom.IElement;
		/** [Method] overridden Element method 
		* @param left Object 
		* @returns Ext.dom.Element this 
		*/
		setLeft?( left?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s left and top positions directly using CSS style Defined in override Ext dom Element_position  
		* @param left Object 
		* @param top Object 
		* @returns Ext.dom.Element this 
		*/
		setLeftTop?( left?:any, top?:any ): Ext.dom.IElement;
		/** [Method] overridden Element method 
		* @param w Object 
		* @param h Object 
		* @param animate Object 
		* @param duration Object 
		* @param callback Object 
		* @param easing Object 
		* @returns Ext.dom.Element this 
		*/
		setSize?( w?:any, h?:any, animate?:any, duration?:any, callback?:any, easing?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s top position directly using CSS style instead of setY 
		* @param top Object 
		* @returns Ext.dom.Element this 
		*/
		setTop?( top?:any ): Ext.dom.IElement;
		/** [Method] overridden Element method 
		* @param visible Object 
		* @param animate Object 
		* @param duration Object 
		* @param callback Object 
		* @param easing Object 
		* @returns Ext.dom.Element this 
		*/
		setVisible?( visible?:any, animate?:any, duration?:any, callback?:any, easing?:any ): Ext.dom.IElement;
		/** [Method] overridden Element method 
		* @param w Object 
		* @param animate Object 
		* @param duration Object 
		* @param callback Object 
		* @param easing Object 
		* @returns Ext.dom.Element this 
		*/
		setWidth?( w?:any, animate?:any, duration?:any, callback?:any, easing?:any ): Ext.dom.IElement;
		/** [Method] Sets the z index of this layer and adjusts any shadow and shim z indexes  
		* @param zindex Number The new z-index to set 
		* @returns Ext.Layer The Layer 
		*/
		setZIndex?( zindex?:number ): Ext.ILayer;
	}
}
declare module Ext {
	export interface ILayer extends Ext.IElement {
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Object) */
		dh?: any;
		/** [Config Option] (String) */
		hideMode?: string;
		/** [Config Option] (String/Boolean) */
		shadow?: any;
		/** [Config Option] (Number) */
		shadowOffset?: number;
		/** [Config Option] (Boolean) */
		shim?: boolean;
		/** [Config Option] (Boolean) */
		useDisplay?: boolean;
		/** [Config Option] (String) */
		visibilityCls?: string;
		/** [Config Option] (Number) */
		zindex?: number;
		/** [Method] Removes this element s dom reference  */
		remove?(): void;
		/** [Method] overridden Element method 
		* @param x Object 
		* @param y Object 
		* @param width Object 
		* @param height Object 
		* @param animate Object 
		* @param duration Object 
		* @param callback Object 
		* @param easing Object 
		* @returns Ext.dom.Element this 
		*/
		setBounds?( x?:any, y?:any, width?:any, height?:any, animate?:any, duration?:any, callback?:any, easing?:any ): Ext.dom.IElement;
		/** [Method] overridden Element method 
		* @param h Object 
		* @param animate Object 
		* @param duration Object 
		* @param callback Object 
		* @param easing Object 
		* @returns Ext.dom.Element this 
		*/
		setHeight?( h?:any, animate?:any, duration?:any, callback?:any, easing?:any ): Ext.dom.IElement;
		/** [Method] overridden Element method 
		* @param left Object 
		* @returns Ext.dom.Element this 
		*/
		setLeft?( left?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s left and top positions directly using CSS style Defined in override Ext dom Element_position  
		* @param left Object 
		* @param top Object 
		* @returns Ext.dom.Element this 
		*/
		setLeftTop?( left?:any, top?:any ): Ext.dom.IElement;
		/** [Method] overridden Element method 
		* @param w Object 
		* @param h Object 
		* @param animate Object 
		* @param duration Object 
		* @param callback Object 
		* @param easing Object 
		* @returns Ext.dom.Element this 
		*/
		setSize?( w?:any, h?:any, animate?:any, duration?:any, callback?:any, easing?:any ): Ext.dom.IElement;
		/** [Method] Sets the element s top position directly using CSS style instead of setY 
		* @param top Object 
		* @returns Ext.dom.Element this 
		*/
		setTop?( top?:any ): Ext.dom.IElement;
		/** [Method] overridden Element method 
		* @param visible Object 
		* @param animate Object 
		* @param duration Object 
		* @param callback Object 
		* @param easing Object 
		* @returns Ext.dom.Element this 
		*/
		setVisible?( visible?:any, animate?:any, duration?:any, callback?:any, easing?:any ): Ext.dom.IElement;
		/** [Method] overridden Element method 
		* @param w Object 
		* @param animate Object 
		* @param duration Object 
		* @param callback Object 
		* @param easing Object 
		* @returns Ext.dom.Element this 
		*/
		setWidth?( w?:any, animate?:any, duration?:any, callback?:any, easing?:any ): Ext.dom.IElement;
		/** [Method] Sets the z index of this layer and adjusts any shadow and shim z indexes  
		* @param zindex Number The new z-index to set 
		* @returns Ext.Layer The Layer 
		*/
		setZIndex?( zindex?:number ): Ext.ILayer;
	}
}
declare module Ext.dom {
	export interface IQuery {
	}
	export class Query {
		/** [Method] Compiles a selector xpath query into a reusable function  
		* @param selector String The selector/xpath query 
		* @param type String Either "select" or "simple" for a simple selector match 
		* @returns Function 
		*/
		static compile( selector?:string, type?:string ): any;
		/** [Method] Filters an array of elements to only include matches of a simple selector e g  
		* @param el HTMLElement[] An array of elements to filter 
		* @param selector String The simple selector to test 
		* @param nonMatches Boolean If true, it returns the elements that DON'T match the selector instead of the ones that match 
		* @returns HTMLElement[] An Array of DOM elements which match the selector. If there are no matches, and empty Array is returned. 
		*/
		static filter( el?:HTMLElement[], selector?:string, nonMatches?:boolean ): HTMLElement[];
		/** [Method] Returns true if the passed element s match the passed simple selector e g  
		* @param el String/HTMLElement/HTMLElement[] An element id, element or array of elements 
		* @param selector String The simple selector to test 
		* @returns Boolean 
		*/
		static is( el?:any, selector?:string ): boolean;
		/** [Method] Selects an array of DOM nodes using JavaScript only implementation  
		* @param selector String The selector/xpath query (can be a comma separated list of selectors) 
		* @param root HTMLElement/String The start of the query. 
		* @returns HTMLElement[] An Array of DOM elements which match the selector. If there are no matches, and empty Array is returned. 
		*/
		static jsSelect( selector?:string, root?:any ): HTMLElement[];
		/** [Method] Selects an array of DOM nodes by CSS XPath selector  
		* @param path String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @param type String Either "select" or "simple" for a simple selector match (only valid when used when the call is deferred to the jsSelect method) 
		* @param single Boolean Pass true to select only the first matching node using document.querySelector (where available) 
		* @returns HTMLElement[] An array of DOM elements (not a NodeList as returned by querySelectorAll). 
		*/
		static select( path?:string, root?:HTMLElement, type?:string, single?:boolean ): HTMLElement[];
		/** [Method] Selects a single element  
		* @param selector String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @returns HTMLElement The DOM element which matched the selector. 
		*/
		static selectNode( selector?:string, root?:HTMLElement ): HTMLElement;
		/** [Method] Selects the value of a node parsing integers and floats  
		* @param selector String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @param defaultValue Number When specified, this is return as empty value. 
		* @returns Number 
		*/
		static selectNumber( selector?:string, root?:HTMLElement, defaultValue?:number ): number;
		/** [Method] Selects the value of a node optionally replacing null with the defaultValue  
		* @param selector String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @param defaultValue String When specified, this is return as empty value. 
		* @returns String 
		*/
		static selectValue( selector?:string, root?:HTMLElement, defaultValue?:string ): string;
	}
}
declare module Ext {
	export interface IDomQuery {
	}
	export class DomQuery {
		/** [Method] Compiles a selector xpath query into a reusable function  
		* @param selector String The selector/xpath query 
		* @param type String Either "select" or "simple" for a simple selector match 
		* @returns Function 
		*/
		static compile( selector?:string, type?:string ): any;
		/** [Method] Filters an array of elements to only include matches of a simple selector e g  
		* @param el HTMLElement[] An array of elements to filter 
		* @param selector String The simple selector to test 
		* @param nonMatches Boolean If true, it returns the elements that DON'T match the selector instead of the ones that match 
		* @returns HTMLElement[] An Array of DOM elements which match the selector. If there are no matches, and empty Array is returned. 
		*/
		static filter( el?:HTMLElement[], selector?:string, nonMatches?:boolean ): HTMLElement[];
		/** [Method] Returns true if the passed element s match the passed simple selector e g  
		* @param el String/HTMLElement/HTMLElement[] An element id, element or array of elements 
		* @param selector String The simple selector to test 
		* @returns Boolean 
		*/
		static is( el?:any, selector?:string ): boolean;
		/** [Method] Selects an array of DOM nodes using JavaScript only implementation  
		* @param selector String The selector/xpath query (can be a comma separated list of selectors) 
		* @param root HTMLElement/String The start of the query. 
		* @returns HTMLElement[] An Array of DOM elements which match the selector. If there are no matches, and empty Array is returned. 
		*/
		static jsSelect( selector?:string, root?:any ): HTMLElement[];
		/** [Method] Selects an array of DOM nodes by CSS XPath selector  
		* @param path String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @param type String Either "select" or "simple" for a simple selector match (only valid when used when the call is deferred to the jsSelect method) 
		* @param single Boolean Pass true to select only the first matching node using document.querySelector (where available) 
		* @returns HTMLElement[] An array of DOM elements (not a NodeList as returned by querySelectorAll). 
		*/
		static select( path?:string, root?:HTMLElement, type?:string, single?:boolean ): HTMLElement[];
		/** [Method] Selects a single element  
		* @param selector String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @returns HTMLElement The DOM element which matched the selector. 
		*/
		static selectNode( selector?:string, root?:HTMLElement ): HTMLElement;
		/** [Method] Selects the value of a node parsing integers and floats  
		* @param selector String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @param defaultValue Number When specified, this is return as empty value. 
		* @returns Number 
		*/
		static selectNumber( selector?:string, root?:HTMLElement, defaultValue?:number ): number;
		/** [Method] Selects the value of a node optionally replacing null with the defaultValue  
		* @param selector String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @param defaultValue String When specified, this is return as empty value. 
		* @returns String 
		*/
		static selectValue( selector?:string, root?:HTMLElement, defaultValue?:string ): string;
	}
}
declare module Ext.core {
	export interface IDomQuery {
	}
	export class DomQuery {
		/** [Method] Compiles a selector xpath query into a reusable function  
		* @param selector String The selector/xpath query 
		* @param type String Either "select" or "simple" for a simple selector match 
		* @returns Function 
		*/
		static compile( selector?:string, type?:string ): any;
		/** [Method] Filters an array of elements to only include matches of a simple selector e g  
		* @param el HTMLElement[] An array of elements to filter 
		* @param selector String The simple selector to test 
		* @param nonMatches Boolean If true, it returns the elements that DON'T match the selector instead of the ones that match 
		* @returns HTMLElement[] An Array of DOM elements which match the selector. If there are no matches, and empty Array is returned. 
		*/
		static filter( el?:HTMLElement[], selector?:string, nonMatches?:boolean ): HTMLElement[];
		/** [Method] Returns true if the passed element s match the passed simple selector e g  
		* @param el String/HTMLElement/HTMLElement[] An element id, element or array of elements 
		* @param selector String The simple selector to test 
		* @returns Boolean 
		*/
		static is( el?:any, selector?:string ): boolean;
		/** [Method] Selects an array of DOM nodes using JavaScript only implementation  
		* @param selector String The selector/xpath query (can be a comma separated list of selectors) 
		* @param root HTMLElement/String The start of the query. 
		* @returns HTMLElement[] An Array of DOM elements which match the selector. If there are no matches, and empty Array is returned. 
		*/
		static jsSelect( selector?:string, root?:any ): HTMLElement[];
		/** [Method] Selects an array of DOM nodes by CSS XPath selector  
		* @param path String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @param type String Either "select" or "simple" for a simple selector match (only valid when used when the call is deferred to the jsSelect method) 
		* @param single Boolean Pass true to select only the first matching node using document.querySelector (where available) 
		* @returns HTMLElement[] An array of DOM elements (not a NodeList as returned by querySelectorAll). 
		*/
		static select( path?:string, root?:HTMLElement, type?:string, single?:boolean ): HTMLElement[];
		/** [Method] Selects a single element  
		* @param selector String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @returns HTMLElement The DOM element which matched the selector. 
		*/
		static selectNode( selector?:string, root?:HTMLElement ): HTMLElement;
		/** [Method] Selects the value of a node parsing integers and floats  
		* @param selector String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @param defaultValue Number When specified, this is return as empty value. 
		* @returns Number 
		*/
		static selectNumber( selector?:string, root?:HTMLElement, defaultValue?:number ): number;
		/** [Method] Selects the value of a node optionally replacing null with the defaultValue  
		* @param selector String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @param defaultValue String When specified, this is return as empty value. 
		* @returns String 
		*/
		static selectValue( selector?:string, root?:HTMLElement, defaultValue?:string ): string;
	}
}
declare module Ext {
	export interface IDomHelper extends Ext.dom.IHelper {
	}
	export class DomHelper {
		/** [Method] Creates new DOM element s and appends them to el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		static append( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Applies a style specification to an element  
		* @param el String/HTMLElement The element to apply styles to 
		* @param styles String/Object/Function A style specification string e.g. 'width:100px', or object in the form {width:'100px'}, or a function which returns such a specification. 
		*/
		static applyStyles( el?:any, styles?:any ): void;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Creates new DOM element s without inserting them to the document  
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @returns HTMLElement The new uninserted node 
		*/
		static createDom( o?:any ): HTMLElement;
		/** [Method] Alias for markup  
		* @param spec Object The DOM object spec (and children) 
		* @returns String 
		*/
		static createHtml( spec?:any ): string;
		/** [Method] Creates a new Ext Template from the DOM object spec  
		* @param o Object The DOM object spec (and children) 
		* @returns Ext.Template The new template 
		*/
		static createTemplate( o?:any ): Ext.ITemplate;
		/** [Method] Converts the styles from the given object to text  
		* @param styles Object The object describing the styles. 
		* @param buffer String[] The output buffer. 
		* @returns String/String[] If buffer is passed, it is returned. Otherwise the style string is returned. 
		*/
		static generateStyles( styles?:any, buffer?:string[] ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Creates new DOM element s and inserts them after el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object The DOM object spec (and children) 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		static insertAfter( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Creates new DOM element s and inserts them before el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		static insertBefore( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Creates new DOM element s and inserts them as the first child of el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		static insertFirst( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Inserts an HTML fragment into the DOM  
		* @param where String Where to insert the html in relation to el - beforeBegin, afterBegin, beforeEnd, afterEnd. For example take the following HTML: &lt;div&gt;Contents&lt;/div&gt; Using different where values inserts element to the following places:  beforeBegin: &lt;HERE&gt;&lt;div&gt;Contents&lt;/div&gt; afterBegin: &lt;div&gt;&lt;HERE&gt;Contents&lt;/div&gt; beforeEnd: &lt;div&gt;Contents&lt;HERE&gt;&lt;/div&gt; afterEnd: &lt;div&gt;Contents&lt;/div&gt;&lt;HERE&gt;  
		* @param el HTMLElement/TextNode The context element 
		* @param html String The HTML fragment 
		* @returns HTMLElement The new node 
		*/
		static insertHtml( where?:string, el?:any, html?:string ): HTMLElement;
		/** [Method] Returns the markup for the passed Element s config  
		* @param spec Object The DOM object spec (and children) 
		* @returns String 
		*/
		static markup( spec?:any ): string;
		/** [Method] Creates new DOM element s and overwrites the contents of el with them  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return an Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		static overwrite( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.core {
	export interface IDomHelper extends Ext.dom.IHelper {
	}
	export class DomHelper {
		/** [Method] Creates new DOM element s and appends them to el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		static append( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Applies a style specification to an element  
		* @param el String/HTMLElement The element to apply styles to 
		* @param styles String/Object/Function A style specification string e.g. 'width:100px', or object in the form {width:'100px'}, or a function which returns such a specification. 
		*/
		static applyStyles( el?:any, styles?:any ): void;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Creates new DOM element s without inserting them to the document  
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @returns HTMLElement The new uninserted node 
		*/
		static createDom( o?:any ): HTMLElement;
		/** [Method] Alias for markup  
		* @param spec Object The DOM object spec (and children) 
		* @returns String 
		*/
		static createHtml( spec?:any ): string;
		/** [Method] Creates a new Ext Template from the DOM object spec  
		* @param o Object The DOM object spec (and children) 
		* @returns Ext.Template The new template 
		*/
		static createTemplate( o?:any ): Ext.ITemplate;
		/** [Method] Converts the styles from the given object to text  
		* @param styles Object The object describing the styles. 
		* @param buffer String[] The output buffer. 
		* @returns String/String[] If buffer is passed, it is returned. Otherwise the style string is returned. 
		*/
		static generateStyles( styles?:any, buffer?:string[] ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Creates new DOM element s and inserts them after el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object The DOM object spec (and children) 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		static insertAfter( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Creates new DOM element s and inserts them before el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		static insertBefore( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Creates new DOM element s and inserts them as the first child of el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return a Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		static insertFirst( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Inserts an HTML fragment into the DOM  
		* @param where String Where to insert the html in relation to el - beforeBegin, afterBegin, beforeEnd, afterEnd. For example take the following HTML: &lt;div&gt;Contents&lt;/div&gt; Using different where values inserts element to the following places:  beforeBegin: &lt;HERE&gt;&lt;div&gt;Contents&lt;/div&gt; afterBegin: &lt;div&gt;&lt;HERE&gt;Contents&lt;/div&gt; beforeEnd: &lt;div&gt;Contents&lt;HERE&gt;&lt;/div&gt; afterEnd: &lt;div&gt;Contents&lt;/div&gt;&lt;HERE&gt;  
		* @param el HTMLElement/TextNode The context element 
		* @param html String The HTML fragment 
		* @returns HTMLElement The new node 
		*/
		static insertHtml( where?:string, el?:any, html?:string ): HTMLElement;
		/** [Method] Returns the markup for the passed Element s config  
		* @param spec Object The DOM object spec (and children) 
		* @returns String 
		*/
		static markup( spec?:any ): string;
		/** [Method] Creates new DOM element s and overwrites the contents of el with them  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param o Object/String The DOM object spec (and children) or raw HTML blob 
		* @param returnElement Boolean true to return an Ext.Element 
		* @returns HTMLElement/Ext.Element The new node 
		*/
		static overwrite( el?:any, o?:any, returnElement?:boolean ): any;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.draw {
	export interface IColor extends Ext.IBase {
		/** [Config Option] (Number) */
		lightnessFactor?: number;
		/** [Method] Get the blue component of the color in the range 0 255  
		* @returns Number 
		*/
		getBlue?(): number;
		/** [Method] Return a new color that is darker than this color  
		* @param factor Number Darker factor (0..1), default to 0.2 
		* @returns Object Ext.draw.Color 
		*/
		getDarker?( factor?:number ): any;
		/** [Method] Returns the gray value 0 to 255 of the color  
		* @returns Number 
		*/
		getGrayscale?(): number;
		/** [Method] Get the green component of the color in the range 0 255  
		* @returns Number 
		*/
		getGreen?(): number;
		/** [Method] Get the equivalent HSL components of the color  
		* @returns Number[] 
		*/
		getHSL?(): number[];
		/** [Method] Return a new color that is lighter than this color  
		* @param factor Number Lighter factor (0..1), default to 0.2 
		* @returns Object Ext.draw.Color 
		*/
		getLighter?( factor?:number ): any;
		/** [Method] Get the RGB values  
		* @returns Number[] 
		*/
		getRGB?(): number[];
		/** [Method] Get the red component of the color in the range 0 255  
		* @returns Number 
		*/
		getRed?(): number;
		/** [Method] Return the color in the hex format i e  
		* @returns String 
		*/
		toString?(): string;
	}
	export class Color {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Create a new color based on the specified HSL values  
		* @param h Number Hue component (0..359) 
		* @param s Number Saturation component (0..1) 
		* @param l Number Lightness component (0..1) 
		* @returns Object Ext.draw.Color 
		*/
		static fromHSL( h?:number, s?:number, l?:number ): any;
		/** [Method] Parse the string and create a new color  
		* @param str String Color in string. 
		* @returns Object Ext.draw.Color 
		*/
		static fromString( str?:string ): any;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
		/** [Method] Convert a color to hexadecimal format  
		* @param color String/String[] The color value (i.e 'rgb(255, 255, 255)', 'color: #ffffff'). Can also be an Array, in this case the function handles the first member. 
		* @returns String The color in hexadecimal format. 
		*/
		static toHex( color?:any ): string;
	}
}
declare module Ext.draw {
	export interface IComponent extends Ext.IComponent {
		/** [Config Option] (Boolean) */
		autoSize?: boolean;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String[]) */
		enginePriority?: string[];
		/** [Config Option] (Object[]) */
		gradients?: any[];
		/** [Config Option] (Ext.draw.Sprite[]) */
		items?: Ext.draw.ISprite[];
		/** [Config Option] (Boolean/Number) */
		shrinkWrap?: any;
		/** [Config Option] (Boolean) */
		viewBox?: boolean;
		/** [Property] (Ext.draw.Surface) */
		surface?: Ext.draw.ISurface;
	}
}
declare module Ext.draw {
	export interface ICompositeSprite extends Ext.util.IMixedCollection,Ext.util.IAnimate {
		/** [Method] Inherit docs from MixedCollection 
		* @param key Object 
		* @param o Object 
		* @returns Object The item added. 
		*/
		add?( key?:any, o?:any ): any;
		/** [Method] Adds class to all sprites  
		* @param cls String CSS class name 
		*/
		addCls?( cls?:string ): void;
		/** [Method] Performs custom animation on this object  
		* @param config Object Configuration for Ext.fx.Anim. Note that the to config is required. 
		* @returns Object this 
		*/
		animate?( config?:any ): any;
		/** [Method] Destroys this CompositeSprite  */
		destroy?(): void;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		getActiveAnimation?(): any;
		/** [Method] Returns the group bounding box  
		* @returns Object an object with x, y, width, and height properties. 
		*/
		getBBox?(): any;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		hasActiveFx?(): any;
		/** [Method] Hides all sprites  
		* @param redraw Boolean Flag to immediately draw the change. 
		* @returns Ext.draw.CompositeSprite this 
		*/
		hide?( redraw?:boolean ): Ext.draw.ICompositeSprite;
		/** [Method] Inserts an item at the specified index in the collection  
		* @param index Object 
		* @param key Object 
		* @param o Object 
		* @returns Object The item inserted or an array of items inserted. 
		*/
		insert?( index?:any, key?:any, o?:any ): any;
		/** [Method] Force redraw of all sprites  */
		redraw?(): void;
		/** [Method] Inherit docs from MixedCollection 
		* @param o Object 
		* @returns Object The item removed or false if no item was removed. 
		*/
		remove?( o?:any ): any;
		/** [Method] Removes class from all sprites  
		* @param cls String CSS class name 
		*/
		removeCls?( cls?:string ): void;
		/** [Method] Ensures that all effects queued after sequenceFx is called on this object are run in sequence  
		* @returns Object this 
		*/
		sequenceFx?(): any;
		/** [Method] Iterates through all sprites calling setAttributes on each one  
		* @param attrs Object Attributes to be changed on the sprite. 
		* @param redraw Boolean Flag to immediately draw the change. 
		* @returns Ext.draw.CompositeSprite this 
		*/
		setAttributes?( attrs?:any, redraw?:boolean ): Ext.draw.ICompositeSprite;
		/** [Method] Sets style for all sprites  
		* @param style String CSS Style definition. 
		*/
		setStyle?( style?:string ): void;
		/** [Method] Shows all sprites  
		* @param redraw Boolean Flag to immediately draw the change. 
		* @returns Ext.draw.CompositeSprite this 
		*/
		show?( redraw?:boolean ): Ext.draw.ICompositeSprite;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		stopAnimation?(): Ext.IElement;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		stopFx?(): Ext.IElement;
		/** [Method] Ensures that all effects queued after syncFx is called on this object are run concurrently  
		* @returns Object this 
		*/
		syncFx?(): any;
	}
}
declare module Ext.draw {
	export interface IDraw extends Ext.IBase {
	}
	export class Draw {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] snapEndsByDate is a utility method to deduce an appropriate tick configuration for the data set of given feature  
		* @param from Date The minimum value in the data 
		* @param to Date The maximum value in the data 
		* @param stepsMax Number The maximum number of ticks 
		* @param lockEnds Boolean If true, the 'from' and 'to' parameters will be used as fixed end values and will not be adjusted 
		* @returns Object The calculated step and ends info; properties are: - from: The result start value, which may be lower than the original start value - to: The result end value, which may be higher than the original end value - step: The fixed value size of each step, or undefined if the steps are not fixed. - steps: The number of steps if the steps are fixed, or an array of step values. NOTE: Even when the steps have a fixed value, they may not divide the from/to range perfectly evenly; there may be a smaller distance between the last step and the end value than between prior steps, particularly when the endsLocked param is true. Therefore it is best to not use the steps result when finding the axis tick points, instead use the step, to, and from to find the correct point for each tick. 
		*/
		static snapEndsByDate( from?:any, to?:any, stepsMax?:number, lockEnds?:boolean ): any;
		/** [Method] snapEndsByDateAndStep is a utility method to deduce an appropriate tick configuration for the data set of given featu  
		* @param from Date The minimum value in the data 
		* @param to Date The maximum value in the data 
		* @param step Array An array with two components: The first is the unit of the step (day, month, year, etc). The second is the number of units for the step (1, 2, etc.). If the number is an integer, it represents the number of units for the step ([Ext.Date.DAY, 2] means "Every other day"). If the number is a fraction, it represents the number of steps per unit ([Ext.Date.DAY, 1/2] means "Twice a day"). If the unit is the month, the steps may be adjusted depending on the month. For instance [Ext.Date.MONTH, 1/3], which means "Three times a month", generates steps on the 1st, the 10th and the 20th of every month regardless of whether a month has 28 days or 31 days. The steps are generated as follows: - [Ext.Date.MONTH, n]: on the current date every 'n' months, maxed to the number of days in the month. - [Ext.Date.MONTH, 1/2]: on the 1st and 15th of every month. - [Ext.Date.MONTH, 1/3]: on the 1st, 10th and 20th of every month. - [Ext.Date.MONTH, 1/4]: on the 1st, 8th, 15th and 22nd of every month. 
		* @param lockEnds Boolean If true, the 'from' and 'to' parameters will be used as fixed end values  and will not be adjusted 
		* @returns Object The calculated step and ends info; properties are: - from: The result start value, which may be lower than the original start value - to: The result end value, which may be higher than the original end value - step: The fixed value size of each step, or undefined if the steps are not fixed. - steps: The number of steps if the steps are fixed, or an array of step values. NOTE: Even when the steps have a fixed value, they may not divide the from/to range perfectly evenly; there may be a smaller distance between the last step and the end value than between prior steps, particularly when the endsLocked param is true. Therefore it is best to not use the steps result when finding the axis tick points, instead use the step, to, and from to find the correct point for each tick. 
		*/
		static snapEndsByDateAndStep( from?:any, to?:any, step?:any[], lockEnds?:boolean ): any;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.draw.engine {
	export interface IImageExporter extends Ext.IBase {
	}
	export class ImageExporter {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Exports the surface to an image 
		* @param surface Ext.draw.Surface The surface to export 
		* @param config Object The following config options are supported: 
		* @returns Boolean True if the surface was successfully sent to the server. 
		*/
		static generate( surface?:Ext.draw.ISurface, config?:any ): boolean;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.draw.engine {
	export interface ISvg extends Ext.draw.ISurface {
		/** [Method] Adds one or more CSS classes to the element  
		* @param sprite Object 
		* @param className Object 
		*/
		addCls?( sprite?:any, className?:any ): void;
		/** [Method] Adds a gradient definition to the Surface  
		* @param gradient Object 
		*/
		addGradient?( gradient?:any ): void;
		/** [Method] Insert or move a given sprite s element to the correct place in the DOM list for its zIndex 
		* @param sprite Ext.draw.Sprite 
		*/
		applyZIndex?( sprite?:Ext.draw.ISprite ): void;
		/** [Method] Destroys the surface  */
		destroy?(): void;
		/** [Method] Get the region for the surface s canvas area 
		* @returns Ext.util.Region 
		*/
		getRegion?(): Ext.util.IRegion;
		/** [Method] Checks if the specified CSS class exists on this element s DOM node  
		* @param sprite Ext.draw.Sprite The sprite to look into. 
		* @param className String The CSS class to check for 
		* @returns Boolean True if the class exists, else false 
		*/
		hasCls?( sprite?:Ext.draw.ISprite, className?:string ): boolean;
		/** [Method] Removes one or more CSS classes from the element  
		* @param sprite Object 
		* @param className Object 
		*/
		removeCls?( sprite?:any, className?:any ): void;
		/** [Method] Sets the size of the surface  
		* @param width Object 
		* @param height Object 
		*/
		setSize?( width?:any, height?:any ): void;
		/** [Method] Changes the text in the sprite element  
		* @param sprite Object 
		* @param textString Object 
		*/
		setText?( sprite?:any, textString?:any ): void;
	}
}
declare module Ext.draw.engine {
	export interface ISvgExporter extends Ext.IBase {
	}
	export class SvgExporter {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Exports the passed surface to a SVG string representation 
		* @param surface Ext.draw.Surface The surface to export 
		* @param config Object Any configuration for the export. Currently this is unused but may provide more options in the future 
		* @returns String The SVG as a string 
		*/
		static generate( surface?:Ext.draw.ISurface, config?:any ): string;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.draw.engine {
	export interface IVml extends Ext.draw.ISurface {
		/** [Method] Adds one or more CSS classes to the element  
		* @param sprite Object 
		* @param className Object 
		*/
		addCls?( sprite?:any, className?:any ): void;
		/** [Method] Adds a definition to this Surface for a linear gradient  
		* @param gradient Object 
		*/
		addGradient?( gradient?:any ): void;
		/** [Method] Destroys the surface  */
		destroy?(): void;
		/** [Method] Removes one or more CSS classes from the element  
		* @param sprite Object 
		* @param className Object 
		*/
		removeCls?( sprite?:any, className?:any ): void;
		/** [Method] Sets the size of the surface  
		* @param width Object 
		* @param height Object 
		*/
		setSize?( width?:any, height?:any ): void;
		/** [Method] Changes the text in the sprite element  
		* @param sprite Object 
		* @param text Object 
		*/
		setText?( sprite?:any, text?:any ): void;
	}
}
declare module Ext.draw {
	export interface IMatrix extends Ext.IBase {
	}
}
declare module Ext.draw {
	export interface ISprite extends Ext.IBase,Ext.util.IObservable,Ext.util.IAnimate {
		/** [Config Option] (Boolean) */
		draggable?: boolean;
		/** [Config Option] (String) */
		fill?: string;
		/** [Config Option] (String) */
		font?: string;
		/** [Config Option] (String/String[]) */
		group?: any;
		/** [Config Option] (Number) */
		height?: number;
		/** [Config Option] (Number) */
		opacity?: number;
		/** [Config Option] (String) */
		path?: string;
		/** [Config Option] (Number) */
		radius?: number;
		/** [Config Option] (Number) */
		radiusX?: number;
		/** [Config Option] (Number) */
		radiusY?: number;
		/** [Config Option] (String) */
		src?: string;
		/** [Config Option] (String) */
		stroke?: string;
		/** [Config Option] (Number) */
		strokewidth?: number;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (Number) */
		width?: number;
		/** [Config Option] (Number) */
		x?: number;
		/** [Config Option] (Number) */
		y?: number;
		/** [Property] (Ext.dd.DragSource) */
		dd?: Ext.dd.IDragSource;
		/** [Property] (Boolean) */
		isSprite?: boolean;
		/** [Method] Adds one or more CSS classes to the element  
		* @param className String/String[] The CSS class to add, or an array of classes 
		* @returns Ext.draw.Sprite this 
		*/
		addCls?( className?:any ): Ext.draw.ISprite;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Performs custom animation on this object  
		* @param config Object Configuration for Ext.fx.Anim. Note that the to config is required. 
		* @returns Object this 
		*/
		animate?( config?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Removes the sprite and clears all listeners  */
		destroy?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		getActiveAnimation?(): any;
		/** [Method] Retrieves the bounding box of the sprite  
		* @returns Object bbox 
		*/
		getBBox?(): any;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		hasActiveFx?(): any;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Hides the sprite  
		* @param redraw Boolean Flag to immediately draw the change. 
		* @returns Ext.draw.Sprite this 
		*/
		hide?( redraw?:boolean ): Ext.draw.ISprite;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Redraws the sprite  
		* @returns Ext.draw.Sprite this 
		*/
		redraw?(): Ext.draw.ISprite;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes the sprite  
		* @returns Boolean True if sprite was successfully removed. False when there was no surface to remove it from. 
		*/
		remove?(): boolean;
		/** [Method] Removes one or more CSS classes from the element  
		* @param className String/String[] The CSS class to remove, or an array of classes. Note this method is severly limited in VML. 
		* @returns Ext.draw.Sprite this 
		*/
		removeCls?( className?:any ): Ext.draw.ISprite;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Ensures that all effects queued after sequenceFx is called on this object are run in sequence  
		* @returns Object this 
		*/
		sequenceFx?(): any;
		/** [Method] Change the attributes of the sprite  
		* @param attrs Object attributes to be changed on the sprite. 
		* @param redraw Boolean Flag to immediately draw the change. 
		* @returns Ext.draw.Sprite this 
		*/
		setAttributes?( attrs?:any, redraw?:boolean ): Ext.draw.ISprite;
		/** [Method] Wrapper for setting style properties also takes single object parameter of multiple styles  
		* @param property String/Object The style property to be set, or an object of multiple styles. 
		* @param value String The value to apply to the given property, or null if an object was passed. 
		* @returns Ext.draw.Sprite this 
		*/
		setStyle?( property?:any, value?:string ): Ext.draw.ISprite;
		/** [Method] Shows the sprite  
		* @param redraw Boolean Flag to immediately draw the change. 
		* @returns Ext.draw.Sprite this 
		*/
		show?( redraw?:boolean ): Ext.draw.ISprite;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		stopAnimation?(): Ext.IElement;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		stopFx?(): Ext.IElement;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Ensures that all effects queued after syncFx is called on this object are run concurrently  
		* @returns Object this 
		*/
		syncFx?(): any;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.draw {
	export interface ISpriteDD extends Ext.dd.IDragSource {
		/** [Method] Creates the proxy element if it does not yet exist */
		createFrame?(): void;
		/** [Method] Returns a reference to the actual element to drag  
		* @param e Object 
		* @returns HTMLElement the html element 
		*/
		getDragEl?( e?:any ): HTMLElement;
		/** [Method] Abstract method called during the onMouseMove event while dragging an object  
		* @param e Object 
		*/
		onDrag?( e?:any ): void;
		/** [Method] Sets the drag element to the location of the mousedown or click event maintaining the cursor location relative to th  */
		setDragElPos?(): void;
	}
}
declare module Ext.draw {
	export interface ISurface extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Number) */
		height?: number;
		/** [Config Option] (Ext.draw.Sprite[]) */
		items?: Ext.draw.ISprite[];
		/** [Config Option] (Number) */
		width?: number;
		/** [Method] Adds a Sprite to the surface  
		* @param args Ext.draw.Sprite[]/Ext.draw.Sprite... One or more Sprite objects or configs. 
		* @returns Ext.draw.Sprite[]/Ext.draw.Sprite The sprites added. 
		*/
		add?( args?:any ): any;
		/** [Method] Adds one or more CSS classes to the element  
		* @param sprite Object The sprite to add the class to. 
		* @param className String/String[] The CSS class to add, or an array of classes 
		*/
		addCls?( sprite?:any, className?:any ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Adds a gradient definition to the Surface  
		* @param gradient Object A gradient config. 
		*/
		addGradient?( gradient?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Destroys the surface  */
		destroy?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns a new group or an existent group associated with the current surface  
		* @param id String The unique identifier of the group. 
		* @returns Object The Ext.draw.CompositeSprite. 
		*/
		getGroup?( id?:string ): any;
		/** [Method] Retrieves the id of this component  */
		getId?(): void;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes a given sprite from the surface optionally destroying the sprite in the process  
		* @param sprite Ext.draw.Sprite 
		* @param destroySprite Boolean 
		*/
		remove?( sprite?:Ext.draw.ISprite, destroySprite?:boolean ): void;
		/** [Method] Removes all sprites from the surface optionally destroying the sprites in the process  
		* @param destroySprites Boolean Whether to destroy all sprites when removing them. 
		*/
		removeAll?( destroySprites?:boolean ): void;
		/** [Method] Removes one or more CSS classes from the element  
		* @param sprite Object The sprite to remove the class from. 
		* @param className String/String[] The CSS class to remove, or an array of classes 
		*/
		removeCls?( sprite?:any, className?:any ): void;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Sets the size of the surface  
		* @param w Number The new width of the canvas. 
		* @param h Number The new height of the canvas. 
		*/
		setSize?( w?:number, h?:number ): void;
		/** [Method] Sets CSS style attributes to an element  
		* @param sprite Object The sprite to add, or an array of classes to 
		* @param styles Object An Object with CSS styles. 
		*/
		setStyle?( sprite?:any, styles?:any ): void;
		/** [Method] Changes the text in the sprite element  
		* @param sprite Object The Sprite to change the text. 
		* @param text String The new text to be set. 
		*/
		setText?( sprite?:any, text?:string ): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
	export class Surface {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Creates and returns a new concrete Surface instance appropriate for the current environment  
		* @param config Object Initial configuration for the Surface instance 
		* @param enginePriority String[] order of implementations to use; the first one that is available in the current environment will be used. Defaults to ['Svg', 'Vml']. 
		* @returns Object The created Surface or false. 
		*/
		static create( config?:any, enginePriority?:string[] ): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
		/** [Method] Exports a surface in a different format  
		* @param surface Ext.draw.Surface The surface to export. 
		* @param config Object The configuration to be passed to the exporter. See the export method for the appropriate exporter for the relevant configuration options 
		* @returns Object See the return types for the appropriate exporter 
		*/
		static save( surface?:Ext.draw.ISurface, config?:any ): any;
	}
}
declare module Ext.draw {
	export interface IText extends Ext.draw.IComponent {
		/** [Config Option] (Boolean) */
		autoSize?: boolean;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number) */
		degrees?: number;
		/** [Config Option] (String) */
		styleSelector?: string;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (Boolean) */
		viewBox?: boolean;
		/** [Method] The initComponent template method is an important initialization step for a Component  */
		initComponent?(): void;
		/** [Method] Sets the clockwise rotation angle relative to the horizontal axis  
		* @param degrees Number The clockwise angle (in degrees) from the horizontal axis by which the text should be rotated. 
		*/
		setAngle?( degrees?:number ): void;
		/** [Method] Updates this item s text  
		* @param t String The text to display (html not accepted). 
		*/
		setText?( t?:string ): void;
	}
}
declare module Ext {
	export interface IEditor extends Ext.container.IContainer {
		/** [Config Option] (String) */
		alignment?: string;
		/** [Config Option] (Boolean) */
		allowBlur?: boolean;
		/** [Config Option] (Boolean/Object) */
		autoSize?: any;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Boolean) */
		cancelOnEsc?: boolean;
		/** [Config Option] (Boolean) */
		completeOnEnter?: boolean;
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Ext.form.field.Field) */
		field?: Ext.form.field.IField;
		/** [Config Option] (Boolean) */
		focusOnToFront?: boolean;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (Boolean) */
		hideEl?: boolean;
		/** [Config Option] (Boolean) */
		ignoreNoChange?: boolean;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Number[]) */
		offsets?: number[];
		/** [Config Option] (String/HTMLElement/Ext.Element) */
		parentEl?: any;
		/** [Config Option] (Boolean) */
		revertInvalid?: boolean;
		/** [Config Option] (Boolean/String) */
		shadow?: any;
		/** [Config Option] (Boolean) */
		swallowKeys?: boolean;
		/** [Config Option] (Boolean) */
		updateEl?: boolean;
		/** [Config Option] (Object) */
		value?: any;
		/** [Method] private 
		* @param ct Object 
		* @param position Object 
		*/
		afterRender?( ct?:any, position?:any ): void;
		/** [Method] Cancels the editing process and hides the editor without persisting any changes  
		* @param remainVisible Boolean Override the default behavior and keep the editor visible after cancel 
		*/
		cancelEdit?( remainVisible?:boolean ): void;
		/** [Method] Ends the editing process persists the changed value to the underlying field and hides the editor  
		* @param remainVisible Boolean Override the default behavior and keep the editor visible after edit 
		*/
		completeEdit?( remainVisible?:boolean ): void;
		/** [Method] Gets the data value of the editor 
		* @returns Object The data value 
		*/
		getValue?(): any;
		/** [Method] private */
		onHide?(): void;
		/** [Method] private */
		onShow?(): void;
		/** [Method] Realigns the editor to the bound field based on the current alignment config value  
		* @param autoSize Boolean True to size the field to the dimensions of the bound element. 
		*/
		realign?( autoSize?:boolean ): void;
		/** [Method] Sets the data value of the editor 
		* @param value Object Any valid value supported by the underlying field 
		*/
		setValue?( value?:any ): void;
		/** [Method] Starts the editing process and shows the editor  
		* @param el String/HTMLElement/Ext.Element The element to edit 
		* @param value String A value to initialize the editor with. If a value is not provided, it defaults to the innerHTML of el. 
		*/
		startEdit?( el?:any, value?:string ): void;
	}
}
declare module Ext {
	export interface IElementLoader extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Object) */
		ajaxOptions?: any;
		/** [Config Option] (Boolean/Object) */
		autoLoad?: any;
		/** [Config Option] (Object) */
		baseParams?: any;
		/** [Config Option] (Function) */
		callback?: any;
		/** [Config Option] (Function) */
		failure?: any;
		/** [Config Option] (Boolean/String) */
		loadMask?: any;
		/** [Config Option] (Object) */
		params?: any;
		/** [Config Option] (Function) */
		renderer?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		scripts?: boolean;
		/** [Config Option] (Function) */
		success?: any;
		/** [Config Option] (HTMLElement/Ext.Element/String) */
		target?: any;
		/** [Config Option] (String) */
		url?: string;
		/** [Property] (Boolean) */
		isLoader?: boolean;
		/** [Method] Aborts the active load request */
		abort?(): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Destroys the loader  */
		destroy?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the target of this loader  
		* @returns Ext.Component The target or null if none exists. 
		*/
		getTarget?(): Ext.IComponent;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Checks whether the loader is automatically refreshing  
		* @returns Boolean True if the loader is automatically refreshing 
		*/
		isAutoRefreshing?(): boolean;
		/** [Method] Loads new data from the server  
		* @param options Object The options for the request. They can be any configuration option that can be specified for the class, with the exception of the target option. Note that any options passed to the method will override any class defaults. 
		*/
		load?( options?:any ): void;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Sets an Ext Element as the target of this loader  
		* @param target String/HTMLElement/Ext.Element The element or its ID. 
		*/
		setTarget?( target?:any ): void;
		/** [Method] Automatically refreshes the content over a specified period  
		* @param interval Number The interval to refresh in ms. 
		* @param options Object The options to pass to the load method. See load 
		*/
		startAutoRefresh?( interval?:number, options?:any ): void;
		/** [Method] Clears any auto refresh  */
		stopAutoRefresh?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.enums {
	export interface IFeature {
		/** [Property] (String) */
		abstractsummary?: string;
		/** [Property] (String) */
		feature?: string;
		/** [Property] (String) */
		grouping?: string;
		/** [Property] (String) */
		groupingsummary?: string;
		/** [Property] (String) */
		rowbody?: string;
		/** [Property] (String) */
		summary?: string;
	}
}
declare module Ext.enums {
	export interface ILayout {
		/** [Property] (String) */
		absolute?: string;
		/** [Property] (String) */
		accordion?: string;
		/** [Property] (String) */
		anchor?: string;
		/** [Property] (String) */
		auto?: string;
		/** [Property] (String) */
		autocomponent?: string;
		/** [Property] (String) */
		autocontainer?: string;
		/** [Property] (String) */
		border?: string;
		/** [Property] (String) */
		box?: string;
		/** [Property] (String) */
		card?: string;
		/** [Property] (String) */
		checkboxgroup?: string;
		/** [Property] (String) */
		column?: string;
		/** [Property] (String) */
		container?: string;
		/** [Property] (String) */
		fit?: string;
		/** [Property] (String) */
		form?: string;
		/** [Property] (String) */
		hbox?: string;
		/** [Property] (String) */
		table?: string;
		/** [Property] (String) */
		vbox?: string;
	}
}
declare module Ext.enums {
	export interface IPlugin {
		/** [Property] (String) */
		bufferedrenderer?: string;
		/** [Property] (String) */
		cellediting?: string;
		/** [Property] (String) */
		gridheaderresizer?: string;
		/** [Property] (String) */
		gridviewdragdrop?: string;
		/** [Property] (String) */
		rowediting?: string;
		/** [Property] (String) */
		rowexpander?: string;
		/** [Property] (String) */
		treeviewdragdrop?: string;
	}
}
declare module Ext.enums {
	export interface IWidget {
		/** [Property] (String) */
		actioncolumn?: string;
		/** [Property] (String) */
		booleancolumn?: string;
		/** [Property] (String) */
		boundlist?: string;
		/** [Property] (String) */
		box?: string;
		/** [Property] (String) */
		button?: string;
		/** [Property] (String) */
		buttongroup?: string;
		/** [Property] (String) */
		chart?: string;
		/** [Property] (String) */
		checkbox?: string;
		/** [Property] (String) */
		checkboxfield?: string;
		/** [Property] (String) */
		checkboxgroup?: string;
		/** [Property] (String) */
		checkcolumn?: string;
		/** [Property] (String) */
		colormenu?: string;
		/** [Property] (String) */
		colorpicker?: string;
		/** [Property] (String) */
		combo?: string;
		/** [Property] (String) */
		combobox?: string;
		/** [Property] (String) */
		component?: string;
		/** [Property] (String) */
		container?: string;
		/** [Property] (String) */
		cycle?: string;
		/** [Property] (String) */
		dataview?: string;
		/** [Property] (String) */
		datecolumn?: string;
		/** [Property] (String) */
		datefield?: string;
		/** [Property] (String) */
		datemenu?: string;
		/** [Property] (String) */
		datepicker?: string;
		/** [Property] (String) */
		displayfield?: string;
		/** [Property] (String) */
		draw?: string;
		/** [Property] (String) */
		editor?: string;
		/** [Property] (String) */
		field?: string;
		/** [Property] (String) */
		fieldcontainer?: string;
		/** [Property] (String) */
		fieldset?: string;
		/** [Property] (String) */
		filebutton?: string;
		/** [Property] (String) */
		filefield?: string;
		/** [Property] (String) */
		fileuploadfield?: string;
		/** [Property] (String) */
		flash?: string;
		/** [Property] (String) */
		form?: string;
		/** [Property] (String) */
		grid?: string;
		/** [Property] (String) */
		gridcolumn?: string;
		/** [Property] (String) */
		gridpanel?: string;
		/** [Property] (String) */
		gridview?: string;
		/** [Property] (String) */
		header?: string;
		/** [Property] (String) */
		headercontainer?: string;
		/** [Property] (String) */
		hidden?: string;
		/** [Property] (String) */
		hiddenfield?: string;
		/** [Property] (String) */
		htmleditor?: string;
		/** [Property] (String) */
		image?: string;
		/** [Property] (String) */
		imagecomponent?: string;
		/** [Property] (String) */
		jsonpstore?: string;
		/** [Property] (String) */
		label?: string;
		/** [Property] (String) */
		loadmask?: string;
		/** [Property] (String) */
		menu?: string;
		/** [Property] (String) */
		menucheckitem?: string;
		/** [Property] (String) */
		menuitem?: string;
		/** [Property] (String) */
		menuseparator?: string;
		/** [Property] (String) */
		messagebox?: string;
		/** [Property] (String) */
		multislider?: string;
		/** [Property] (String) */
		numbercolumn?: string;
		/** [Property] (String) */
		numberfield?: string;
		/** [Property] (String) */
		pagingtoolbar?: string;
		/** [Property] (String) */
		panel?: string;
		/** [Property] (String) */
		pickerfield?: string;
		/** [Property] (String) */
		progressbar?: string;
		/** [Property] (String) */
		propertygrid?: string;
		/** [Property] (String) */
		quicktip?: string;
		/** [Property] (String) */
		radio?: string;
		/** [Property] (String) */
		radiofield?: string;
		/** [Property] (String) */
		radiogroup?: string;
		/** [Property] (String) */
		rownumberer?: string;
		/** [Property] (String) */
		slider?: string;
		/** [Property] (String) */
		sliderfield?: string;
		/** [Property] (String) */
		slidertip?: string;
		/** [Property] (String) */
		spinnerfield?: string;
		/** [Property] (String) */
		splitbutton?: string;
		/** [Property] (String) */
		splitter?: string;
		/** [Property] (String) */
		tab?: string;
		/** [Property] (String) */
		tabbar?: string;
		/** [Property] (String) */
		tablepanel?: string;
		/** [Property] (String) */
		tableview?: string;
		/** [Property] (String) */
		tabpanel?: string;
		/** [Property] (String) */
		tbfill?: string;
		/** [Property] (String) */
		tbitem?: string;
		/** [Property] (String) */
		tbseparator?: string;
		/** [Property] (String) */
		tbspacer?: string;
		/** [Property] (String) */
		tbtext?: string;
		/** [Property] (String) */
		templatecolumn?: string;
		/** [Property] (String) */
		text?: string;
		/** [Property] (String) */
		textarea?: string;
		/** [Property] (String) */
		textareafield?: string;
		/** [Property] (String) */
		textfield?: string;
		/** [Property] (String) */
		timefield?: string;
		/** [Property] (String) */
		timepicker?: string;
		/** [Property] (String) */
		tip?: string;
		/** [Property] (String) */
		tool?: string;
		/** [Property] (String) */
		toolbar?: string;
		/** [Property] (String) */
		tooltip?: string;
		/** [Property] (String) */
		treepanel?: string;
		/** [Property] (String) */
		treeview?: string;
		/** [Property] (String) */
		trigger?: string;
		/** [Property] (String) */
		triggerfield?: string;
		/** [Property] (String) */
		viewport?: string;
		/** [Property] (String) */
		window?: string;
	}
}
declare module Ext {
	export interface IError {
		/** [Property] (Boolean) */
		ignore?: boolean;
		/** [Property] (Boolean) */
		notify?: boolean;
		/** [Method] Provides a custom string representation of the error object  
		* @returns String The error message. If raised from within the Ext 4 class system, the error message will also include the raising class and method names, if available. 
		*/
		toString?(): string;
	}
	export class Error {
		/** [Method] Globally handle any Ext errors that may be raised optionally providing custom logic to handle different errors indiv  
		* @param err Ext.Error The Ext.Error object being raised. It will contain any attributes that were originally raised with it, plus properties about the method and class from which the error originated (if raised from a class that uses the Ext 4 class system). 
		*/
		static handle( err?:Ext.IError ): void;
		/** [Method] Raise an error that can include additional data and supports automatic console logging if available  
		* @param err String/Object The error message string, or an object containing the attribute "msg" that will be used as the error message. Any other data included in the object will also be logged to the browser console, if available. 
		*/
		static raise( err?:any ): void;
	}
}
declare module Ext {
	export interface IEventManager {
	}
	export class EventManager {
		/** [Method] Appends an event handler to an element  
		* @param el String/Ext.Element/HTMLElement/Window The html element or id to assign the event handler to. 
		* @param eventName String The name of the event to listen for. 
		* @param handler Function/String The handler function the event invokes. A String parameter is assumed to be method name in scope object, or Element object if no scope is provided. 
		* @param scope Object The scope (this reference) in which the handler function is executed. Defaults to the Element. 
		* @param options Object An object containing handler configuration properties. This may contain any of the following properties (See Ext.Element.addListener for examples of how to use these options.): 
		*/
		static addListener( el?:any, eventName?:string, handler?:any, scope?:any, options?:any ): void;
		/** [Method] Get the id of the element  
		* @param element HTMLElement/Ext.Element The element to get the id for. 
		* @returns String id 
		*/
		static getId( element?:any ): string;
		/** [Method] Indicates which event to use for getting key presses  
		* @returns String The appropriate event name. 
		*/
		static getKeyEvent(): string;
		/** [Method] Gets the x coordinate from the event 
		* @param event Object The event 
		* @returns Number The x coordinate 
		*/
		static getPageX( event?:any ): number;
		/** [Method] Gets the x amp y coordinate from the event 
		* @param event Object The event 
		* @returns Number[] The x/y coordinate 
		*/
		static getPageXY( event?:any ): number[];
		/** [Method] Gets the y coordinate from the event 
		* @param event Object The event 
		* @returns Number The y coordinate 
		*/
		static getPageY( event?:any ): number;
		/** [Method] Gets the related target from the event  
		* @param event Object The event 
		* @returns HTMLElement The related target. 
		*/
		static getRelatedTarget( event?:any ): HTMLElement;
		/** [Method] Gets the target of the event  
		* @param event Object The event 
		* @returns HTMLElement target 
		*/
		static getTarget( event?:any ): HTMLElement;
		/** [Method] Appends an event handler to an element  
		* @param el String/Ext.Element/HTMLElement/Window The html element or id to assign the event handler to. 
		* @param eventName String The name of the event to listen for. 
		* @param handler Function/String The handler function the event invokes. A String parameter is assumed to be method name in scope object, or Element object if no scope is provided. 
		* @param scope Object The scope (this reference) in which the handler function is executed. Defaults to the Element. 
		* @param options Object An object containing handler configuration properties. This may contain any of the following properties (See Ext.Element.addListener for examples of how to use these options.): 
		*/
		static on( el?:any, eventName?:string, handler?:any, scope?:any, options?:any ): void;
		/** [Method] Adds a listener to be notified when the document is ready before onload and before images are loaded 
		* @param fn Function The method the event invokes. 
		* @param scope Object The scope (this reference) in which the handler function executes. Defaults to the browser window. 
		* @param options Object Options object as passed to Ext.Element.addListener. 
		*/
		static onDocumentReady( fn?:any, scope?:any, options?:any ): void;
		/** [Method] Adds a listener to be notified when the browser window is resized and provides resize event buffering 100 millisecon  
		* @param fn Function The handler function the window resize event invokes. 
		* @param scope Object The scope (this reference) in which the handler function executes. Defaults to the browser window. 
		* @param options Boolean Options object as passed to Ext.Element.addListener 
		*/
		static onWindowResize( fn?:any, scope?:any, options?:boolean ): void;
		/** [Method] Adds a listener to be notified when the browser window is unloaded  
		* @param fn Function The handler function the window unload event invokes. 
		* @param scope Object The scope (this reference) in which the handler function executes. Defaults to the browser window. 
		* @param options Boolean Options object as passed to Ext.Element.addListener 
		*/
		static onWindowUnload( fn?:any, scope?:any, options?:boolean ): void;
		/** [Method] This strategy has minimal benefits for Sencha solutions that build themselves ie  */
		static pollScroll(): void;
		/** [Method] Prevents the browsers default handling of the event  
		* @param event Event The event to prevent the default 
		*/
		static preventDefault( event?:Event ): void;
		/** [Method] Recursively removes all previous added listeners from an element and its children  
		* @param el String/Ext.Element/HTMLElement/Window The id or html element from which to remove all event handlers. 
		* @param eventName String The name of the event. 
		*/
		static purgeElement( el?:any, eventName?:string ): void;
		/** [Method] Removes all event handers from an element  
		* @param el String/Ext.Element/HTMLElement/Window The id or html element from which to remove all event handlers. 
		*/
		static removeAll( el?:any ): void;
		/** [Method] Removes an event handler from an element  
		* @param el String/Ext.Element/HTMLElement/Window The id or html element from which to remove the listener. 
		* @param eventName String The name of the event. 
		* @param fn Function The handler function to remove. This must be a reference to the function passed into the addListener call. 
		* @param scope Object If a scope (this reference) was specified when the listener was added, then this must refer to the same object. 
		*/
		static removeListener( el?:any, eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes the passed window resize listener  
		* @param fn Function The method the event invokes 
		* @param scope Object The scope of handler 
		*/
		static removeResizeListener( fn?:any, scope?:any ): void;
		/** [Method] Removes the passed window unload listener  
		* @param fn Function The method the event invokes 
		* @param scope Object The scope of handler 
		*/
		static removeUnloadListener( fn?:any, scope?:any ): void;
		/** [Method] Stop the event preventDefault and stopPropagation  
		* @param event Event The event to stop 
		*/
		static stopEvent( event?:Event ): void;
		/** [Method] Cancels bubbling of the event  
		* @param event Event The event to stop bubbling. 
		*/
		static stopPropagation( event?:Event ): void;
		/** [Method] Removes an event handler from an element  
		* @param el String/Ext.Element/HTMLElement/Window The id or html element from which to remove the listener. 
		* @param eventName String The name of the event. 
		* @param fn Function The handler function to remove. This must be a reference to the function passed into the addListener call. 
		* @param scope Object If a scope (this reference) was specified when the listener was added, then this must refer to the same object. 
		*/
		static un( el?:any, eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext {
	export interface IEventObject {
	}
	export class EventObject {
		/** [Method] Correctly scales a given wheel delta  
		* @param delta Number The delta value. 
		*/
		static correctWheelDelta( delta?:number ): void;
		/** [Method] Gets the character code for the event  
		* @returns Number 
		*/
		static getCharCode(): number;
		/** [Method] Returns a normalized keyCode for the event  
		* @returns Number The key code 
		*/
		static getKey(): number;
		/** [Method] Gets the x coordinate of the event  
		* @returns Number 
		*/
		static getPageX(): number;
		/** [Method] Gets the y coordinate of the event  
		* @returns Number 
		*/
		static getPageY(): number;
		/** [Method] Returns a point object that consists of the object coordinates  
		* @returns Ext.util.Point point 
		*/
		static getPoint(): Ext.util.IPoint;
		/** [Method] Gets the related target  
		* @param selector String A simple selector to filter the target or look for an ancestor of the target 
		* @param maxDepth Number/HTMLElement The max depth to search as a number or element (defaults to 10 || document.body) 
		* @param returnEl Boolean True to return a Ext.Element object instead of DOM node 
		* @returns HTMLElement 
		*/
		static getRelatedTarget( selector?:string, maxDepth?:any, returnEl?:boolean ): HTMLElement;
		/** [Method] Gets the target for the event  
		* @param selector String A simple selector to filter the target or look for an ancestor of the target 
		* @param maxDepth Number/HTMLElement The max depth to search as a number or element (defaults to 10 || document.body) 
		* @param returnEl Boolean True to return a Ext.Element object instead of DOM node 
		* @returns HTMLElement 
		*/
		static getTarget( selector?:string, maxDepth?:any, returnEl?:boolean ): HTMLElement;
		/** [Method] Normalizes mouse wheel y delta across browsers  
		* @returns Number The mouse wheel y-delta 
		*/
		static getWheelDelta(): number;
		/** [Method] Returns the mouse wheel deltas for this event  
		* @returns Object An object with "x" and "y" properties holding the mouse wheel deltas. 
		*/
		static getWheelDeltas(): any;
		/** [Method] Gets the x coordinate of the event  
		* @returns Number 
		*/
		static getX(): number;
		/** [Method] Gets the page coordinates of the event  
		* @returns Number[] The xy values like [x, y] 
		*/
		static getXY(): number[];
		/** [Method] Gets the y coordinate of the event  
		* @returns Number 
		*/
		static getY(): number;
		/** [Method] Returns true if the control meta shift or alt key was pressed during this event  
		* @returns Boolean 
		*/
		static hasModifier(): boolean;
		/** [Method] Injects a DOM event using the data in this object and optionally a new target  
		* @param target Ext.Element/HTMLElement If specified, the target for the event. This is likely to be used when relaying a DOM event. If not specified, getTarget is used to determine the target. 
		*/
		static injectEvent( target?:any ): void;
		/** [Method] Checks if the key pressed was a navigation key 
		* @returns Boolean True if the press is a navigation keypress 
		*/
		static isNavKeyPress(): boolean;
		/** [Method] Checks if the key pressed was a special key 
		* @returns Boolean True if the press is a special keypress 
		*/
		static isSpecialKey(): boolean;
		/** [Method] Prevents the browsers default handling of the event  */
		static preventDefault(): void;
		/** [Method] Stop the event preventDefault and stopPropagation  */
		static stopEvent(): void;
		/** [Method] Cancels bubbling of the event  */
		static stopPropagation(): void;
		/** [Method] Returns true if the target of this event is a child of el  
		* @param el String/HTMLElement/Ext.Element The id, DOM element or Ext.Element to check 
		* @param related Boolean true to test if the related target is within el instead of the target 
		* @param allowEl Boolean true to also check if the passed element is the target or related target 
		* @returns Boolean 
		*/
		static within( el?:any, related?:boolean, allowEl?:boolean ): boolean;
	}
}
declare module Ext.flash {
	export interface IComponent extends Ext.IComponent {
		/** [Config Option] (String) */
		backgroundColor?: string;
		/** [Config Option] (Boolean) */
		expressInstall?: boolean;
		/** [Config Option] (Object) */
		flashAttributes?: any;
		/** [Config Option] (Object) */
		flashParams?: any;
		/** [Config Option] (Object) */
		flashVars?: any;
		/** [Config Option] (String) */
		flashVersion?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String/Number) */
		swfHeight?: any;
		/** [Config Option] (String/Number) */
		swfWidth?: any;
		/** [Config Option] (String) */
		url?: string;
		/** [Config Option] (String) */
		wmode?: string;
		/** [Property] (Ext.Element) */
		swf?: Ext.IElement;
		/** [Property] (String) */
		EXPRESS_INSTALL_URL?: string;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Invoked before the Component is destroyed  */
		beforeDestroy?(): void;
		/** [Method] Retrieves the id of the SWF object embed element  */
		getSwfId?(): void;
		/** [Method] The initComponent template method is an important initialization step for a Component  */
		initComponent?(): void;
	}
}
declare module Ext {
	export interface IFlashComponent extends Ext.IComponent {
		/** [Config Option] (String) */
		backgroundColor?: string;
		/** [Config Option] (Boolean) */
		expressInstall?: boolean;
		/** [Config Option] (Object) */
		flashAttributes?: any;
		/** [Config Option] (Object) */
		flashParams?: any;
		/** [Config Option] (Object) */
		flashVars?: any;
		/** [Config Option] (String) */
		flashVersion?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String/Number) */
		swfHeight?: any;
		/** [Config Option] (String/Number) */
		swfWidth?: any;
		/** [Config Option] (String) */
		url?: string;
		/** [Config Option] (String) */
		wmode?: string;
		/** [Property] (Ext.Element) */
		swf?: Ext.IElement;
		/** [Property] (String) */
		EXPRESS_INSTALL_URL?: string;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Invoked before the Component is destroyed  */
		beforeDestroy?(): void;
		/** [Method] Retrieves the id of the SWF object embed element  */
		getSwfId?(): void;
		/** [Method] The initComponent template method is an important initialization step for a Component  */
		initComponent?(): void;
	}
}
declare module Ext {
	export interface IFocusManager extends Ext.IBase,Ext.util.IObservable {
	}
	export class FocusManager {
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds the specified xtype to the whitelist  
		* @param xtype String/String[] Adds the xtype(s) to the whitelist. 
		*/
		static addXTypeToWhitelist( xtype?:any ): void;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Disables the FocusManager by turning of all automatic focus management and keyboard navigation */
		static disable(): void;
		/** [Method] Enables the FocusManager by turning on all automatic focus management and keyboard navigation 
		* @param options Boolean/Object Either true/false to turn on the focus frame, or an object with the following options: 
		*/
		static enable( options?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Removes the specified xtype from the whitelist  
		* @param xtype String/String[] Removes the xtype(s) from the whitelist. 
		*/
		static removeXTypeFromWhitelist( xtype?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext {
	export interface IFocusMgr extends Ext.IBase,Ext.util.IObservable {
	}
	export class FocusMgr {
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds the specified xtype to the whitelist  
		* @param xtype String/String[] Adds the xtype(s) to the whitelist. 
		*/
		static addXTypeToWhitelist( xtype?:any ): void;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Disables the FocusManager by turning of all automatic focus management and keyboard navigation */
		static disable(): void;
		/** [Method] Enables the FocusManager by turning on all automatic focus management and keyboard navigation 
		* @param options Boolean/Object Either true/false to turn on the focus frame, or an object with the following options: 
		*/
		static enable( options?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Removes the specified xtype from the whitelist  
		* @param xtype String/String[] Removes the xtype(s) from the whitelist. 
		*/
		static removeXTypeFromWhitelist( xtype?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.form.action {
	export interface IAction extends Ext.IBase {
		/** [Config Option] (Function) */
		failure?: any;
		/** [Config Option] (Ext.form.Basic) */
		form?: Ext.form.IBasic;
		/** [Config Option] (Object) */
		headers?: any;
		/** [Config Option] (String) */
		method?: string;
		/** [Config Option] (Object/String) */
		params?: any;
		/** [Config Option] (Boolean) */
		reset?: boolean;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		submitEmptyText?: boolean;
		/** [Config Option] (Function) */
		success?: any;
		/** [Config Option] (Number) */
		timeout?: number;
		/** [Config Option] (String) */
		url?: string;
		/** [Config Option] (String) */
		waitMsg?: string;
		/** [Config Option] (String) */
		waitTitle?: string;
		/** [Property] (String) */
		failureType?: string;
		/** [Property] (Object) */
		response?: any;
		/** [Property] (Object) */
		result?: any;
		/** [Property] (String) */
		type?: string;
		/** [Property] (String) */
		CLIENT_INVALID?: string;
		/** [Property] (String) */
		CONNECT_FAILURE?: string;
		/** [Property] (String) */
		LOAD_FAILURE?: string;
		/** [Property] (String) */
		SERVER_INVALID?: string;
		/** [Method] Invokes this action using the current configuration  */
		run?(): void;
	}
}
declare module Ext.form {
	export interface IAction extends Ext.IBase {
		/** [Config Option] (Function) */
		failure?: any;
		/** [Config Option] (Ext.form.Basic) */
		form?: Ext.form.IBasic;
		/** [Config Option] (Object) */
		headers?: any;
		/** [Config Option] (String) */
		method?: string;
		/** [Config Option] (Object/String) */
		params?: any;
		/** [Config Option] (Boolean) */
		reset?: boolean;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		submitEmptyText?: boolean;
		/** [Config Option] (Function) */
		success?: any;
		/** [Config Option] (Number) */
		timeout?: number;
		/** [Config Option] (String) */
		url?: string;
		/** [Config Option] (String) */
		waitMsg?: string;
		/** [Config Option] (String) */
		waitTitle?: string;
		/** [Property] (String) */
		failureType?: string;
		/** [Property] (Object) */
		response?: any;
		/** [Property] (Object) */
		result?: any;
		/** [Property] (String) */
		type?: string;
		/** [Property] (String) */
		CLIENT_INVALID?: string;
		/** [Property] (String) */
		CONNECT_FAILURE?: string;
		/** [Property] (String) */
		LOAD_FAILURE?: string;
		/** [Property] (String) */
		SERVER_INVALID?: string;
		/** [Method] Invokes this action using the current configuration  */
		run?(): void;
	}
}
declare module Ext.form.action {
	export interface IDirectLoad extends Ext.form.action.ILoad {
		/** [Property] (String) */
		type?: string;
	}
}
declare module Ext.form.action {
	export interface IDirectSubmit extends Ext.form.action.ISubmit {
		/** [Property] (String) */
		type?: string;
	}
}
declare module Ext.form.action {
	export interface ILoad extends Ext.form.action.IAction {
		/** [Property] (String) */
		type?: string;
	}
}
declare module Ext.form.action {
	export interface IStandardSubmit extends Ext.form.action.ISubmit {
		/** [Config Option] (String) */
		target?: string;
	}
}
declare module Ext.form.action {
	export interface ISubmit extends Ext.form.action.IAction {
		/** [Config Option] (Boolean) */
		clientValidation?: boolean;
		/** [Property] (String) */
		type?: string;
		/** [Method] inherit docs */
		run?(): void;
	}
}
declare module Ext.form {
	export interface IBasic extends Ext.util.IObservable {
		/** [Config Option] (Object) */
		api?: any;
		/** [Config Option] (Object) */
		baseParams?: any;
		/** [Config Option] (Object/Ext.data.reader.Reader) */
		errorReader?: any;
		/** [Config Option] (Boolean) */
		jsonSubmit?: boolean;
		/** [Config Option] (String) */
		method?: string;
		/** [Config Option] (String/String[]) */
		paramOrder?: any;
		/** [Config Option] (Boolean) */
		paramsAsHash?: boolean;
		/** [Config Option] (Object/Ext.data.reader.Reader) */
		reader?: any;
		/** [Config Option] (Boolean) */
		standardSubmit?: boolean;
		/** [Config Option] (Number) */
		timeout?: number;
		/** [Config Option] (Boolean) */
		trackResetOnLoad?: boolean;
		/** [Config Option] (String) */
		url?: string;
		/** [Config Option] (String/HTMLElement/Ext.Element) */
		waitMsgTarget?: any;
		/** [Config Option] (String) */
		waitTitle?: string;
		/** [Property] (Ext.container.Container) */
		owner?: Ext.container.IContainer;
		/** [Method] Calls Ext applyIf for all field in this form with the passed object  
		* @param obj Object The object to be applied 
		* @returns Ext.form.Basic this 
		*/
		applyIfToFields?( obj?:any ): Ext.form.IBasic;
		/** [Method] Calls Ext apply for all fields in this form with the passed object  
		* @param obj Object The object to be applied 
		* @returns Ext.form.Basic this 
		*/
		applyToFields?( obj?:any ): Ext.form.IBasic;
		/** [Method] Check whether the dirty state of the entire form has changed since it was last checked and if so fire the dirtychang  */
		checkDirty?(): void;
		/** [Method] Check whether the validity of the entire form has changed since it was last checked and if so fire the validitychang  */
		checkValidity?(): void;
		/** [Method] Clears all invalid field messages in this form  
		* @returns Ext.form.Basic this 
		*/
		clearInvalid?(): Ext.form.IBasic;
		/** [Method] Destroys this object  */
		destroy?(): void;
		/** [Method] Performs a predefined action an implementation of Ext form action Action to perform application specific processing  
		* @param action String/Ext.form.action.Action The name of the predefined action type, or instance of Ext.form.action.Action to perform. 
		* @param options Object The options to pass to the Ext.form.action.Action that will get created, if the action argument is a String. All of the config options listed below are supported by both the submit and load actions unless otherwise noted (custom actions could also accept other config options): 
		* @returns Ext.form.Basic this 
		*/
		doAction?( action?:any, options?:any ): Ext.form.IBasic;
		/** [Method] Find a specific Ext form field Field in this form by id or name  
		* @param id String The value to search for (specify either a id or name or hiddenName). 
		* @returns any The first matching field, or null if none was found. 
		*/
		findField?( id?:string ): any;
		/** [Method] Retrieves the fields in the form as a set of key value pairs using their getModelData  method to collect the values  
		* @param dirtyOnly Boolean If true, only fields that are dirty will be included in the result. 
		* @returns Object 
		*/
		getFieldValues?( dirtyOnly?:boolean ): any;
		/** [Method] Return all the Ext form field Field components in the owner container  
		* @returns Ext.util.MixedCollection Collection of the Field objects 
		*/
		getFields?(): Ext.util.IMixedCollection;
		/** [Method] Returns the last Ext data Model instance that was loaded via loadRecord 
		* @returns Ext.data.Model The record 
		*/
		getRecord?(): Ext.data.IModel;
		/** [Method] Retrieves the fields in the form as a set of key value pairs using their getSubmitData  method to collect the values  
		* @param asString Boolean If true, will return the key/value collection as a single URL-encoded param string. 
		* @param dirtyOnly Boolean If true, only fields that are dirty will be included in the result. 
		* @param includeEmptyText Boolean If true, the configured emptyText of empty fields will be used. 
		* @param useDataValues Boolean If true, the getModelData method is used to retrieve values from fields, otherwise the getSubmitData method is used. 
		* @returns String/Object 
		*/
		getValues?( asString?:boolean, dirtyOnly?:boolean, includeEmptyText?:boolean, useDataValues?:boolean ): any;
		/** [Method] Returns true if the form contains any invalid fields  */
		hasInvalidField?(): void;
		/** [Method] Returns true if the form contains a file upload field  
		* @returns Boolean 
		*/
		hasUpload?(): boolean;
		/** [Method] Returns true if any fields in this form have changed from their original values  
		* @returns Boolean 
		*/
		isDirty?(): boolean;
		/** [Method] Returns true if client side validation on the form is successful  
		* @returns Boolean 
		*/
		isValid?(): boolean;
		/** [Method] Shortcut to do a load action  
		* @param options Object The options to pass to the action (see doAction for details) 
		* @returns Ext.form.Basic this 
		*/
		load?( options?:any ): Ext.form.IBasic;
		/** [Method] Loads an Ext data Model into this form by calling setValues with the record data  
		* @param record Ext.data.Model The record to load 
		* @returns Ext.form.Basic this 
		*/
		loadRecord?( record?:Ext.data.IModel ): Ext.form.IBasic;
		/** [Method] Mark fields in this form invalid in bulk  
		* @param errors Object/Object[]/Ext.data.Errors Either an array in the form [{id:'fieldId', msg:'The message'}, ...], an object hash of {id: msg, id2: msg2}, or a Ext.data.Errors object. 
		* @returns Ext.form.Basic this 
		*/
		markInvalid?( errors?:any ): Ext.form.IBasic;
		/** [Method] Resets all fields in this form  
		* @param resetRecord Boolean True to unbind any record set by loadRecord 
		* @returns Ext.form.Basic this 
		*/
		reset?( resetRecord?:boolean ): Ext.form.IBasic;
		/** [Method] Set values for fields in this form in bulk  
		* @param values Object/Object[] Either an array in the form: [{id:'clientName', value:'Fred. Olsen Lines'}, {id:'portOfLoading', value:'FXT'}, {id:'portOfDischarge', value:'OSL'} ]  or an object hash of the form: {  clientName: 'Fred. Olsen Lines',  portOfLoading: 'FXT',  portOfDischarge: 'OSL' } 
		* @returns Ext.form.Basic this 
		*/
		setValues?( values?:any ): Ext.form.IBasic;
		/** [Method] Shortcut to do a submit action  
		* @param options Object The options to pass to the action (see doAction for details). 
		* @returns Ext.form.Basic this 
		*/
		submit?( options?:any ): Ext.form.IBasic;
		/** [Method] Persists the values in this form into the passed Ext data Model object in a beginEdit endEdit block  
		* @param record Ext.data.Model The record to edit 
		* @returns Ext.form.Basic this 
		*/
		updateRecord?( record?:Ext.data.IModel ): Ext.form.IBasic;
	}
}
declare module Ext.form {
	export interface IBasicForm extends Ext.util.IObservable {
		/** [Config Option] (Object) */
		api?: any;
		/** [Config Option] (Object) */
		baseParams?: any;
		/** [Config Option] (Object/Ext.data.reader.Reader) */
		errorReader?: any;
		/** [Config Option] (Boolean) */
		jsonSubmit?: boolean;
		/** [Config Option] (String) */
		method?: string;
		/** [Config Option] (String/String[]) */
		paramOrder?: any;
		/** [Config Option] (Boolean) */
		paramsAsHash?: boolean;
		/** [Config Option] (Object/Ext.data.reader.Reader) */
		reader?: any;
		/** [Config Option] (Boolean) */
		standardSubmit?: boolean;
		/** [Config Option] (Number) */
		timeout?: number;
		/** [Config Option] (Boolean) */
		trackResetOnLoad?: boolean;
		/** [Config Option] (String) */
		url?: string;
		/** [Config Option] (String/HTMLElement/Ext.Element) */
		waitMsgTarget?: any;
		/** [Config Option] (String) */
		waitTitle?: string;
		/** [Property] (Ext.container.Container) */
		owner?: Ext.container.IContainer;
		/** [Method] Calls Ext applyIf for all field in this form with the passed object  
		* @param obj Object The object to be applied 
		* @returns Ext.form.Basic this 
		*/
		applyIfToFields?( obj?:any ): Ext.form.IBasic;
		/** [Method] Calls Ext apply for all fields in this form with the passed object  
		* @param obj Object The object to be applied 
		* @returns Ext.form.Basic this 
		*/
		applyToFields?( obj?:any ): Ext.form.IBasic;
		/** [Method] Check whether the dirty state of the entire form has changed since it was last checked and if so fire the dirtychang  */
		checkDirty?(): void;
		/** [Method] Check whether the validity of the entire form has changed since it was last checked and if so fire the validitychang  */
		checkValidity?(): void;
		/** [Method] Clears all invalid field messages in this form  
		* @returns Ext.form.Basic this 
		*/
		clearInvalid?(): Ext.form.IBasic;
		/** [Method] Destroys this object  */
		destroy?(): void;
		/** [Method] Performs a predefined action an implementation of Ext form action Action to perform application specific processing  
		* @param action String/Ext.form.action.Action The name of the predefined action type, or instance of Ext.form.action.Action to perform. 
		* @param options Object The options to pass to the Ext.form.action.Action that will get created, if the action argument is a String. All of the config options listed below are supported by both the submit and load actions unless otherwise noted (custom actions could also accept other config options): 
		* @returns Ext.form.Basic this 
		*/
		doAction?( action?:any, options?:any ): Ext.form.IBasic;
		/** [Method] Find a specific Ext form field Field in this form by id or name  
		* @param id String The value to search for (specify either a id or name or hiddenName). 
		* @returns any The first matching field, or null if none was found. 
		*/
		findField?( id?:string ): any;
		/** [Method] Retrieves the fields in the form as a set of key value pairs using their getModelData  method to collect the values  
		* @param dirtyOnly Boolean If true, only fields that are dirty will be included in the result. 
		* @returns Object 
		*/
		getFieldValues?( dirtyOnly?:boolean ): any;
		/** [Method] Return all the Ext form field Field components in the owner container  
		* @returns Ext.util.MixedCollection Collection of the Field objects 
		*/
		getFields?(): Ext.util.IMixedCollection;
		/** [Method] Returns the last Ext data Model instance that was loaded via loadRecord 
		* @returns Ext.data.Model The record 
		*/
		getRecord?(): Ext.data.IModel;
		/** [Method] Retrieves the fields in the form as a set of key value pairs using their getSubmitData  method to collect the values  
		* @param asString Boolean If true, will return the key/value collection as a single URL-encoded param string. 
		* @param dirtyOnly Boolean If true, only fields that are dirty will be included in the result. 
		* @param includeEmptyText Boolean If true, the configured emptyText of empty fields will be used. 
		* @param useDataValues Boolean If true, the getModelData method is used to retrieve values from fields, otherwise the getSubmitData method is used. 
		* @returns String/Object 
		*/
		getValues?( asString?:boolean, dirtyOnly?:boolean, includeEmptyText?:boolean, useDataValues?:boolean ): any;
		/** [Method] Returns true if the form contains any invalid fields  */
		hasInvalidField?(): void;
		/** [Method] Returns true if the form contains a file upload field  
		* @returns Boolean 
		*/
		hasUpload?(): boolean;
		/** [Method] Returns true if any fields in this form have changed from their original values  
		* @returns Boolean 
		*/
		isDirty?(): boolean;
		/** [Method] Returns true if client side validation on the form is successful  
		* @returns Boolean 
		*/
		isValid?(): boolean;
		/** [Method] Shortcut to do a load action  
		* @param options Object The options to pass to the action (see doAction for details) 
		* @returns Ext.form.Basic this 
		*/
		load?( options?:any ): Ext.form.IBasic;
		/** [Method] Loads an Ext data Model into this form by calling setValues with the record data  
		* @param record Ext.data.Model The record to load 
		* @returns Ext.form.Basic this 
		*/
		loadRecord?( record?:Ext.data.IModel ): Ext.form.IBasic;
		/** [Method] Mark fields in this form invalid in bulk  
		* @param errors Object/Object[]/Ext.data.Errors Either an array in the form [{id:'fieldId', msg:'The message'}, ...], an object hash of {id: msg, id2: msg2}, or a Ext.data.Errors object. 
		* @returns Ext.form.Basic this 
		*/
		markInvalid?( errors?:any ): Ext.form.IBasic;
		/** [Method] Resets all fields in this form  
		* @param resetRecord Boolean True to unbind any record set by loadRecord 
		* @returns Ext.form.Basic this 
		*/
		reset?( resetRecord?:boolean ): Ext.form.IBasic;
		/** [Method] Set values for fields in this form in bulk  
		* @param values Object/Object[] Either an array in the form: [{id:'clientName', value:'Fred. Olsen Lines'}, {id:'portOfLoading', value:'FXT'}, {id:'portOfDischarge', value:'OSL'} ]  or an object hash of the form: {  clientName: 'Fred. Olsen Lines',  portOfLoading: 'FXT',  portOfDischarge: 'OSL' } 
		* @returns Ext.form.Basic this 
		*/
		setValues?( values?:any ): Ext.form.IBasic;
		/** [Method] Shortcut to do a submit action  
		* @param options Object The options to pass to the action (see doAction for details). 
		* @returns Ext.form.Basic this 
		*/
		submit?( options?:any ): Ext.form.IBasic;
		/** [Method] Persists the values in this form into the passed Ext data Model object in a beginEdit endEdit block  
		* @param record Ext.data.Model The record to edit 
		* @returns Ext.form.Basic this 
		*/
		updateRecord?( record?:Ext.data.IModel ): Ext.form.IBasic;
	}
}
declare module Ext.form {
	export interface ICheckboxGroup extends Ext.form.IFieldContainer,Ext.form.field.IField {
		/** [Config Option] (Boolean) */
		allowBlank?: boolean;
		/** [Config Option] (String) */
		blankText?: string;
		/** [Config Option] (String/Number/Number[]) */
		columns?: any;
		/** [Config Option] (String) */
		componentCls?: string;
		/** [Config Option] (String) */
		defaultType?: string;
		/** [Config Option] (Ext.form.field.Checkbox[]/Object[]) */
		items?: any;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Boolean) */
		vertical?: boolean;
		/** [Method] A utility for grouping a set of modifications which may trigger value changes into a single transaction to prevent e  
		* @param fn Object A function containing the transaction code 
		*/
		batchChanges?( fn?:any ): void;
		/** [Method] Template method before a field is reset  */
		beforeReset?(): void;
		/** [Method] Checks whether the value of the field has changed since the last time it was checked  */
		checkChange?(): void;
		/** [Method] Checks the isDirty state of the field and if it has changed since the last time it was checked fires the dirtychange  */
		checkDirty?(): void;
		/** [Method] Clear any invalid styles messages for this field  */
		clearInvalid?(): void;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns HTMLElement 
		*/
		extractFileInput?(): HTMLElement;
		/** [Method] Returns an Array of all checkboxes in the container which are currently checked 
		* @returns Ext.form.field.Checkbox[] Array of Ext.form.field.Checkbox components 
		*/
		getChecked?(): Ext.form.field.ICheckbox[];
		/** [Method] Runs CheckboxGroup s validations and returns an array of any errors  
		* @returns String[] Array of all validation errors 
		*/
		getErrors?(): string[];
		/** [Method] Don t return any data for the model the form will get the info from the individual checkboxes themselves  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getModelData?(): any;
		/** [Method] Returns the name attribute of the field  
		* @returns String name The field name 
		*/
		getName?(): string;
		/** [Method] Don t return any data for submit the form will get the info from the individual checkboxes themselves  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getSubmitData?(): any;
		/** [Method] Returns an object containing the values of all checked checkboxes within the group  */
		getValue?(): void;
		/** [Method] Initializes this Field mixin on the current instance  */
		initField?(): void;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] private override 
		* @returns Boolean True if this field has been changed from its original value (and is not disabled), false otherwise. 
		*/
		isDirty?(): boolean;
		/** [Method] private override  the group value is a complex object compare using object serialization 
		* @param value1 Object 
		* @param value2 Object 
		* @returns Boolean True if the values are equal, false if inequal. 
		*/
		isEqual?( value1?:any, value2?:any ): boolean;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns Boolean 
		*/
		isFileUpload?(): boolean;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value  
		* @returns Boolean True if the value is valid, else false 
		*/
		isValid?(): boolean;
		/** [Method] Associate one or more error messages with this field  
		* @param errors String/String[] The error message(s) for the field. 
		*/
		markInvalid?( errors?:any ): void;
		/** [Method] When a checkbox is added to the group monitor it for changes 
		* @param field Object 
		*/
		onAdd?( field?:any ): void;
		/** [Method] Called when a Ext form Labelable instance is removed from the container s subtree  
		* @param item Object 
		*/
		onRemove?( item?:any ): void;
		/** [Method] Resets the checked state of all checkboxes in the group to their originally loaded values and clears any validation m  */
		reset?(): void;
		/** [Method] Resets the field s originalValue property so it matches the current value  */
		resetOriginalValue?(): void;
		/** [Method] Sets the value s of all checkboxes in the group  
		* @param value Object The mapping of checkbox names to values. 
		* @returns Ext.form.CheckboxGroup this 
		*/
		setValue?( value?:any ): Ext.form.ICheckboxGroup;
		/** [Method] Allows for any necessary modifications before the original value is set 
		* @param value Object The initial value 
		* @returns Object The modified initial value 
		*/
		transformOriginalValue?( value?:any ): any;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value and fires the vali  
		* @returns Boolean True if the value is valid, else false 
		*/
		validate?(): boolean;
	}
}
declare module Ext.form {
	export interface ICheckboxManager extends Ext.util.IMixedCollection {
	}
	export class CheckboxManager {
		/** [Method] Adds an item to the collection  
		* @param key String/Object The key to associate with the item, or the new item. If a getKey implementation was specified for this MixedCollection, or if the key of the stored items is in a property called id, the MixedCollection will be able to derive the key for the new item. In this case just pass the new item in this parameter. 
		* @param obj Object The item to add. 
		* @returns Object The item added. 
		*/
		static add( key?:any, obj?:any ): any;
		/** [Method] Adds all elements of an Array or an Object to the collection  
		* @param objs Object/Array An Object containing properties which will be added to the collection, or an Array of values, each of which are added to the collection. Functions references will be added to the collection if allowFunctions has been set to true. 
		*/
		static addAll( objs?:any ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all items from the collection  */
		static clear(): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Creates a shallow copy of this collection 
		* @returns Ext.util.MixedCollection 
		*/
		static clone(): Ext.util.IMixedCollection;
		/** [Method] Collects unique values of a particular property in this MixedCollection 
		* @param property String The property to collect on 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param allowBlank Boolean Pass true to allow null, undefined or empty string values 
		* @returns Array The unique values 
		*/
		static collect( property?:string, root?:string, allowBlank?:boolean ): any[];
		/** [Method] Returns true if the collection contains the passed Object as an item  
		* @param o Object The Object to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as an item. 
		*/
		static contains( o?:any ): boolean;
		/** [Method] Returns true if the collection contains the passed Object as a key  
		* @param key String The key to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as a key. 
		*/
		static containsKey( key?:string ): boolean;
		/** [Method] Executes the specified function once for every item in the collection  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current item in the iteration. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every key in the collection passing each key and its associated item as th  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		static eachKey( fn?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Filters the objects in this collection by a set of Filters or by a single property value pair with optional paramete  
		* @param property Ext.util.Filter[]/String A property on your objects, or an array of Filter objects 
		* @param value String/RegExp Either string that the property values should start with or a RegExp to test against the property 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filter( property?:any, value?:any, anyMatch?:boolean, caseSensitive?:boolean ): Ext.util.IMixedCollection;
		/** [Method] Filter by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filterBy( fn?:any, scope?:any ): Ext.util.IMixedCollection;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  */
		static find(): void;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  
		* @param fn Function The selection function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		* @returns Object The first item in the collection which returned true from the selection function, or null if none was found. 
		*/
		static findBy( fn?:any, scope?:any ): any;
		/** [Method] Finds the index of the first matching object in this collection by a specific property value  
		* @param property String The name of a property on your objects. 
		* @param value String/RegExp A string that the property values should start with or a RegExp to test against the property. 
		* @param start Number The index to start searching at. 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning. 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Number The matched index or -1 
		*/
		static findIndex( property?:string, value?:any, start?:number, anyMatch?:boolean, caseSensitive?:boolean ): number;
		/** [Method] Find the index of the first matching object in this collection by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @param start Number The index to start searching at. 
		* @returns Number The matched index or -1 
		*/
		static findIndexBy( fn?:any, scope?:any, start?:number ): number;
		/** [Method] Calculates the insertion index of the new item based upon the comparison function passed or the current sort order  
		* @param newItem Object The new object to find the insertion position of. 
		* @param sorterFn Function The function to sort by. This is the same as the sorting function passed to sortBy. It accepts 2 items from this MixedCollection, and returns -1 0, or 1 depending on the relative sort positions of the 2 compared items. If omitted, a function generated from the currently defined set of sorters will be used. 
		* @returns Number The insertion point to add the new item into this MixedCollection at using insert 
		*/
		static findInsertionIndex( newItem?:any, sorterFn?:any ): number;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the first item in the collection  
		* @returns Object the first item in the collection.. 
		*/
		static first(): any;
		/** [Method] Returns a comparator function which compares two items and returns 1 0 or 1 depending on the currently defined set  */
		static generateComparator(): void;
		/** [Method] Returns the item associated with the passed key OR index  
		* @param key String/Number The key or index of the item. 
		* @returns Object If the item is found, returns the item. If the item was not found, returns undefined. If an item was found, but is a Class, returns null. 
		*/
		static get( key?:any ): any;
		/** [Method] Returns the item at the specified index  
		* @param index Number The index of the item. 
		* @returns Object The item at the specified index. 
		*/
		static getAt( index?:number ): any;
		/** [Method] Returns the item associated with the passed key  
		* @param key String/Number The key of the item. 
		* @returns Object The item associated with the passed key. 
		*/
		static getByKey( key?:any ): any;
		/** [Method] Returns the number of items in the collection  
		* @returns Number the number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Gets the first sorter from the sorters collection excluding any groupers that may be in place 
		* @returns Ext.util.Sorter The sorter, null if none exist 
		*/
		static getFirstSorter(): Ext.util.ISorter;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] A function which will be called passing a newly added object when the object is added without a separate id  
		* @param item Object The item for which to find the key. 
		* @returns Object The key for the passed item. 
		*/
		static getKey( item?:any ): any;
		/** [Method] Returns a range of items in this collection 
		* @param startIndex Number The starting index. Defaults to 0. 
		* @param endIndex Number The ending index. Defaults to the last item. 
		* @returns Array An array of items 
		*/
		static getRange( startIndex?:number, endIndex?:number ): any[];
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Returns index within the collection of the passed Object  
		* @param o Object The item to find the index of. 
		* @returns Number index of the item. Returns -1 if not found. 
		*/
		static indexOf( o?:any ): number;
		/** [Method] Returns index within the collection of the passed key  
		* @param key String The key to find the index of. 
		* @returns Number index of the key. 
		*/
		static indexOfKey( key?:string ): number;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Performs initialization of this mixin  */
		static initSortable(): void;
		/** [Method] Inserts an item at the specified index in the collection  
		* @param index Number The index to insert the item at. 
		* @param key String/Object/String[]/Object[] The key to associate with the new item, or the item itself. May also be an array of either to insert multiple items at once. 
		* @param o Object/Object[] If the second parameter was a key, the new item. May also be an array to insert multiple items at once. 
		* @returns Object The item inserted or an array of items inserted. 
		*/
		static insert( index?:number, key?:any, o?:any ): any;
		/** [Method] Returns the last item in the collection  
		* @returns Object the last item in the collection.. 
		*/
		static last(): any;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Remove an item from the collection  
		* @param o Object The item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static remove( o?:any ): any;
		/** [Method] Remove all items in the collection  
		* @param items Array An array of items to be removed. 
		* @returns Ext.util.MixedCollection this object 
		*/
		static removeAll( items?:any[] ): Ext.util.IMixedCollection;
		/** [Method] Remove an item from a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static removeAt( index?:number ): any;
		/** [Method] Removes an item associated with the passed key fom the collection  
		* @param key String The key of the item to remove. If null is passed, all objects which yielded no key from the configured getKey function are removed. 
		* @returns Object Only returned if removing at a specified key. The item removed or false if no item was removed. 
		*/
		static removeAtKey( key?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Remove a range of items starting at a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @param removeCount Number The nuber of items to remove beginning at the specified index. 
		* @returns Object The last item removed or false if no item was removed. 
		*/
		static removeRange( index?:number, removeCount?:number ): any;
		/** [Method] Reorders each of the items based on a mapping from old index to new index  
		* @param mapping Object Mapping from old item index to new item index 
		*/
		static reorder( mapping?:any ): void;
		/** [Method] Replaces an item in the collection  
		* @param key String The key associated with the item to replace, or the replacement item. If you supplied a getKey implementation for this MixedCollection, or if the key of your stored items is in a property called id, then the MixedCollection will be able to derive the key of the replacement item. If you want to replace an item with one having the same key value, then just pass the replacement item in this parameter. 
		* @param o Object {Object} o (optional) If the first parameter passed was a key, the item to associate with that key. 
		* @returns Object The new item. 
		*/
		static replace( key?:string, o?:any ): any;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Sorts the data in the Store by one or more of its properties  
		* @param sorters String/Ext.util.Sorter[] Either a string name of one of the fields in this Store's configured Model, or an array of sorter configurations. 
		* @param direction String The overall direction to sort the data by. 
		* @returns Ext.util.Sorter[] 
		*/
		static sort( sorters?:any, direction?:string ): Ext.util.ISorter[];
		/** [Method] Sorts the collection by a single sorter function 
		* @param sorterFn Function The function to sort by 
		*/
		static sortBy( sorterFn?:any ): void;
		/** [Method] Sorts this collection by keys  
		* @param direction String 'ASC' or 'DESC'. Defaults to 'ASC'. 
		* @param fn Function Comparison function that defines the sort order. Defaults to sorting by case insensitive string. 
		*/
		static sortByKey( direction?:string, fn?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Collects all of the values of the given property and returns their sum 
		* @param property String The property to sum by 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param start Number The record index to start at 
		* @param end Number The record index to end at 
		* @returns Number The total 
		*/
		static sum( property?:string, root?:string, start?:number, end?:number ): number;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Change the key for an existing item in the collection  
		* @param oldKey Object The old key 
		* @param newKey Object The new key 
		*/
		static updateKey( oldKey?:any, newKey?:any ): void;
	}
}
declare module Ext.form.field {
	export interface IBase extends Ext.IComponent,Ext.form.ILabelable,Ext.form.field.IField {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number) */
		checkChangeBuffer?: number;
		/** [Config Option] (String[]) */
		checkChangeEvents?: string[];
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		dirtyCls?: string;
		/** [Config Option] (String) */
		fieldCls?: string;
		/** [Config Option] (String) */
		fieldStyle?: string;
		/** [Config Option] (String) */
		focusCls?: string;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		inputAttrTpl?: any;
		/** [Config Option] (String) */
		inputId?: string;
		/** [Config Option] (String) */
		inputType?: string;
		/** [Config Option] (String) */
		invalidText?: string;
		/** [Config Option] (String) */
		name?: string;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Config Option] (String) */
		readOnlyCls?: string;
		/** [Config Option] (Number) */
		tabIndex?: number;
		/** [Config Option] (Boolean) */
		validateOnBlur?: boolean;
		/** [Property] (Ext.Element) */
		inputEl?: Ext.IElement;
		/** [Property] (Boolean) */
		maskOnDisable?: boolean;
		/** [Method] A utility for grouping a set of modifications which may trigger value changes into a single transaction to prevent e  
		* @param fn Object A function containing the transaction code 
		*/
		batchChanges?( fn?:any ): void;
		/** [Method] Template method before a field is reset  */
		beforeReset?(): void;
		/** [Method] Checks whether the value of the field has changed since the last time it was checked  */
		checkChange?(): void;
		/** [Method] Checks the isDirty state of the field and if it has changed since the last time it was checked fires the dirtychange  */
		checkDirty?(): void;
		/** [Method] Clear any invalid styles messages for this field  */
		clearInvalid?(): void;
		/** [Method] This method needs to be called whenever you change something on this component that requires the Component s layout t  
		* @returns Ext.container.Container this 
		*/
		doComponentLayout?(): Ext.container.IContainer;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns HTMLElement 
		*/
		extractFileInput?(): HTMLElement;
		/** [Method] Gets the active error message for this component if any  
		* @returns String The active error message on the component; if there is no error, an empty string is returned. 
		*/
		getActiveError?(): string;
		/** [Method] Gets an Array of any active error messages currently applied to the field  
		* @returns String[] The active error messages on the component; if there are no errors, an empty Array is returned. 
		*/
		getActiveErrors?(): string[];
		/** [Method] Runs this field s validators and returns an array of error messages for any validation failures  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All error messages for this field; an empty Array if none. 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the label for the field  
		* @returns String The configured field label, or empty string if not defined 
		*/
		getFieldLabel?(): string;
		/** [Method] Gets the width of the label if visible  
		* @returns Number The label width 
		*/
		getLabelWidth?(): number;
		/** [Method] Generates the arguments for the field decorations rendering template  
		* @returns Object The template arguments 
		*/
		getLabelableRenderData?(): any;
		/** [Method] Returns the value s that should be saved to the Ext data Model instance for this field when Ext form Basic updateRe  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getModelData?(): any;
		/** [Method] Returns the name attribute of the field  
		* @returns String name The field name 
		*/
		getName?(): string;
		/** [Method] Returns the raw value of the field without performing any normalization conversion or validation  
		* @returns any value The raw String value of the field 
		*/
		getRawValue?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] private override to use getSubmitValue  as a convenience 
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getSubmitData?(): any;
		/** [Method] Returns the value that would be included in a standard form submit for this field  
		* @returns any The value to be submitted, or null. 
		*/
		getSubmitValue?(): any;
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] Tells whether the field currently has an active error message  
		* @returns Boolean 
		*/
		hasActiveError?(): boolean;
		/** [Method] Checks if the field has a visible label 
		* @returns Boolean True if the field has a visible label 
		*/
		hasVisibleLabel?(): boolean;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Initializes this Field mixin on the current instance  */
		initField?(): void;
		/** [Method] Performs initialization of this mixin  */
		initLabelable?(): void;
		/** [Method] Initialized the renderData to be used when rendering the renderTpl  
		* @returns Object Object with keys and values that are going to be applied to the renderTpl 
		*/
		initRenderData?(): any;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] Returns true if the value of this Field has been changed from its originalValue  
		* @returns Boolean True if this field has been changed from its original value (and is not disabled), false otherwise. 
		*/
		isDirty?(): boolean;
		/** [Method] Returns whether two field values are logically equal  
		* @param value1 Object The first value to compare 
		* @param value2 Object The second value to compare 
		* @returns Boolean True if the values are equal, false if inequal. 
		*/
		isEqual?( value1?:any, value2?:any ): boolean;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns Boolean 
		*/
		isFileUpload?(): boolean;
		/** [Method] Returns whether or not the field value is currently valid by validating the processed raw value of the field  
		* @returns Boolean True if the value is valid, else false 
		*/
		isValid?(): boolean;
		/** [Method] Display one or more error messages associated with this field using msgTarget to determine how to display the messag  
		* @param errors String/String[] The validation message(s) to display. 
		*/
		markInvalid?( errors?:any ): void;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] Performs any necessary manipulation of a raw field value to prepare it for conversion and or validation for instance  
		* @param value Object The unprocessed string value 
		* @returns Object The processed string value 
		*/
		processRawValue?( value?:any ): any;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Resets the field s originalValue property so it matches the current value  */
		resetOriginalValue?(): void;
		/** [Method] Sets the active error message to the given string  
		* @param msg String The error message 
		*/
		setActiveError?( msg?:string ): void;
		/** [Method] Set the active error message to an Array of error messages  
		* @param errors String[] The error messages 
		*/
		setActiveErrors?( errors?:string[] ): void;
		/** [Method] Applies a set of default configuration values to this Labelable instance  
		* @param defaults Object The defaults to apply to the object. 
		*/
		setFieldDefaults?( defaults?:any ): void;
		/** [Method] Set the label of this field  
		* @param label String The new label. The labelSeparator will be automatically appended to the label string. 
		*/
		setFieldLabel?( label?:string ): void;
		/** [Method] Set the CSS style of the field input element  
		* @param style String/Object/Function The style(s) to apply. Should be a valid argument to Ext.Element.applyStyles. 
		*/
		setFieldStyle?( style?:any ): void;
		/** [Method] Sets the field s raw value directly bypassing value conversion change detection and validation  
		* @param value Object The value to set 
		* @returns Object value The field value that is set 
		*/
		setRawValue?( value?:any ): any;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Boolean Whether the field should be read only. 
		*/
		setReadOnly?( readOnly?:boolean ): void;
		/** [Method] Sets a data value into the field and runs the change detection and validation  
		* @param value Object The value to set 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
		/** [Method] Allows for any necessary modifications before the original value is set 
		* @param value Object The initial value 
		* @returns Object The modified initial value 
		*/
		transformOriginalValue?( value?:any ): any;
		/** [Method] Transform the raw value before it is set 
		* @param value Object The value 
		* @returns Object The value to set 
		*/
		transformRawValue?( value?:any ): any;
		/** [Method] Returns the trimmed label by slicing off the label separator character  
		* @returns String The trimmed field label, or empty string if not defined 
		*/
		trimLabelSeparator?(): string;
		/** [Method] Clears the active error message s */
		unsetActiveError?(): void;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value and fires the vali  
		* @returns Boolean True if the value is valid, else false 
		*/
		validate?(): boolean;
		/** [Method] Uses getErrors to build an array of validation errors  
		* @param value Object The value to validate 
		* @returns Boolean True if all validations passed, false if one or more failed 
		*/
		validateValue?( value?:any ): boolean;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object The mixed-type value to convert to the raw representation. 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface IField extends Ext.IComponent,Ext.form.ILabelable,Ext.form.field.IField {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number) */
		checkChangeBuffer?: number;
		/** [Config Option] (String[]) */
		checkChangeEvents?: string[];
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		dirtyCls?: string;
		/** [Config Option] (String) */
		fieldCls?: string;
		/** [Config Option] (String) */
		fieldStyle?: string;
		/** [Config Option] (String) */
		focusCls?: string;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		inputAttrTpl?: any;
		/** [Config Option] (String) */
		inputId?: string;
		/** [Config Option] (String) */
		inputType?: string;
		/** [Config Option] (String) */
		invalidText?: string;
		/** [Config Option] (String) */
		name?: string;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Config Option] (String) */
		readOnlyCls?: string;
		/** [Config Option] (Number) */
		tabIndex?: number;
		/** [Config Option] (Boolean) */
		validateOnBlur?: boolean;
		/** [Property] (Ext.Element) */
		inputEl?: Ext.IElement;
		/** [Property] (Boolean) */
		maskOnDisable?: boolean;
		/** [Method] A utility for grouping a set of modifications which may trigger value changes into a single transaction to prevent e  
		* @param fn Object A function containing the transaction code 
		*/
		batchChanges?( fn?:any ): void;
		/** [Method] Template method before a field is reset  */
		beforeReset?(): void;
		/** [Method] Checks whether the value of the field has changed since the last time it was checked  */
		checkChange?(): void;
		/** [Method] Checks the isDirty state of the field and if it has changed since the last time it was checked fires the dirtychange  */
		checkDirty?(): void;
		/** [Method] Clear any invalid styles messages for this field  */
		clearInvalid?(): void;
		/** [Method] This method needs to be called whenever you change something on this component that requires the Component s layout t  
		* @returns Ext.container.Container this 
		*/
		doComponentLayout?(): Ext.container.IContainer;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns HTMLElement 
		*/
		extractFileInput?(): HTMLElement;
		/** [Method] Gets the active error message for this component if any  
		* @returns String The active error message on the component; if there is no error, an empty string is returned. 
		*/
		getActiveError?(): string;
		/** [Method] Gets an Array of any active error messages currently applied to the field  
		* @returns String[] The active error messages on the component; if there are no errors, an empty Array is returned. 
		*/
		getActiveErrors?(): string[];
		/** [Method] Runs this field s validators and returns an array of error messages for any validation failures  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All error messages for this field; an empty Array if none. 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the label for the field  
		* @returns String The configured field label, or empty string if not defined 
		*/
		getFieldLabel?(): string;
		/** [Method] Gets the width of the label if visible  
		* @returns Number The label width 
		*/
		getLabelWidth?(): number;
		/** [Method] Generates the arguments for the field decorations rendering template  
		* @returns Object The template arguments 
		*/
		getLabelableRenderData?(): any;
		/** [Method] Returns the value s that should be saved to the Ext data Model instance for this field when Ext form Basic updateRe  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getModelData?(): any;
		/** [Method] Returns the name attribute of the field  
		* @returns String name The field name 
		*/
		getName?(): string;
		/** [Method] Returns the raw value of the field without performing any normalization conversion or validation  
		* @returns any value The raw String value of the field 
		*/
		getRawValue?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] private override to use getSubmitValue  as a convenience 
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getSubmitData?(): any;
		/** [Method] Returns the value that would be included in a standard form submit for this field  
		* @returns any The value to be submitted, or null. 
		*/
		getSubmitValue?(): any;
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] Tells whether the field currently has an active error message  
		* @returns Boolean 
		*/
		hasActiveError?(): boolean;
		/** [Method] Checks if the field has a visible label 
		* @returns Boolean True if the field has a visible label 
		*/
		hasVisibleLabel?(): boolean;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Initializes this Field mixin on the current instance  */
		initField?(): void;
		/** [Method] Performs initialization of this mixin  */
		initLabelable?(): void;
		/** [Method] Initialized the renderData to be used when rendering the renderTpl  
		* @returns Object Object with keys and values that are going to be applied to the renderTpl 
		*/
		initRenderData?(): any;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] Returns true if the value of this Field has been changed from its originalValue  
		* @returns Boolean True if this field has been changed from its original value (and is not disabled), false otherwise. 
		*/
		isDirty?(): boolean;
		/** [Method] Returns whether two field values are logically equal  
		* @param value1 Object The first value to compare 
		* @param value2 Object The second value to compare 
		* @returns Boolean True if the values are equal, false if inequal. 
		*/
		isEqual?( value1?:any, value2?:any ): boolean;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns Boolean 
		*/
		isFileUpload?(): boolean;
		/** [Method] Returns whether or not the field value is currently valid by validating the processed raw value of the field  
		* @returns Boolean True if the value is valid, else false 
		*/
		isValid?(): boolean;
		/** [Method] Display one or more error messages associated with this field using msgTarget to determine how to display the messag  
		* @param errors String/String[] The validation message(s) to display. 
		*/
		markInvalid?( errors?:any ): void;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] Performs any necessary manipulation of a raw field value to prepare it for conversion and or validation for instance  
		* @param value Object The unprocessed string value 
		* @returns Object The processed string value 
		*/
		processRawValue?( value?:any ): any;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Resets the field s originalValue property so it matches the current value  */
		resetOriginalValue?(): void;
		/** [Method] Sets the active error message to the given string  
		* @param msg String The error message 
		*/
		setActiveError?( msg?:string ): void;
		/** [Method] Set the active error message to an Array of error messages  
		* @param errors String[] The error messages 
		*/
		setActiveErrors?( errors?:string[] ): void;
		/** [Method] Applies a set of default configuration values to this Labelable instance  
		* @param defaults Object The defaults to apply to the object. 
		*/
		setFieldDefaults?( defaults?:any ): void;
		/** [Method] Set the label of this field  
		* @param label String The new label. The labelSeparator will be automatically appended to the label string. 
		*/
		setFieldLabel?( label?:string ): void;
		/** [Method] Set the CSS style of the field input element  
		* @param style String/Object/Function The style(s) to apply. Should be a valid argument to Ext.Element.applyStyles. 
		*/
		setFieldStyle?( style?:any ): void;
		/** [Method] Sets the field s raw value directly bypassing value conversion change detection and validation  
		* @param value Object The value to set 
		* @returns Object value The field value that is set 
		*/
		setRawValue?( value?:any ): any;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Boolean Whether the field should be read only. 
		*/
		setReadOnly?( readOnly?:boolean ): void;
		/** [Method] Sets a data value into the field and runs the change detection and validation  
		* @param value Object The value to set 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
		/** [Method] Allows for any necessary modifications before the original value is set 
		* @param value Object The initial value 
		* @returns Object The modified initial value 
		*/
		transformOriginalValue?( value?:any ): any;
		/** [Method] Transform the raw value before it is set 
		* @param value Object The value 
		* @returns Object The value to set 
		*/
		transformRawValue?( value?:any ): any;
		/** [Method] Returns the trimmed label by slicing off the label separator character  
		* @returns String The trimmed field label, or empty string if not defined 
		*/
		trimLabelSeparator?(): string;
		/** [Method] Clears the active error message s */
		unsetActiveError?(): void;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value and fires the vali  
		* @returns Boolean True if the value is valid, else false 
		*/
		validate?(): boolean;
		/** [Method] Uses getErrors to build an array of validation errors  
		* @param value Object The value to validate 
		* @returns Boolean True if all validations passed, false if one or more failed 
		*/
		validateValue?( value?:any ): boolean;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object The mixed-type value to convert to the raw representation. 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface IBaseField extends Ext.IComponent,Ext.form.ILabelable,Ext.form.field.IField {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number) */
		checkChangeBuffer?: number;
		/** [Config Option] (String[]) */
		checkChangeEvents?: string[];
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		dirtyCls?: string;
		/** [Config Option] (String) */
		fieldCls?: string;
		/** [Config Option] (String) */
		fieldStyle?: string;
		/** [Config Option] (String) */
		focusCls?: string;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		inputAttrTpl?: any;
		/** [Config Option] (String) */
		inputId?: string;
		/** [Config Option] (String) */
		inputType?: string;
		/** [Config Option] (String) */
		invalidText?: string;
		/** [Config Option] (String) */
		name?: string;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Config Option] (String) */
		readOnlyCls?: string;
		/** [Config Option] (Number) */
		tabIndex?: number;
		/** [Config Option] (Boolean) */
		validateOnBlur?: boolean;
		/** [Property] (Ext.Element) */
		inputEl?: Ext.IElement;
		/** [Property] (Boolean) */
		maskOnDisable?: boolean;
		/** [Method] A utility for grouping a set of modifications which may trigger value changes into a single transaction to prevent e  
		* @param fn Object A function containing the transaction code 
		*/
		batchChanges?( fn?:any ): void;
		/** [Method] Template method before a field is reset  */
		beforeReset?(): void;
		/** [Method] Checks whether the value of the field has changed since the last time it was checked  */
		checkChange?(): void;
		/** [Method] Checks the isDirty state of the field and if it has changed since the last time it was checked fires the dirtychange  */
		checkDirty?(): void;
		/** [Method] Clear any invalid styles messages for this field  */
		clearInvalid?(): void;
		/** [Method] This method needs to be called whenever you change something on this component that requires the Component s layout t  
		* @returns Ext.container.Container this 
		*/
		doComponentLayout?(): Ext.container.IContainer;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns HTMLElement 
		*/
		extractFileInput?(): HTMLElement;
		/** [Method] Gets the active error message for this component if any  
		* @returns String The active error message on the component; if there is no error, an empty string is returned. 
		*/
		getActiveError?(): string;
		/** [Method] Gets an Array of any active error messages currently applied to the field  
		* @returns String[] The active error messages on the component; if there are no errors, an empty Array is returned. 
		*/
		getActiveErrors?(): string[];
		/** [Method] Runs this field s validators and returns an array of error messages for any validation failures  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All error messages for this field; an empty Array if none. 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the label for the field  
		* @returns String The configured field label, or empty string if not defined 
		*/
		getFieldLabel?(): string;
		/** [Method] Gets the width of the label if visible  
		* @returns Number The label width 
		*/
		getLabelWidth?(): number;
		/** [Method] Generates the arguments for the field decorations rendering template  
		* @returns Object The template arguments 
		*/
		getLabelableRenderData?(): any;
		/** [Method] Returns the value s that should be saved to the Ext data Model instance for this field when Ext form Basic updateRe  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getModelData?(): any;
		/** [Method] Returns the name attribute of the field  
		* @returns String name The field name 
		*/
		getName?(): string;
		/** [Method] Returns the raw value of the field without performing any normalization conversion or validation  
		* @returns any value The raw String value of the field 
		*/
		getRawValue?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] private override to use getSubmitValue  as a convenience 
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getSubmitData?(): any;
		/** [Method] Returns the value that would be included in a standard form submit for this field  
		* @returns any The value to be submitted, or null. 
		*/
		getSubmitValue?(): any;
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] Tells whether the field currently has an active error message  
		* @returns Boolean 
		*/
		hasActiveError?(): boolean;
		/** [Method] Checks if the field has a visible label 
		* @returns Boolean True if the field has a visible label 
		*/
		hasVisibleLabel?(): boolean;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Initializes this Field mixin on the current instance  */
		initField?(): void;
		/** [Method] Performs initialization of this mixin  */
		initLabelable?(): void;
		/** [Method] Initialized the renderData to be used when rendering the renderTpl  
		* @returns Object Object with keys and values that are going to be applied to the renderTpl 
		*/
		initRenderData?(): any;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] Returns true if the value of this Field has been changed from its originalValue  
		* @returns Boolean True if this field has been changed from its original value (and is not disabled), false otherwise. 
		*/
		isDirty?(): boolean;
		/** [Method] Returns whether two field values are logically equal  
		* @param value1 Object The first value to compare 
		* @param value2 Object The second value to compare 
		* @returns Boolean True if the values are equal, false if inequal. 
		*/
		isEqual?( value1?:any, value2?:any ): boolean;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns Boolean 
		*/
		isFileUpload?(): boolean;
		/** [Method] Returns whether or not the field value is currently valid by validating the processed raw value of the field  
		* @returns Boolean True if the value is valid, else false 
		*/
		isValid?(): boolean;
		/** [Method] Display one or more error messages associated with this field using msgTarget to determine how to display the messag  
		* @param errors String/String[] The validation message(s) to display. 
		*/
		markInvalid?( errors?:any ): void;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] Performs any necessary manipulation of a raw field value to prepare it for conversion and or validation for instance  
		* @param value Object The unprocessed string value 
		* @returns Object The processed string value 
		*/
		processRawValue?( value?:any ): any;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Resets the field s originalValue property so it matches the current value  */
		resetOriginalValue?(): void;
		/** [Method] Sets the active error message to the given string  
		* @param msg String The error message 
		*/
		setActiveError?( msg?:string ): void;
		/** [Method] Set the active error message to an Array of error messages  
		* @param errors String[] The error messages 
		*/
		setActiveErrors?( errors?:string[] ): void;
		/** [Method] Applies a set of default configuration values to this Labelable instance  
		* @param defaults Object The defaults to apply to the object. 
		*/
		setFieldDefaults?( defaults?:any ): void;
		/** [Method] Set the label of this field  
		* @param label String The new label. The labelSeparator will be automatically appended to the label string. 
		*/
		setFieldLabel?( label?:string ): void;
		/** [Method] Set the CSS style of the field input element  
		* @param style String/Object/Function The style(s) to apply. Should be a valid argument to Ext.Element.applyStyles. 
		*/
		setFieldStyle?( style?:any ): void;
		/** [Method] Sets the field s raw value directly bypassing value conversion change detection and validation  
		* @param value Object The value to set 
		* @returns Object value The field value that is set 
		*/
		setRawValue?( value?:any ): any;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Boolean Whether the field should be read only. 
		*/
		setReadOnly?( readOnly?:boolean ): void;
		/** [Method] Sets a data value into the field and runs the change detection and validation  
		* @param value Object The value to set 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
		/** [Method] Allows for any necessary modifications before the original value is set 
		* @param value Object The initial value 
		* @returns Object The modified initial value 
		*/
		transformOriginalValue?( value?:any ): any;
		/** [Method] Transform the raw value before it is set 
		* @param value Object The value 
		* @returns Object The value to set 
		*/
		transformRawValue?( value?:any ): any;
		/** [Method] Returns the trimmed label by slicing off the label separator character  
		* @returns String The trimmed field label, or empty string if not defined 
		*/
		trimLabelSeparator?(): string;
		/** [Method] Clears the active error message s */
		unsetActiveError?(): void;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value and fires the vali  
		* @returns Boolean True if the value is valid, else false 
		*/
		validate?(): boolean;
		/** [Method] Uses getErrors to build an array of validation errors  
		* @param value Object The value to validate 
		* @returns Boolean True if all validations passed, false if one or more failed 
		*/
		validateValue?( value?:any ): boolean;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object The mixed-type value to convert to the raw representation. 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form.field {
	export interface ICheckbox extends Ext.form.field.IBase {
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterBoxLabelTextTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterBoxLabelTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeBoxLabelTextTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeBoxLabelTpl?: any;
		/** [Config Option] (String) */
		boxLabel?: string;
		/** [Config Option] (String) */
		boxLabelAlign?: string;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		boxLabelAttrTpl?: any;
		/** [Config Option] (String) */
		boxLabelCls?: string;
		/** [Config Option] (String[]) */
		checkChangeEvents?: string[];
		/** [Config Option] (Boolean) */
		checked?: boolean;
		/** [Config Option] (String) */
		checkedCls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		fieldCls?: string;
		/** [Config Option] (String) */
		focusCls?: string;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (String) */
		inputType?: string;
		/** [Config Option] (String) */
		inputValue?: string;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (String) */
		uncheckedValue?: string;
		/** [Property] (Ext.Element) */
		boxLabelEl?: Ext.IElement;
		/** [Property] (Object) */
		originalValue?: any;
		/** [Method] inherit docs */
		beforeDestroy?(): void;
		/** [Method] Returns the checked state of the checkbox  
		* @returns Boolean True if checked, else false 
		*/
		getRawValue?(): boolean;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Returns the submit value for the checkbox which can be used when submitting forms  
		* @returns any If checked the inputValue is returned; otherwise the uncheckedValue (or null if the latter is not configured). 
		*/
		getSubmitValue?(): any;
		/** [Method] Returns the checked state of the checkbox  
		* @returns Boolean True if checked, else false 
		*/
		getValue?(): boolean;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] Resets the field s originalValue property so it matches the current value  
		* @param fromBoxInGroup Object 
		*/
		resetOriginalValue?( fromBoxInGroup?:any ): void;
		/** [Method] Sets the boxLabel for this checkbox  
		* @param boxLabel String The new label 
		*/
		setBoxLabel?( boxLabel?:string ): void;
		/** [Method] Sets the checked state of the checkbox  
		* @param value Boolean/String/Number The following values will check the checkbox: true, 'true', '1', 1, or 'on', as well as a String that matches the inputValue. Any other value will uncheck the checkbox. 
		* @returns Boolean the new checked state of the checkbox 
		*/
		setRawValue?( value?:any ): boolean;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Object 
		*/
		setReadOnly?( readOnly?:any ): void;
		/** [Method] Sets the checked state of the checkbox and invokes change detection  
		* @param checked Boolean/String The following values will check the checkbox: true, 'true', '1', or 'on', as well as a String that matches the inputValue. Any other value will uncheck the checkbox. 
		* @returns Ext.form.field.Checkbox this 
		*/
		setValue?( checked?:any ): Ext.form.field.ICheckbox;
		/** [Method] private 
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface ICheckbox extends Ext.form.field.IBase {
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterBoxLabelTextTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterBoxLabelTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeBoxLabelTextTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeBoxLabelTpl?: any;
		/** [Config Option] (String) */
		boxLabel?: string;
		/** [Config Option] (String) */
		boxLabelAlign?: string;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		boxLabelAttrTpl?: any;
		/** [Config Option] (String) */
		boxLabelCls?: string;
		/** [Config Option] (String[]) */
		checkChangeEvents?: string[];
		/** [Config Option] (Boolean) */
		checked?: boolean;
		/** [Config Option] (String) */
		checkedCls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		fieldCls?: string;
		/** [Config Option] (String) */
		focusCls?: string;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (String) */
		inputType?: string;
		/** [Config Option] (String) */
		inputValue?: string;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (String) */
		uncheckedValue?: string;
		/** [Property] (Ext.Element) */
		boxLabelEl?: Ext.IElement;
		/** [Property] (Object) */
		originalValue?: any;
		/** [Method] inherit docs */
		beforeDestroy?(): void;
		/** [Method] Returns the checked state of the checkbox  
		* @returns Boolean True if checked, else false 
		*/
		getRawValue?(): boolean;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Returns the submit value for the checkbox which can be used when submitting forms  
		* @returns any If checked the inputValue is returned; otherwise the uncheckedValue (or null if the latter is not configured). 
		*/
		getSubmitValue?(): any;
		/** [Method] Returns the checked state of the checkbox  
		* @returns Boolean True if checked, else false 
		*/
		getValue?(): boolean;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] Resets the field s originalValue property so it matches the current value  
		* @param fromBoxInGroup Object 
		*/
		resetOriginalValue?( fromBoxInGroup?:any ): void;
		/** [Method] Sets the boxLabel for this checkbox  
		* @param boxLabel String The new label 
		*/
		setBoxLabel?( boxLabel?:string ): void;
		/** [Method] Sets the checked state of the checkbox  
		* @param value Boolean/String/Number The following values will check the checkbox: true, 'true', '1', 1, or 'on', as well as a String that matches the inputValue. Any other value will uncheck the checkbox. 
		* @returns Boolean the new checked state of the checkbox 
		*/
		setRawValue?( value?:any ): boolean;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Object 
		*/
		setReadOnly?( readOnly?:any ): void;
		/** [Method] Sets the checked state of the checkbox and invokes change detection  
		* @param checked Boolean/String The following values will check the checkbox: true, 'true', '1', or 'on', as well as a String that matches the inputValue. Any other value will uncheck the checkbox. 
		* @returns Ext.form.field.Checkbox this 
		*/
		setValue?( checked?:any ): Ext.form.field.ICheckbox;
		/** [Method] private 
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form.field {
	export interface IComboBox extends Ext.form.field.IPicker,Ext.util.IBindable {
		/** [Config Option] (String) */
		allQuery?: string;
		/** [Config Option] (Boolean) */
		anyMatch?: boolean;
		/** [Config Option] (Boolean) */
		autoSelect?: boolean;
		/** [Config Option] (Boolean) */
		caseSensitive?: boolean;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Object) */
		defaultListConfig?: any;
		/** [Config Option] (String) */
		delimiter?: string;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (Boolean) */
		enableRegEx?: boolean;
		/** [Config Option] (Ext.XTemplate) */
		fieldSubTpl?: Ext.IXTemplate;
		/** [Config Option] (Boolean) */
		forceSelection?: boolean;
		/** [Config Option] (Boolean) */
		growToLongestValue?: boolean;
		/** [Config Option] (String) */
		hiddenName?: string;
		/** [Config Option] (Object) */
		listConfig?: any;
		/** [Config Option] (Number) */
		minChars?: number;
		/** [Config Option] (Boolean) */
		multiSelect?: boolean;
		/** [Config Option] (Number) */
		pageSize?: number;
		/** [Config Option] (Boolean) */
		queryCaching?: boolean;
		/** [Config Option] (Number) */
		queryDelay?: number;
		/** [Config Option] (String) */
		queryMode?: string;
		/** [Config Option] (String) */
		queryParam?: string;
		/** [Config Option] (Boolean) */
		selectOnTab?: boolean;
		/** [Config Option] (Ext.data.Store/String/Array) */
		store?: any;
		/** [Config Option] (String/HTMLElement/Ext.Element) */
		transform?: any;
		/** [Config Option] (String) */
		triggerAction?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (Boolean) */
		typeAhead?: boolean;
		/** [Config Option] (Number) */
		typeAheadDelay?: number;
		/** [Config Option] (String) */
		valueField?: string;
		/** [Config Option] (String) */
		valueNotFoundText?: string;
		/** [Property] (String) */
		lastQuery?: string;
		/** [Method] A method called when the filtering caused by the doQuery call is complete and the store has been either filtered loca  
		* @param queryPlan Object An object containing details about the query was executed. 
		*/
		afterQuery?( queryPlan?:any ): void;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Aligns the picker to the input element */
		alignPicker?(): void;
		/** [Method] Template method to do any pre blur processing  */
		beforeBlur?(): void;
		/** [Method] A method which may modify aspects of how the store is to be filtered if queryMode is local  of loaded if queryMod  
		* @param queryPlan Object An object containing details about the query to be executed. 
		*/
		beforeQuery?( queryPlan?:any ): void;
		/** [Method] Template method before a field is reset  */
		beforeReset?(): void;
		/** [Method] Binds a store to this instance  
		* @param store Ext.data.AbstractStore/String The store to bind or ID of the store. When no store given (or when null or undefined passed), unbinds the existing store. 
		*/
		bindStore?( store?:any ): void;
		/** [Method] Binds listeners for this component to the store  
		* @param store Ext.data.AbstractStore The store to bind to 
		*/
		bindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
		/** [Method] Clears any value currently set in the ComboBox  */
		clearValue?(): void;
		/** [Method] Creates and returns the component to be used as this field s picker  */
		createPicker?(): void;
		/** [Method] Executes a query to filter the dropdown list  
		* @param queryString String The string to use to filter available items by matching against the configured valueField. 
		* @param forceAll Boolean true to force the query to execute even if there are currently fewer characters in the field than the minimum specified by the minChars config option. It also clears any filter previously saved in the current store. 
		* @param rawQuery Boolean Pass as true if the raw typed value is being used as the query string. This causes the resulting store load to leave the raw value undisturbed. 
		* @returns Boolean true if the query was permitted to run, false if it was cancelled by a beforequery handler. 
		*/
		doQuery?( queryString?:string, forceAll?:boolean, rawQuery?:boolean ): boolean;
		/** [Method] Finds the record by searching for a specific field value combination  
		* @param field String The name of the field to test. 
		* @param value Object The value to match the field against. 
		* @returns Ext.data.Model The matched record or false. 
		*/
		findRecord?( field?:string, value?:any ): Ext.data.IModel;
		/** [Method] Finds the record by searching values in the displayField  
		* @param value Object The value to match the field against. 
		* @returns Ext.data.Model The matched record or false. 
		*/
		findRecordByDisplay?( value?:any ): Ext.data.IModel;
		/** [Method] Finds the record by searching values in the valueField  
		* @param value Object The value to match the field against. 
		* @returns Ext.data.Model The matched record or false. 
		*/
		findRecordByValue?( value?:any ): Ext.data.IModel;
		/** [Method] Returns the store associated with this ComboBox  
		* @returns Ext.data.Store The store 
		*/
		getStore?(): Ext.data.IStore;
		/** [Method] Gets the listeners to bind to a new store  
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Returns the value that would be included in a standard form submit for this field  
		* @returns String The value to be submitted, or null. 
		*/
		getSubmitValue?(): string;
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] The picker the dropdown must have its zIndex managed by the same ZIndexManager which is providing the zIndex of our  */
		onAdded?(): void;
		/** [Method] Template method it is called when a new store is bound to the current instance  
		* @param store Object 
		* @param initial Object 
		*/
		onBindStore?( store?:any, initial?:any ): void;
		/** [Method] Handles the trigger click by default toggles between expanding and collapsing the picker component  */
		onTriggerClick?(): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  
		* @param store Object 
		*/
		onUnbindStore?( store?:any ): void;
		/** [Method] Selects an item by a Model or by a key value  
		* @param r Object 
		*/
		select?( r?:any ): void;
		/** [Method] Sets the specified value s into the field  
		* @param value String/String[] The value(s) to be set. Can be either a single String or Ext.data.Model, or an Array of Strings or Models. 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
		/** [Method] Unbinds listeners from this component to the store  
		* @param store Ext.data.AbstractStore The store to unbind from 
		*/
		unbindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
	}
}
declare module Ext.form {
	export interface IComboBox extends Ext.form.field.IPicker,Ext.util.IBindable {
		/** [Config Option] (String) */
		allQuery?: string;
		/** [Config Option] (Boolean) */
		anyMatch?: boolean;
		/** [Config Option] (Boolean) */
		autoSelect?: boolean;
		/** [Config Option] (Boolean) */
		caseSensitive?: boolean;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Object) */
		defaultListConfig?: any;
		/** [Config Option] (String) */
		delimiter?: string;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (Boolean) */
		enableRegEx?: boolean;
		/** [Config Option] (Ext.XTemplate) */
		fieldSubTpl?: Ext.IXTemplate;
		/** [Config Option] (Boolean) */
		forceSelection?: boolean;
		/** [Config Option] (Boolean) */
		growToLongestValue?: boolean;
		/** [Config Option] (String) */
		hiddenName?: string;
		/** [Config Option] (Object) */
		listConfig?: any;
		/** [Config Option] (Number) */
		minChars?: number;
		/** [Config Option] (Boolean) */
		multiSelect?: boolean;
		/** [Config Option] (Number) */
		pageSize?: number;
		/** [Config Option] (Boolean) */
		queryCaching?: boolean;
		/** [Config Option] (Number) */
		queryDelay?: number;
		/** [Config Option] (String) */
		queryMode?: string;
		/** [Config Option] (String) */
		queryParam?: string;
		/** [Config Option] (Boolean) */
		selectOnTab?: boolean;
		/** [Config Option] (Ext.data.Store/String/Array) */
		store?: any;
		/** [Config Option] (String/HTMLElement/Ext.Element) */
		transform?: any;
		/** [Config Option] (String) */
		triggerAction?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (Boolean) */
		typeAhead?: boolean;
		/** [Config Option] (Number) */
		typeAheadDelay?: number;
		/** [Config Option] (String) */
		valueField?: string;
		/** [Config Option] (String) */
		valueNotFoundText?: string;
		/** [Property] (String) */
		lastQuery?: string;
		/** [Method] A method called when the filtering caused by the doQuery call is complete and the store has been either filtered loca  
		* @param queryPlan Object An object containing details about the query was executed. 
		*/
		afterQuery?( queryPlan?:any ): void;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Aligns the picker to the input element */
		alignPicker?(): void;
		/** [Method] Template method to do any pre blur processing  */
		beforeBlur?(): void;
		/** [Method] A method which may modify aspects of how the store is to be filtered if queryMode is local  of loaded if queryMod  
		* @param queryPlan Object An object containing details about the query to be executed. 
		*/
		beforeQuery?( queryPlan?:any ): void;
		/** [Method] Template method before a field is reset  */
		beforeReset?(): void;
		/** [Method] Binds a store to this instance  
		* @param store Ext.data.AbstractStore/String The store to bind or ID of the store. When no store given (or when null or undefined passed), unbinds the existing store. 
		*/
		bindStore?( store?:any ): void;
		/** [Method] Binds listeners for this component to the store  
		* @param store Ext.data.AbstractStore The store to bind to 
		*/
		bindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
		/** [Method] Clears any value currently set in the ComboBox  */
		clearValue?(): void;
		/** [Method] Creates and returns the component to be used as this field s picker  */
		createPicker?(): void;
		/** [Method] Executes a query to filter the dropdown list  
		* @param queryString String The string to use to filter available items by matching against the configured valueField. 
		* @param forceAll Boolean true to force the query to execute even if there are currently fewer characters in the field than the minimum specified by the minChars config option. It also clears any filter previously saved in the current store. 
		* @param rawQuery Boolean Pass as true if the raw typed value is being used as the query string. This causes the resulting store load to leave the raw value undisturbed. 
		* @returns Boolean true if the query was permitted to run, false if it was cancelled by a beforequery handler. 
		*/
		doQuery?( queryString?:string, forceAll?:boolean, rawQuery?:boolean ): boolean;
		/** [Method] Finds the record by searching for a specific field value combination  
		* @param field String The name of the field to test. 
		* @param value Object The value to match the field against. 
		* @returns Ext.data.Model The matched record or false. 
		*/
		findRecord?( field?:string, value?:any ): Ext.data.IModel;
		/** [Method] Finds the record by searching values in the displayField  
		* @param value Object The value to match the field against. 
		* @returns Ext.data.Model The matched record or false. 
		*/
		findRecordByDisplay?( value?:any ): Ext.data.IModel;
		/** [Method] Finds the record by searching values in the valueField  
		* @param value Object The value to match the field against. 
		* @returns Ext.data.Model The matched record or false. 
		*/
		findRecordByValue?( value?:any ): Ext.data.IModel;
		/** [Method] Returns the store associated with this ComboBox  
		* @returns Ext.data.Store The store 
		*/
		getStore?(): Ext.data.IStore;
		/** [Method] Gets the listeners to bind to a new store  
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Returns the value that would be included in a standard form submit for this field  
		* @returns String The value to be submitted, or null. 
		*/
		getSubmitValue?(): string;
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] The picker the dropdown must have its zIndex managed by the same ZIndexManager which is providing the zIndex of our  */
		onAdded?(): void;
		/** [Method] Template method it is called when a new store is bound to the current instance  
		* @param store Object 
		* @param initial Object 
		*/
		onBindStore?( store?:any, initial?:any ): void;
		/** [Method] Handles the trigger click by default toggles between expanding and collapsing the picker component  */
		onTriggerClick?(): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  
		* @param store Object 
		*/
		onUnbindStore?( store?:any ): void;
		/** [Method] Selects an item by a Model or by a key value  
		* @param r Object 
		*/
		select?( r?:any ): void;
		/** [Method] Sets the specified value s into the field  
		* @param value String/String[] The value(s) to be set. Can be either a single String or Ext.data.Model, or an Array of Strings or Models. 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
		/** [Method] Unbinds listeners from this component to the store  
		* @param store Ext.data.AbstractStore The store to unbind from 
		*/
		unbindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
	}
}
declare module Ext.form.field {
	export interface IDate extends Ext.form.field.IPicker {
		/** [Config Option] (String) */
		altFormats?: string;
		/** [Config Option] (String[]) */
		disabledDates?: string[];
		/** [Config Option] (String) */
		disabledDatesText?: string;
		/** [Config Option] (Number[]) */
		disabledDays?: number[];
		/** [Config Option] (String) */
		disabledDaysText?: string;
		/** [Config Option] (String) */
		format?: string;
		/** [Config Option] (String) */
		invalidText?: string;
		/** [Config Option] (Boolean) */
		matchFieldWidth?: boolean;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Date/String) */
		maxValue?: any;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (Date/String) */
		minValue?: any;
		/** [Config Option] (Boolean) */
		showToday?: boolean;
		/** [Config Option] (Number) */
		startDay?: number;
		/** [Config Option] (String) */
		submitFormat?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (Boolean) */
		useStrict?: boolean;
		/** [Method] private */
		beforeBlur?(): void;
		/** [Method] Creates and returns the component to be used as this field s picker  */
		createPicker?(): void;
		/** [Method] Runs all of Date s validations and returns an array of any errors  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All validation errors for this field 
		*/
		getErrors?( value?:any ): string[];
		/** [Method]  */
		initComponent?(): void;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Attempts to parse a given string value using a given date format. ... */
		safeParse?: any;
		/** [Method] Replaces any existing disabled dates with new values and refreshes the Date picker  
		* @param disabledDates String[] An array of date strings (see the disabledDates config for details on supported values) used to disable a pattern of dates. 
		*/
		setDisabledDates?( disabledDates?:string[] ): void;
		/** [Method] Replaces any existing disabled days by index 0 6 with new values and refreshes the Date picker  
		* @param disabledDays Number[] An array of disabled day indexes. See the disabledDays config for details on supported values. 
		*/
		setDisabledDays?( disabledDays?:number[] ): void;
		/** [Method] Replaces any existing maxValue with the new value and refreshes the Date picker  
		* @param value Date The maximum date that can be selected 
		*/
		setMaxValue?( value?:any ): void;
		/** [Method] Replaces any existing minValue with the new value and refreshes the Date picker  
		* @param value Date The minimum date that can be selected 
		*/
		setMinValue?( value?:any ): void;
		/** [Method] Sets the value of the date field  
		* @param date String/Date The date or valid date string 
		* @returns Ext.form.field.Date this 
		*/
		setValue?( date?:any ): Ext.form.field.IDate;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface IDateField extends Ext.form.field.IPicker {
		/** [Config Option] (String) */
		altFormats?: string;
		/** [Config Option] (String[]) */
		disabledDates?: string[];
		/** [Config Option] (String) */
		disabledDatesText?: string;
		/** [Config Option] (Number[]) */
		disabledDays?: number[];
		/** [Config Option] (String) */
		disabledDaysText?: string;
		/** [Config Option] (String) */
		format?: string;
		/** [Config Option] (String) */
		invalidText?: string;
		/** [Config Option] (Boolean) */
		matchFieldWidth?: boolean;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Date/String) */
		maxValue?: any;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (Date/String) */
		minValue?: any;
		/** [Config Option] (Boolean) */
		showToday?: boolean;
		/** [Config Option] (Number) */
		startDay?: number;
		/** [Config Option] (String) */
		submitFormat?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (Boolean) */
		useStrict?: boolean;
		/** [Method] private */
		beforeBlur?(): void;
		/** [Method] Creates and returns the component to be used as this field s picker  */
		createPicker?(): void;
		/** [Method] Runs all of Date s validations and returns an array of any errors  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All validation errors for this field 
		*/
		getErrors?( value?:any ): string[];
		/** [Method]  */
		initComponent?(): void;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Attempts to parse a given string value using a given date format. ... */
		safeParse?: any;
		/** [Method] Replaces any existing disabled dates with new values and refreshes the Date picker  
		* @param disabledDates String[] An array of date strings (see the disabledDates config for details on supported values) used to disable a pattern of dates. 
		*/
		setDisabledDates?( disabledDates?:string[] ): void;
		/** [Method] Replaces any existing disabled days by index 0 6 with new values and refreshes the Date picker  
		* @param disabledDays Number[] An array of disabled day indexes. See the disabledDays config for details on supported values. 
		*/
		setDisabledDays?( disabledDays?:number[] ): void;
		/** [Method] Replaces any existing maxValue with the new value and refreshes the Date picker  
		* @param value Date The maximum date that can be selected 
		*/
		setMaxValue?( value?:any ): void;
		/** [Method] Replaces any existing minValue with the new value and refreshes the Date picker  
		* @param value Date The minimum date that can be selected 
		*/
		setMinValue?( value?:any ): void;
		/** [Method] Sets the value of the date field  
		* @param date String/Date The date or valid date string 
		* @returns Ext.form.field.Date this 
		*/
		setValue?( date?:any ): Ext.form.field.IDate;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface IDate extends Ext.form.field.IPicker {
		/** [Config Option] (String) */
		altFormats?: string;
		/** [Config Option] (String[]) */
		disabledDates?: string[];
		/** [Config Option] (String) */
		disabledDatesText?: string;
		/** [Config Option] (Number[]) */
		disabledDays?: number[];
		/** [Config Option] (String) */
		disabledDaysText?: string;
		/** [Config Option] (String) */
		format?: string;
		/** [Config Option] (String) */
		invalidText?: string;
		/** [Config Option] (Boolean) */
		matchFieldWidth?: boolean;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Date/String) */
		maxValue?: any;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (Date/String) */
		minValue?: any;
		/** [Config Option] (Boolean) */
		showToday?: boolean;
		/** [Config Option] (Number) */
		startDay?: number;
		/** [Config Option] (String) */
		submitFormat?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (Boolean) */
		useStrict?: boolean;
		/** [Method] private */
		beforeBlur?(): void;
		/** [Method] Creates and returns the component to be used as this field s picker  */
		createPicker?(): void;
		/** [Method] Runs all of Date s validations and returns an array of any errors  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All validation errors for this field 
		*/
		getErrors?( value?:any ): string[];
		/** [Method]  */
		initComponent?(): void;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Attempts to parse a given string value using a given date format. ... */
		safeParse?: any;
		/** [Method] Replaces any existing disabled dates with new values and refreshes the Date picker  
		* @param disabledDates String[] An array of date strings (see the disabledDates config for details on supported values) used to disable a pattern of dates. 
		*/
		setDisabledDates?( disabledDates?:string[] ): void;
		/** [Method] Replaces any existing disabled days by index 0 6 with new values and refreshes the Date picker  
		* @param disabledDays Number[] An array of disabled day indexes. See the disabledDays config for details on supported values. 
		*/
		setDisabledDays?( disabledDays?:number[] ): void;
		/** [Method] Replaces any existing maxValue with the new value and refreshes the Date picker  
		* @param value Date The maximum date that can be selected 
		*/
		setMaxValue?( value?:any ): void;
		/** [Method] Replaces any existing minValue with the new value and refreshes the Date picker  
		* @param value Date The minimum date that can be selected 
		*/
		setMinValue?( value?:any ): void;
		/** [Method] Sets the value of the date field  
		* @param date String/Date The date or valid date string 
		* @returns Ext.form.field.Date this 
		*/
		setValue?( date?:any ): Ext.form.field.IDate;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form.field {
	export interface IDisplay extends Ext.form.field.IBase {
		/** [Config Option] (String) */
		fieldBodyCls?: string;
		/** [Config Option] (String) */
		fieldCls?: string;
		/** [Config Option] (Boolean) */
		htmlEncode?: boolean;
		/** [Config Option] (Function) */
		renderer?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		submitValue?: boolean;
		/** [Method] Returns the raw value of the field without performing any normalization conversion or validation  
		* @returns String value The raw String value of the field 
		*/
		getRawValue?(): string;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Returns true if the value of this Field has been changed from its originalValue  
		* @returns Boolean True if this field has been changed from its original value (and is not disabled), false otherwise. 
		*/
		isDirty?(): boolean;
		/** [Method] Returns whether or not the field value is currently valid by validating the processed raw value of the field  
		* @returns Boolean True if the value is valid, else false 
		*/
		isValid?(): boolean;
		/** [Method] Sets the field s raw value directly bypassing value conversion change detection and validation  
		* @param value Object 
		* @returns Object value The field value that is set 
		*/
		setRawValue?( value?:any ): any;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value and fires the vali  
		* @returns Boolean True if the value is valid, else false 
		*/
		validate?(): boolean;
	}
}
declare module Ext.form {
	export interface IDisplayField extends Ext.form.field.IBase {
		/** [Config Option] (String) */
		fieldBodyCls?: string;
		/** [Config Option] (String) */
		fieldCls?: string;
		/** [Config Option] (Boolean) */
		htmlEncode?: boolean;
		/** [Config Option] (Function) */
		renderer?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		submitValue?: boolean;
		/** [Method] Returns the raw value of the field without performing any normalization conversion or validation  
		* @returns String value The raw String value of the field 
		*/
		getRawValue?(): string;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Returns true if the value of this Field has been changed from its originalValue  
		* @returns Boolean True if this field has been changed from its original value (and is not disabled), false otherwise. 
		*/
		isDirty?(): boolean;
		/** [Method] Returns whether or not the field value is currently valid by validating the processed raw value of the field  
		* @returns Boolean True if the value is valid, else false 
		*/
		isValid?(): boolean;
		/** [Method] Sets the field s raw value directly bypassing value conversion change detection and validation  
		* @param value Object 
		* @returns Object value The field value that is set 
		*/
		setRawValue?( value?:any ): any;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value and fires the vali  
		* @returns Boolean True if the value is valid, else false 
		*/
		validate?(): boolean;
	}
}
declare module Ext.form {
	export interface IDisplay extends Ext.form.field.IBase {
		/** [Config Option] (String) */
		fieldBodyCls?: string;
		/** [Config Option] (String) */
		fieldCls?: string;
		/** [Config Option] (Boolean) */
		htmlEncode?: boolean;
		/** [Config Option] (Function) */
		renderer?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		submitValue?: boolean;
		/** [Method] Returns the raw value of the field without performing any normalization conversion or validation  
		* @returns String value The raw String value of the field 
		*/
		getRawValue?(): string;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Returns true if the value of this Field has been changed from its originalValue  
		* @returns Boolean True if this field has been changed from its original value (and is not disabled), false otherwise. 
		*/
		isDirty?(): boolean;
		/** [Method] Returns whether or not the field value is currently valid by validating the processed raw value of the field  
		* @returns Boolean True if the value is valid, else false 
		*/
		isValid?(): boolean;
		/** [Method] Sets the field s raw value directly bypassing value conversion change detection and validation  
		* @param value Object 
		* @returns Object value The field value that is set 
		*/
		setRawValue?( value?:any ): any;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value and fires the vali  
		* @returns Boolean True if the value is valid, else false 
		*/
		validate?(): boolean;
	}
}
declare module Ext.form.field {
	export interface IField extends Ext.IBase {
		/** [Config Option] (Boolean) */
		disabled?: boolean;
		/** [Config Option] (String) */
		name?: string;
		/** [Config Option] (Boolean) */
		submitValue?: boolean;
		/** [Config Option] (Boolean) */
		validateOnChange?: boolean;
		/** [Config Option] (Object) */
		value?: any;
		/** [Property] (Boolean) */
		isFormField?: boolean;
		/** [Property] (Object) */
		originalValue?: any;
		/** [Method] A utility for grouping a set of modifications which may trigger value changes into a single transaction to prevent e  
		* @param fn Object A function containing the transaction code 
		*/
		batchChanges?( fn?:any ): void;
		/** [Method] Template method before a field is reset  */
		beforeReset?(): void;
		/** [Method] Checks whether the value of the field has changed since the last time it was checked  */
		checkChange?(): void;
		/** [Method] Checks the isDirty state of the field and if it has changed since the last time it was checked fires the dirtychange  */
		checkDirty?(): void;
		/** [Method] Clear any invalid styles messages for this field  */
		clearInvalid?(): void;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns any 
		*/
		extractFileInput?(): any;
		/** [Method] Runs this field s validators and returns an array of error messages for any validation failures  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns any All error messages for this field; an empty Array if none. 
		*/
		getErrors?( value?:any ): any;
		/** [Method] Returns the value s that should be saved to the Ext data Model instance for this field when Ext form Basic updateRe  
		* @returns any A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getModelData?(): any;
		/** [Method] Returns the name attribute of the field  
		* @returns string name The field name 
		*/
		getName?(): string;
		/** [Method] Returns the parameter s that would be included in a standard form submit for this field  
		* @returns any A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getSubmitData?(): any;
		/** [Method] Returns the current data value of the field  
		* @returns any value The field value 
		*/
		getValue?(): any;
		/** [Method] Initializes this Field mixin on the current instance  */
		initField?(): void;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] Returns true if the value of this Field has been changed from its originalValue  
		* @returns any True if this field has been changed from its original value (and is not disabled), false otherwise. 
		*/
		isDirty?(): any;
		/** [Method] Returns whether two field values are logically equal  
		* @param value1 Object The first value to compare 
		* @param value2 Object The second value to compare 
		* @returns any True if the values are equal, false if inequal. 
		*/
		isEqual?( value1?:any, value2?:any ): any;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns any 
		*/
		isFileUpload?(): any;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value  
		* @returns any True if the value is valid, else false 
		*/
		isValid?(): any;
		/** [Method] Associate one or more error messages with this field  
		* @param errors String/String[] The error message(s) for the field. 
		*/
		markInvalid?( errors?:any ): void;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Resets the field s originalValue property so it matches the current value  */
		resetOriginalValue?(): void;
		/** [Method] Sets a data value into the field and runs the change detection and validation  
		* @param value Object The value to set 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
		/** [Method] Allows for any necessary modifications before the original value is set 
		* @param value Object The initial value 
		* @returns any The modified initial value 
		*/
		transformOriginalValue?( value?:any ): any;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value and fires the vali  
		* @returns any True if the value is valid, else false 
		*/
		validate?(): any;
	}
}
declare module Ext.form.field {
	export interface IFile extends Ext.form.field.ITrigger {
		/** [Config Option] (Object) */
		buttonConfig?: any;
		/** [Config Option] (Number) */
		buttonMargin?: number;
		/** [Config Option] (Boolean) */
		buttonOnly?: boolean;
		/** [Config Option] (String) */
		buttonText?: string;
		/** [Config Option] (Boolean) */
		clearOnSubmit?: boolean;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Property] (Ext.button.Button) */
		button?: Ext.button.IButton;
		/** [Property] (Ext.Element) */
		fileInputEl?: Ext.IElement;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns HTMLElement 
		*/
		extractFileInput?(): HTMLElement;
		/** [Method] Gets the markup to be inserted into the subTplMarkup  */
		getTriggerMarkup?(): void;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns Boolean 
		*/
		isFileUpload?(): boolean;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Overridden to do nothing */
		setValue?(): void;
	}
}
declare module Ext.form {
	export interface IFileUploadField extends Ext.form.field.ITrigger {
		/** [Config Option] (Object) */
		buttonConfig?: any;
		/** [Config Option] (Number) */
		buttonMargin?: number;
		/** [Config Option] (Boolean) */
		buttonOnly?: boolean;
		/** [Config Option] (String) */
		buttonText?: string;
		/** [Config Option] (Boolean) */
		clearOnSubmit?: boolean;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Property] (Ext.button.Button) */
		button?: Ext.button.IButton;
		/** [Property] (Ext.Element) */
		fileInputEl?: Ext.IElement;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns HTMLElement 
		*/
		extractFileInput?(): HTMLElement;
		/** [Method] Gets the markup to be inserted into the subTplMarkup  */
		getTriggerMarkup?(): void;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns Boolean 
		*/
		isFileUpload?(): boolean;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Overridden to do nothing */
		setValue?(): void;
	}
}
declare module Ext.ux.form {
	export interface IFileUploadField extends Ext.form.field.ITrigger {
		/** [Config Option] (Object) */
		buttonConfig?: any;
		/** [Config Option] (Number) */
		buttonMargin?: number;
		/** [Config Option] (Boolean) */
		buttonOnly?: boolean;
		/** [Config Option] (String) */
		buttonText?: string;
		/** [Config Option] (Boolean) */
		clearOnSubmit?: boolean;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Property] (Ext.button.Button) */
		button?: Ext.button.IButton;
		/** [Property] (Ext.Element) */
		fileInputEl?: Ext.IElement;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns HTMLElement 
		*/
		extractFileInput?(): HTMLElement;
		/** [Method] Gets the markup to be inserted into the subTplMarkup  */
		getTriggerMarkup?(): void;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns Boolean 
		*/
		isFileUpload?(): boolean;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Overridden to do nothing */
		setValue?(): void;
	}
}
declare module Ext.form {
	export interface IFile extends Ext.form.field.ITrigger {
		/** [Config Option] (Object) */
		buttonConfig?: any;
		/** [Config Option] (Number) */
		buttonMargin?: number;
		/** [Config Option] (Boolean) */
		buttonOnly?: boolean;
		/** [Config Option] (String) */
		buttonText?: string;
		/** [Config Option] (Boolean) */
		clearOnSubmit?: boolean;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Property] (Ext.button.Button) */
		button?: Ext.button.IButton;
		/** [Property] (Ext.Element) */
		fileInputEl?: Ext.IElement;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns HTMLElement 
		*/
		extractFileInput?(): HTMLElement;
		/** [Method] Gets the markup to be inserted into the subTplMarkup  */
		getTriggerMarkup?(): void;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns Boolean 
		*/
		isFileUpload?(): boolean;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Overridden to do nothing */
		setValue?(): void;
	}
}
declare module Ext.form.field {
	export interface IFileButton extends Ext.button.IButton {
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (Boolean) */
		preventDefault?: boolean;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] This method returns an object which provides substitution parameters for the XTemplate used to create this Button s D  
		* @returns Object Substitution data for a Template. The default implementation which provides data for the default template returns an Object containing the following properties: 
		*/
		getTemplateArgs?(): any;
		/** [Method] See comments in onFocus */
		onDisable?(): void;
		/** [Method] Allows addition of behavior to the enable operation  */
		onEnable?(): void;
	}
}
declare module Ext.form.field {
	export interface IHidden extends Ext.form.field.IBase {
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (Boolean) */
		hideLabel?: boolean;
		/** [Config Option] (String) */
		inputType?: string;
		/** [Method] Clear any invalid styles messages for this field  */
		clearInvalid?(): void;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] These are all private overrides */
		initEvents?(): void;
		/** [Method] Display one or more error messages associated with this field using msgTarget to determine how to display the messag  */
		markInvalid?(): void;
		/** [Method] Sets the height of the component  
		* @returns Ext.Component this 
		*/
		setHeight?(): Ext.IComponent;
		/** [Method] Sets the page XY position of the component  
		* @returns Ext.Component this 
		*/
		setPagePosition?(): Ext.IComponent;
		/** [Method] Sets the left and top of the component  
		* @returns Ext.Component this 
		*/
		setPosition?(): Ext.IComponent;
		/** [Method] Sets the width and height of this Component  
		* @returns Ext.Component this 
		*/
		setSize?(): Ext.IComponent;
		/** [Method] Sets the width of the component  
		* @returns Ext.Component this 
		*/
		setWidth?(): Ext.IComponent;
	}
}
declare module Ext.form {
	export interface IHidden extends Ext.form.field.IBase {
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (Boolean) */
		hideLabel?: boolean;
		/** [Config Option] (String) */
		inputType?: string;
		/** [Method] Clear any invalid styles messages for this field  */
		clearInvalid?(): void;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] These are all private overrides */
		initEvents?(): void;
		/** [Method] Display one or more error messages associated with this field using msgTarget to determine how to display the messag  */
		markInvalid?(): void;
		/** [Method] Sets the height of the component  
		* @returns Ext.Component this 
		*/
		setHeight?(): Ext.IComponent;
		/** [Method] Sets the page XY position of the component  
		* @returns Ext.Component this 
		*/
		setPagePosition?(): Ext.IComponent;
		/** [Method] Sets the left and top of the component  
		* @returns Ext.Component this 
		*/
		setPosition?(): Ext.IComponent;
		/** [Method] Sets the width and height of this Component  
		* @returns Ext.Component this 
		*/
		setSize?(): Ext.IComponent;
		/** [Method] Sets the width of the component  
		* @returns Ext.Component this 
		*/
		setWidth?(): Ext.IComponent;
	}
}
declare module Ext.form.field {
	export interface IHtmlEditor extends Ext.form.IFieldContainer,Ext.form.field.IField {
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterIFrameTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterTextAreaTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeIFrameTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeTextAreaTpl?: any;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		createLinkText?: string;
		/** [Config Option] (String) */
		defaultButtonUI?: string;
		/** [Config Option] (String) */
		defaultLinkValue?: string;
		/** [Config Option] (String) */
		defaultValue?: string;
		/** [Config Option] (Boolean) */
		enableAlignments?: boolean;
		/** [Config Option] (Boolean) */
		enableColors?: boolean;
		/** [Config Option] (Boolean) */
		enableFont?: boolean;
		/** [Config Option] (Boolean) */
		enableFontSize?: boolean;
		/** [Config Option] (Boolean) */
		enableFormat?: boolean;
		/** [Config Option] (Boolean) */
		enableLinks?: boolean;
		/** [Config Option] (Boolean) */
		enableLists?: boolean;
		/** [Config Option] (Boolean) */
		enableSourceEdit?: boolean;
		/** [Config Option] (String[]) */
		fontFamilies?: string[];
		/** [Config Option] (String/Array/Ext.XTemplate) */
		iframeAttrTpl?: any;
		/** [Property] (Object) */
		buttonTips?: any;
		/** [Property] (Boolean) */
		maskOnDisable?: boolean;
		/** [Method] A utility for grouping a set of modifications which may trigger value changes into a single transaction to prevent e  
		* @param fn Object A function containing the transaction code 
		*/
		batchChanges?( fn?:any ): void;
		/** [Method] Template method before a field is reset  */
		beforeReset?(): void;
		/** [Method] Checks whether the value of the field has changed since the last time it was checked  */
		checkChange?(): void;
		/** [Method] Checks the isDirty state of the field and if it has changed since the last time it was checked fires the dirtychange  */
		checkDirty?(): void;
		/** [Method] If you need want custom HTML cleanup this is the method you should override  
		* @param html String The HTML to be cleaned 
		* @returns String The cleaned HTML 
		*/
		cleanHtml?( html?:string ): string;
		/** [Method] Clear any invalid styles messages for this field  */
		clearInvalid?(): void;
		/** [Method] Executes a Midas editor command directly on the editor document  
		* @param cmd String The Midas command 
		* @param value String/Boolean The value to pass to the command 
		*/
		execCmd?( cmd?:string, value?:any ): void;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns HTMLElement 
		*/
		extractFileInput?(): HTMLElement;
		/** [Method] Try to focus this component  
		* @param selectText Object 
		* @param delay Object 
		* @returns Ext.Component The focused Component. Usually this Component. Some Containers may delegate focus to a descendant Component (Windows can do this through their defaultFocus config option. 
		*/
		focus?( selectText?:any, delay?:any ): Ext.IComponent;
		/** [Method] Called when the editor initializes the iframe with HTML contents  */
		getDocMarkup?(): void;
		/** [Method] Runs this field s validators and returns an array of error messages for any validation failures  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All error messages for this field; an empty Array if none. 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the value s that should be saved to the Ext data Model instance for this field when Ext form Basic updateRe  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getModelData?(): any;
		/** [Method] Returns the name attribute of the field  
		* @returns String name The field name 
		*/
		getName?(): string;
		/** [Method] Returns the parameter s that would be included in a standard form submit for this field  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getSubmitData?(): any;
		/** [Method] Returns the editor s toolbar  
		* @returns Ext.toolbar.Toolbar 
		*/
		getToolbar?(): Ext.toolbar.IToolbar;
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] Initializes this Field mixin on the current instance  */
		initField?(): void;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] Inserts the passed text at the current cursor position  
		* @param text String 
		*/
		insertAtCursor?( text?:string ): void;
		/** [Method] Returns true if the value of this Field has been changed from its originalValue  
		* @returns Boolean True if this field has been changed from its original value (and is not disabled), false otherwise. 
		*/
		isDirty?(): boolean;
		/** [Method] Returns whether two field values are logically equal  
		* @param value1 Object 
		* @param value2 Object 
		* @returns Boolean True if the values are equal, false if inequal. 
		*/
		isEqual?( value1?:any, value2?:any ): boolean;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns Boolean 
		*/
		isFileUpload?(): boolean;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value  
		* @returns Boolean True if the value is valid, else false 
		*/
		isValid?(): boolean;
		/** [Method] Associate one or more error messages with this field  
		* @param errors String/String[] The error message(s) for the field. 
		*/
		markInvalid?( errors?:any ): void;
		/** [Method] Pushes the value of the textarea into the iframe editor  */
		pushValue?(): void;
		/** [Method] Executes a Midas editor command on the editor document and performs necessary focus and toolbar updates  
		* @param cmd String The Midas command 
		* @param value String/Boolean The value to pass to the command 
		*/
		relayCmd?( cmd?:string, value?:any ): void;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Resets the field s originalValue property so it matches the current value  */
		resetOriginalValue?(): void;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Boolean Whether the field should be read only. 
		*/
		setReadOnly?( readOnly?:boolean ): void;
		/** [Method] Sets a data value into the field and runs the change detection and validation  
		* @param value Object 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
		/** [Method] Syncs the contents of the editor iframe with the textarea  */
		syncValue?(): void;
		/** [Method] Toggles the editor between standard and source edit mode  
		* @param sourceEditMode Boolean True for source edit, false for standard 
		*/
		toggleSourceEdit?( sourceEditMode?:boolean ): void;
		/** [Method] Allows for any necessary modifications before the original value is set 
		* @param value Object The initial value 
		* @returns Object The modified initial value 
		*/
		transformOriginalValue?( value?:any ): any;
		/** [Method] Triggers a toolbar update by reading the markup state of the current selection in the editor  */
		updateToolbar?(): void;
	}
}
declare module Ext.form {
	export interface IHtmlEditor extends Ext.form.IFieldContainer,Ext.form.field.IField {
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterIFrameTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterTextAreaTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeIFrameTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeTextAreaTpl?: any;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		createLinkText?: string;
		/** [Config Option] (String) */
		defaultButtonUI?: string;
		/** [Config Option] (String) */
		defaultLinkValue?: string;
		/** [Config Option] (String) */
		defaultValue?: string;
		/** [Config Option] (Boolean) */
		enableAlignments?: boolean;
		/** [Config Option] (Boolean) */
		enableColors?: boolean;
		/** [Config Option] (Boolean) */
		enableFont?: boolean;
		/** [Config Option] (Boolean) */
		enableFontSize?: boolean;
		/** [Config Option] (Boolean) */
		enableFormat?: boolean;
		/** [Config Option] (Boolean) */
		enableLinks?: boolean;
		/** [Config Option] (Boolean) */
		enableLists?: boolean;
		/** [Config Option] (Boolean) */
		enableSourceEdit?: boolean;
		/** [Config Option] (String[]) */
		fontFamilies?: string[];
		/** [Config Option] (String/Array/Ext.XTemplate) */
		iframeAttrTpl?: any;
		/** [Property] (Object) */
		buttonTips?: any;
		/** [Property] (Boolean) */
		maskOnDisable?: boolean;
		/** [Method] A utility for grouping a set of modifications which may trigger value changes into a single transaction to prevent e  
		* @param fn Object A function containing the transaction code 
		*/
		batchChanges?( fn?:any ): void;
		/** [Method] Template method before a field is reset  */
		beforeReset?(): void;
		/** [Method] Checks whether the value of the field has changed since the last time it was checked  */
		checkChange?(): void;
		/** [Method] Checks the isDirty state of the field and if it has changed since the last time it was checked fires the dirtychange  */
		checkDirty?(): void;
		/** [Method] If you need want custom HTML cleanup this is the method you should override  
		* @param html String The HTML to be cleaned 
		* @returns String The cleaned HTML 
		*/
		cleanHtml?( html?:string ): string;
		/** [Method] Clear any invalid styles messages for this field  */
		clearInvalid?(): void;
		/** [Method] Executes a Midas editor command directly on the editor document  
		* @param cmd String The Midas command 
		* @param value String/Boolean The value to pass to the command 
		*/
		execCmd?( cmd?:string, value?:any ): void;
		/** [Method] Only relevant if the instance s isFileUpload method returns true  
		* @returns HTMLElement 
		*/
		extractFileInput?(): HTMLElement;
		/** [Method] Try to focus this component  
		* @param selectText Object 
		* @param delay Object 
		* @returns Ext.Component The focused Component. Usually this Component. Some Containers may delegate focus to a descendant Component (Windows can do this through their defaultFocus config option. 
		*/
		focus?( selectText?:any, delay?:any ): Ext.IComponent;
		/** [Method] Called when the editor initializes the iframe with HTML contents  */
		getDocMarkup?(): void;
		/** [Method] Runs this field s validators and returns an array of error messages for any validation failures  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All error messages for this field; an empty Array if none. 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the value s that should be saved to the Ext data Model instance for this field when Ext form Basic updateRe  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getModelData?(): any;
		/** [Method] Returns the name attribute of the field  
		* @returns String name The field name 
		*/
		getName?(): string;
		/** [Method] Returns the parameter s that would be included in a standard form submit for this field  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getSubmitData?(): any;
		/** [Method] Returns the editor s toolbar  
		* @returns Ext.toolbar.Toolbar 
		*/
		getToolbar?(): Ext.toolbar.IToolbar;
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] Initializes this Field mixin on the current instance  */
		initField?(): void;
		/** [Method] Initializes the field s value based on the initial config  */
		initValue?(): void;
		/** [Method] Inserts the passed text at the current cursor position  
		* @param text String 
		*/
		insertAtCursor?( text?:string ): void;
		/** [Method] Returns true if the value of this Field has been changed from its originalValue  
		* @returns Boolean True if this field has been changed from its original value (and is not disabled), false otherwise. 
		*/
		isDirty?(): boolean;
		/** [Method] Returns whether two field values are logically equal  
		* @param value1 Object 
		* @param value2 Object 
		* @returns Boolean True if the values are equal, false if inequal. 
		*/
		isEqual?( value1?:any, value2?:any ): boolean;
		/** [Method] Returns whether this Field is a file upload field if it returns true forms will use special techniques for submitti  
		* @returns Boolean 
		*/
		isFileUpload?(): boolean;
		/** [Method] Returns whether or not the field value is currently valid by validating the field s current value  
		* @returns Boolean True if the value is valid, else false 
		*/
		isValid?(): boolean;
		/** [Method] Associate one or more error messages with this field  
		* @param errors String/String[] The error message(s) for the field. 
		*/
		markInvalid?( errors?:any ): void;
		/** [Method] Pushes the value of the textarea into the iframe editor  */
		pushValue?(): void;
		/** [Method] Executes a Midas editor command on the editor document and performs necessary focus and toolbar updates  
		* @param cmd String The Midas command 
		* @param value String/Boolean The value to pass to the command 
		*/
		relayCmd?( cmd?:string, value?:any ): void;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Resets the field s originalValue property so it matches the current value  */
		resetOriginalValue?(): void;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Boolean Whether the field should be read only. 
		*/
		setReadOnly?( readOnly?:boolean ): void;
		/** [Method] Sets a data value into the field and runs the change detection and validation  
		* @param value Object 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
		/** [Method] Syncs the contents of the editor iframe with the textarea  */
		syncValue?(): void;
		/** [Method] Toggles the editor between standard and source edit mode  
		* @param sourceEditMode Boolean True for source edit, false for standard 
		*/
		toggleSourceEdit?( sourceEditMode?:boolean ): void;
		/** [Method] Allows for any necessary modifications before the original value is set 
		* @param value Object The initial value 
		* @returns Object The modified initial value 
		*/
		transformOriginalValue?( value?:any ): any;
		/** [Method] Triggers a toolbar update by reading the markup state of the current selection in the editor  */
		updateToolbar?(): void;
	}
}
declare module Ext.form.field {
	export interface INumber extends Ext.form.field.ISpinner {
		/** [Config Option] (Boolean) */
		allowDecimals?: boolean;
		/** [Config Option] (Boolean) */
		allowExponential?: boolean;
		/** [Config Option] (Boolean) */
		autoStripChars?: boolean;
		/** [Config Option] (String) */
		baseChars?: string;
		/** [Config Option] (Number) */
		decimalPrecision?: number;
		/** [Config Option] (String) */
		decimalSeparator?: string;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Number) */
		maxValue?: number;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (Number) */
		minValue?: number;
		/** [Config Option] (String) */
		nanText?: string;
		/** [Config Option] (String) */
		negativeText?: string;
		/** [Config Option] (Number) */
		step?: number;
		/** [Config Option] (Boolean) */
		submitLocaleSeparator?: boolean;
		/** [Method] Template method to do any pre blur processing  */
		beforeBlur?(): void;
		/** [Method] Runs all of Number s validations and returns an array of any errors  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All validation errors for this field 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the value that would be included in a standard form submit for this field  
		* @returns String The value to be submitted, or null. 
		*/
		getSubmitValue?(): string;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] This method is called when the spinner down button is clicked or when the down arrow key is pressed if keyNavEnabled  */
		onSpinDown?(): void;
		/** [Method] This method is called when the spinner up button is clicked or when the up arrow key is pressed if keyNavEnabled is */
		onSpinUp?(): void;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Replaces any existing maxValue with the new value  
		* @param value Number The maximum value 
		*/
		setMaxValue?( value?:number ): void;
		/** [Method] Replaces any existing minValue with the new value  
		* @param value Number The minimum value 
		*/
		setMinValue?( value?:number ): void;
		/** [Method] Sets whether the spinner down button is enabled  
		* @param enabled Object 
		* @param internal Object 
		*/
		setSpinDownEnabled?( enabled?:any, internal?:any ): void;
		/** [Method] Sets whether the spinner up button is enabled  
		* @param enabled Object 
		* @param internal Object 
		*/
		setSpinUpEnabled?( enabled?:any, internal?:any ): void;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface INumberField extends Ext.form.field.ISpinner {
		/** [Config Option] (Boolean) */
		allowDecimals?: boolean;
		/** [Config Option] (Boolean) */
		allowExponential?: boolean;
		/** [Config Option] (Boolean) */
		autoStripChars?: boolean;
		/** [Config Option] (String) */
		baseChars?: string;
		/** [Config Option] (Number) */
		decimalPrecision?: number;
		/** [Config Option] (String) */
		decimalSeparator?: string;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Number) */
		maxValue?: number;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (Number) */
		minValue?: number;
		/** [Config Option] (String) */
		nanText?: string;
		/** [Config Option] (String) */
		negativeText?: string;
		/** [Config Option] (Number) */
		step?: number;
		/** [Config Option] (Boolean) */
		submitLocaleSeparator?: boolean;
		/** [Method] Template method to do any pre blur processing  */
		beforeBlur?(): void;
		/** [Method] Runs all of Number s validations and returns an array of any errors  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All validation errors for this field 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the value that would be included in a standard form submit for this field  
		* @returns String The value to be submitted, or null. 
		*/
		getSubmitValue?(): string;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] This method is called when the spinner down button is clicked or when the down arrow key is pressed if keyNavEnabled  */
		onSpinDown?(): void;
		/** [Method] This method is called when the spinner up button is clicked or when the up arrow key is pressed if keyNavEnabled is */
		onSpinUp?(): void;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Replaces any existing maxValue with the new value  
		* @param value Number The maximum value 
		*/
		setMaxValue?( value?:number ): void;
		/** [Method] Replaces any existing minValue with the new value  
		* @param value Number The minimum value 
		*/
		setMinValue?( value?:number ): void;
		/** [Method] Sets whether the spinner down button is enabled  
		* @param enabled Object 
		* @param internal Object 
		*/
		setSpinDownEnabled?( enabled?:any, internal?:any ): void;
		/** [Method] Sets whether the spinner up button is enabled  
		* @param enabled Object 
		* @param internal Object 
		*/
		setSpinUpEnabled?( enabled?:any, internal?:any ): void;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface INumber extends Ext.form.field.ISpinner {
		/** [Config Option] (Boolean) */
		allowDecimals?: boolean;
		/** [Config Option] (Boolean) */
		allowExponential?: boolean;
		/** [Config Option] (Boolean) */
		autoStripChars?: boolean;
		/** [Config Option] (String) */
		baseChars?: string;
		/** [Config Option] (Number) */
		decimalPrecision?: number;
		/** [Config Option] (String) */
		decimalSeparator?: string;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Number) */
		maxValue?: number;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (Number) */
		minValue?: number;
		/** [Config Option] (String) */
		nanText?: string;
		/** [Config Option] (String) */
		negativeText?: string;
		/** [Config Option] (Number) */
		step?: number;
		/** [Config Option] (Boolean) */
		submitLocaleSeparator?: boolean;
		/** [Method] Template method to do any pre blur processing  */
		beforeBlur?(): void;
		/** [Method] Runs all of Number s validations and returns an array of any errors  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All validation errors for this field 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the value that would be included in a standard form submit for this field  
		* @returns String The value to be submitted, or null. 
		*/
		getSubmitValue?(): string;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] This method is called when the spinner down button is clicked or when the down arrow key is pressed if keyNavEnabled  */
		onSpinDown?(): void;
		/** [Method] This method is called when the spinner up button is clicked or when the up arrow key is pressed if keyNavEnabled is */
		onSpinUp?(): void;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Replaces any existing maxValue with the new value  
		* @param value Number The maximum value 
		*/
		setMaxValue?( value?:number ): void;
		/** [Method] Replaces any existing minValue with the new value  
		* @param value Number The minimum value 
		*/
		setMinValue?( value?:number ): void;
		/** [Method] Sets whether the spinner down button is enabled  
		* @param enabled Object 
		* @param internal Object 
		*/
		setSpinDownEnabled?( enabled?:any, internal?:any ): void;
		/** [Method] Sets whether the spinner up button is enabled  
		* @param enabled Object 
		* @param internal Object 
		*/
		setSpinUpEnabled?( enabled?:any, internal?:any ): void;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form.field {
	export interface IPicker extends Ext.form.field.ITrigger {
		/** [Config Option] (Boolean) */
		editable?: boolean;
		/** [Config Option] (Boolean) */
		matchFieldWidth?: boolean;
		/** [Config Option] (String) */
		openCls?: string;
		/** [Config Option] (String) */
		pickerAlign?: string;
		/** [Config Option] (Number[]) */
		pickerOffset?: number[];
		/** [Property] (Boolean) */
		isExpanded?: boolean;
		/** [Method] Aligns the picker to the input element */
		alignPicker?(): void;
		/** [Method] Collapses this field s picker dropdown  */
		collapse?(): void;
		/** [Method] Creates and returns the component to be used as this field s picker  */
		createPicker?(): void;
		/** [Method] Expands this field s picker dropdown  */
		expand?(): void;
		/** [Method] Returns a reference to the picker component for this field creating it if necessary by calling createPicker  
		* @returns Ext.Component The picker component 
		*/
		getPicker?(): Ext.IComponent;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Handles the trigger click by default toggles between expanding and collapsing the picker component  */
		onTriggerClick?(): void;
	}
}
declare module Ext.form {
	export interface IPicker extends Ext.form.field.ITrigger {
		/** [Config Option] (Boolean) */
		editable?: boolean;
		/** [Config Option] (Boolean) */
		matchFieldWidth?: boolean;
		/** [Config Option] (String) */
		openCls?: string;
		/** [Config Option] (String) */
		pickerAlign?: string;
		/** [Config Option] (Number[]) */
		pickerOffset?: number[];
		/** [Property] (Boolean) */
		isExpanded?: boolean;
		/** [Method] Aligns the picker to the input element */
		alignPicker?(): void;
		/** [Method] Collapses this field s picker dropdown  */
		collapse?(): void;
		/** [Method] Creates and returns the component to be used as this field s picker  */
		createPicker?(): void;
		/** [Method] Expands this field s picker dropdown  */
		expand?(): void;
		/** [Method] Returns a reference to the picker component for this field creating it if necessary by calling createPicker  
		* @returns Ext.Component The picker component 
		*/
		getPicker?(): Ext.IComponent;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Handles the trigger click by default toggles between expanding and collapsing the picker component  */
		onTriggerClick?(): void;
	}
}
declare module Ext.form.field {
	export interface IRadio extends Ext.form.field.ICheckbox {
		/** [Config Option] (String) */
		focusCls?: string;
		/** [Config Option] (String) */
		inputType?: string;
		/** [Property] (Boolean) */
		isRadio?: boolean;
		/** [Method] If this radio is part of a group it will return the selected value 
		* @returns String 
		*/
		getGroupValue?(): string;
		/** [Method] Returns the value s that should be saved to the Ext data Model instance for this field when Ext form Basic updateRe  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getModelData?(): any;
		/** [Method] Returns the submit value for the checkbox which can be used when submitting forms  
		* @returns Boolean/Object True if checked, null if not. 
		*/
		getSubmitValue?(): any;
		/** [Method] Method to manage awareness of when components are removed from their respective Container firing a removed event  */
		onRemoved?(): void;
		/** [Method] Sets either the checked unchecked status of this Radio or if a string value is passed checks a sibling Radio of th  
		* @param value String/Boolean Checked value, or the value of the sibling radio button to check. 
		* @returns Ext.form.field.Radio this 
		*/
		setValue?( value?:any ): Ext.form.field.IRadio;
	}
}
declare module Ext.form {
	export interface IRadio extends Ext.form.field.ICheckbox {
		/** [Config Option] (String) */
		focusCls?: string;
		/** [Config Option] (String) */
		inputType?: string;
		/** [Property] (Boolean) */
		isRadio?: boolean;
		/** [Method] If this radio is part of a group it will return the selected value 
		* @returns String 
		*/
		getGroupValue?(): string;
		/** [Method] Returns the value s that should be saved to the Ext data Model instance for this field when Ext form Basic updateRe  
		* @returns Object A mapping of submit parameter names to values; each value should be a string, or an array of strings if that particular name has multiple values. It can also return null if there are no parameters to be submitted. 
		*/
		getModelData?(): any;
		/** [Method] Returns the submit value for the checkbox which can be used when submitting forms  
		* @returns Boolean/Object True if checked, null if not. 
		*/
		getSubmitValue?(): any;
		/** [Method] Method to manage awareness of when components are removed from their respective Container firing a removed event  */
		onRemoved?(): void;
		/** [Method] Sets either the checked unchecked status of this Radio or if a string value is passed checks a sibling Radio of th  
		* @param value String/Boolean Checked value, or the value of the sibling radio button to check. 
		* @returns Ext.form.field.Radio this 
		*/
		setValue?( value?:any ): Ext.form.field.IRadio;
	}
}
declare module Ext.form.field {
	export interface ISpinner extends Ext.form.field.ITrigger {
		/** [Config Option] (Boolean) */
		keyNavEnabled?: boolean;
		/** [Config Option] (Boolean) */
		mouseWheelEnabled?: boolean;
		/** [Config Option] (Boolean) */
		repeatTriggerClick?: boolean;
		/** [Config Option] (Boolean) */
		spinDownEnabled?: boolean;
		/** [Config Option] (Boolean) */
		spinUpEnabled?: boolean;
		/** [Property] (Ext.Element) */
		spinDownEl?: Ext.IElement;
		/** [Property] (Ext.Element) */
		spinUpEl?: Ext.IElement;
		/** [Method] Get the total width of the spinner button area  
		* @returns Number The total spinner button width 
		*/
		getTriggerWidth?(): number;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] This method is called when the spinner down button is clicked or when the down arrow key is pressed if keyNavEnabled  */
		onSpinDown?(): void;
		/** [Method] This method is called when the spinner up button is clicked or when the up arrow key is pressed if keyNavEnabled is */
		onSpinUp?(): void;
		/** [Method] Sets whether the spinner down button is enabled  
		* @param enabled Boolean true to enable the button, false to disable it. 
		*/
		setSpinDownEnabled?( enabled?:boolean ): void;
		/** [Method] Sets whether the spinner up button is enabled  
		* @param enabled Boolean true to enable the button, false to disable it. 
		*/
		setSpinUpEnabled?( enabled?:boolean ): void;
		/** [Method] Triggers the spinner to step down fires the spin and spindown events and calls the onSpinDown method  */
		spinDown?(): void;
		/** [Method] Triggers the spinner to step up fires the spin and spinup events and calls the onSpinUp method  */
		spinUp?(): void;
	}
}
declare module Ext.form {
	export interface ISpinner extends Ext.form.field.ITrigger {
		/** [Config Option] (Boolean) */
		keyNavEnabled?: boolean;
		/** [Config Option] (Boolean) */
		mouseWheelEnabled?: boolean;
		/** [Config Option] (Boolean) */
		repeatTriggerClick?: boolean;
		/** [Config Option] (Boolean) */
		spinDownEnabled?: boolean;
		/** [Config Option] (Boolean) */
		spinUpEnabled?: boolean;
		/** [Property] (Ext.Element) */
		spinDownEl?: Ext.IElement;
		/** [Property] (Ext.Element) */
		spinUpEl?: Ext.IElement;
		/** [Method] Get the total width of the spinner button area  
		* @returns Number The total spinner button width 
		*/
		getTriggerWidth?(): number;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] This method is called when the spinner down button is clicked or when the down arrow key is pressed if keyNavEnabled  */
		onSpinDown?(): void;
		/** [Method] This method is called when the spinner up button is clicked or when the up arrow key is pressed if keyNavEnabled is */
		onSpinUp?(): void;
		/** [Method] Sets whether the spinner down button is enabled  
		* @param enabled Boolean true to enable the button, false to disable it. 
		*/
		setSpinDownEnabled?( enabled?:boolean ): void;
		/** [Method] Sets whether the spinner up button is enabled  
		* @param enabled Boolean true to enable the button, false to disable it. 
		*/
		setSpinUpEnabled?( enabled?:boolean ): void;
		/** [Method] Triggers the spinner to step down fires the spin and spindown events and calls the onSpinDown method  */
		spinDown?(): void;
		/** [Method] Triggers the spinner to step up fires the spin and spinup events and calls the onSpinUp method  */
		spinUp?(): void;
	}
}
declare module Ext.form.field {
	export interface IText extends Ext.form.field.IBase {
		/** [Config Option] (Boolean) */
		allowBlank?: boolean;
		/** [Config Option] (Boolean) */
		allowOnlyWhitespace?: boolean;
		/** [Config Option] (String) */
		blankText?: string;
		/** [Config Option] (Boolean) */
		disableKeyFilter?: boolean;
		/** [Config Option] (String) */
		emptyCls?: string;
		/** [Config Option] (String) */
		emptyText?: string;
		/** [Config Option] (Boolean) */
		enableKeyEvents?: boolean;
		/** [Config Option] (Boolean) */
		enforceMaxLength?: boolean;
		/** [Config Option] (Boolean) */
		grow?: boolean;
		/** [Config Option] (String) */
		growAppend?: string;
		/** [Config Option] (Number) */
		growMax?: number;
		/** [Config Option] (Number) */
		growMin?: number;
		/** [Config Option] (RegExp) */
		maskRe?: RegExp;
		/** [Config Option] (Number) */
		maxLength?: number;
		/** [Config Option] (String) */
		maxLengthText?: string;
		/** [Config Option] (Number) */
		minLength?: number;
		/** [Config Option] (String) */
		minLengthText?: string;
		/** [Config Option] (RegExp) */
		regex?: RegExp;
		/** [Config Option] (String) */
		regexText?: string;
		/** [Config Option] (String) */
		requiredCls?: string;
		/** [Config Option] (Boolean) */
		selectOnFocus?: boolean;
		/** [Config Option] (Number) */
		size?: number;
		/** [Config Option] (RegExp) */
		stripCharsRe?: RegExp;
		/** [Config Option] (Boolean) */
		validateBlank?: boolean;
		/** [Config Option] (Function) */
		validator?: any;
		/** [Config Option] (String) */
		vtype?: string;
		/** [Config Option] (String) */
		vtypeText?: string;
		/** [Method] Called by the layout system after the Component has been laid out  */
		afterComponentLayout?(): void;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Applies the state to the object  
		* @param state Object 
		*/
		applyState?( state?:any ): void;
		/** [Method] Automatically grows the field to accomodate the width of the text up to the maximum field width allowed  */
		autoSize?(): void;
		/** [Method] private */
		beforeFocus?(): void;
		/** [Method] Validates a value according to the field s validation rules and returns an array of errors for any failing validations  
		* @param value Object The value to validate. The processed raw value will be used if nothing is passed. 
		* @returns String[] Array of any validation errors 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the raw String value of the field without performing any normalization conversion or validation  
		* @returns String The raw String value of the field 
		*/
		getRawValue?(): string;
		/** [Method] The supplied default state gathering method for the AbstractComponent class  
		* @returns Object 
		*/
		getState?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		postBlur?(): void;
		/** [Method] Performs any necessary manipulation of a raw String value to prepare it for conversion and or validation  
		* @param value String The unprocessed string value 
		* @returns String The processed string value 
		*/
		processRawValue?( value?:string ): string;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Selects text in this field 
		* @param start Number The index where the selection should start 
		* @param end Number The index where the selection should end (defaults to the text length) 
		*/
		selectText?( start?:number, end?:number ): void;
		/** [Method] Sets a data value into the field and runs the change detection and validation  
		* @param value Object The value to set 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface ITextField extends Ext.form.field.IBase {
		/** [Config Option] (Boolean) */
		allowBlank?: boolean;
		/** [Config Option] (Boolean) */
		allowOnlyWhitespace?: boolean;
		/** [Config Option] (String) */
		blankText?: string;
		/** [Config Option] (Boolean) */
		disableKeyFilter?: boolean;
		/** [Config Option] (String) */
		emptyCls?: string;
		/** [Config Option] (String) */
		emptyText?: string;
		/** [Config Option] (Boolean) */
		enableKeyEvents?: boolean;
		/** [Config Option] (Boolean) */
		enforceMaxLength?: boolean;
		/** [Config Option] (Boolean) */
		grow?: boolean;
		/** [Config Option] (String) */
		growAppend?: string;
		/** [Config Option] (Number) */
		growMax?: number;
		/** [Config Option] (Number) */
		growMin?: number;
		/** [Config Option] (RegExp) */
		maskRe?: RegExp;
		/** [Config Option] (Number) */
		maxLength?: number;
		/** [Config Option] (String) */
		maxLengthText?: string;
		/** [Config Option] (Number) */
		minLength?: number;
		/** [Config Option] (String) */
		minLengthText?: string;
		/** [Config Option] (RegExp) */
		regex?: RegExp;
		/** [Config Option] (String) */
		regexText?: string;
		/** [Config Option] (String) */
		requiredCls?: string;
		/** [Config Option] (Boolean) */
		selectOnFocus?: boolean;
		/** [Config Option] (Number) */
		size?: number;
		/** [Config Option] (RegExp) */
		stripCharsRe?: RegExp;
		/** [Config Option] (Boolean) */
		validateBlank?: boolean;
		/** [Config Option] (Function) */
		validator?: any;
		/** [Config Option] (String) */
		vtype?: string;
		/** [Config Option] (String) */
		vtypeText?: string;
		/** [Method] Called by the layout system after the Component has been laid out  */
		afterComponentLayout?(): void;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Applies the state to the object  
		* @param state Object 
		*/
		applyState?( state?:any ): void;
		/** [Method] Automatically grows the field to accomodate the width of the text up to the maximum field width allowed  */
		autoSize?(): void;
		/** [Method] private */
		beforeFocus?(): void;
		/** [Method] Validates a value according to the field s validation rules and returns an array of errors for any failing validations  
		* @param value Object The value to validate. The processed raw value will be used if nothing is passed. 
		* @returns String[] Array of any validation errors 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the raw String value of the field without performing any normalization conversion or validation  
		* @returns String The raw String value of the field 
		*/
		getRawValue?(): string;
		/** [Method] The supplied default state gathering method for the AbstractComponent class  
		* @returns Object 
		*/
		getState?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		postBlur?(): void;
		/** [Method] Performs any necessary manipulation of a raw String value to prepare it for conversion and or validation  
		* @param value String The unprocessed string value 
		* @returns String The processed string value 
		*/
		processRawValue?( value?:string ): string;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Selects text in this field 
		* @param start Number The index where the selection should start 
		* @param end Number The index where the selection should end (defaults to the text length) 
		*/
		selectText?( start?:number, end?:number ): void;
		/** [Method] Sets a data value into the field and runs the change detection and validation  
		* @param value Object The value to set 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface IText extends Ext.form.field.IBase {
		/** [Config Option] (Boolean) */
		allowBlank?: boolean;
		/** [Config Option] (Boolean) */
		allowOnlyWhitespace?: boolean;
		/** [Config Option] (String) */
		blankText?: string;
		/** [Config Option] (Boolean) */
		disableKeyFilter?: boolean;
		/** [Config Option] (String) */
		emptyCls?: string;
		/** [Config Option] (String) */
		emptyText?: string;
		/** [Config Option] (Boolean) */
		enableKeyEvents?: boolean;
		/** [Config Option] (Boolean) */
		enforceMaxLength?: boolean;
		/** [Config Option] (Boolean) */
		grow?: boolean;
		/** [Config Option] (String) */
		growAppend?: string;
		/** [Config Option] (Number) */
		growMax?: number;
		/** [Config Option] (Number) */
		growMin?: number;
		/** [Config Option] (RegExp) */
		maskRe?: RegExp;
		/** [Config Option] (Number) */
		maxLength?: number;
		/** [Config Option] (String) */
		maxLengthText?: string;
		/** [Config Option] (Number) */
		minLength?: number;
		/** [Config Option] (String) */
		minLengthText?: string;
		/** [Config Option] (RegExp) */
		regex?: RegExp;
		/** [Config Option] (String) */
		regexText?: string;
		/** [Config Option] (String) */
		requiredCls?: string;
		/** [Config Option] (Boolean) */
		selectOnFocus?: boolean;
		/** [Config Option] (Number) */
		size?: number;
		/** [Config Option] (RegExp) */
		stripCharsRe?: RegExp;
		/** [Config Option] (Boolean) */
		validateBlank?: boolean;
		/** [Config Option] (Function) */
		validator?: any;
		/** [Config Option] (String) */
		vtype?: string;
		/** [Config Option] (String) */
		vtypeText?: string;
		/** [Method] Called by the layout system after the Component has been laid out  */
		afterComponentLayout?(): void;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Applies the state to the object  
		* @param state Object 
		*/
		applyState?( state?:any ): void;
		/** [Method] Automatically grows the field to accomodate the width of the text up to the maximum field width allowed  */
		autoSize?(): void;
		/** [Method] private */
		beforeFocus?(): void;
		/** [Method] Validates a value according to the field s validation rules and returns an array of errors for any failing validations  
		* @param value Object The value to validate. The processed raw value will be used if nothing is passed. 
		* @returns String[] Array of any validation errors 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the raw String value of the field without performing any normalization conversion or validation  
		* @returns String The raw String value of the field 
		*/
		getRawValue?(): string;
		/** [Method] The supplied default state gathering method for the AbstractComponent class  
		* @returns Object 
		*/
		getState?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		initEvents?(): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		postBlur?(): void;
		/** [Method] Performs any necessary manipulation of a raw String value to prepare it for conversion and or validation  
		* @param value String The unprocessed string value 
		* @returns String The processed string value 
		*/
		processRawValue?( value?:string ): string;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Selects text in this field 
		* @param start Number The index where the selection should start 
		* @param end Number The index where the selection should end (defaults to the text length) 
		*/
		selectText?( start?:number, end?:number ): void;
		/** [Method] Sets a data value into the field and runs the change detection and validation  
		* @param value Object The value to set 
		* @returns any this 
		*/
		setValue?( value?:any ): any;
	}
}
declare module Ext.form.field {
	export interface ITextArea extends Ext.form.field.IText {
		/** [Config Option] (Number) */
		cols?: number;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		enterIsSpecial?: boolean;
		/** [Config Option] (String) */
		growAppend?: string;
		/** [Config Option] (Number) */
		growMax?: number;
		/** [Config Option] (Number) */
		growMin?: number;
		/** [Config Option] (Boolean) */
		preventScrollbars?: boolean;
		/** [Config Option] (Number) */
		rows?: number;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Automatically grows the field to accomodate the height of the text up to the maximum field height allowed  */
		autoSize?(): void;
		/** [Method] Invoked before the Component is destroyed  */
		beforeDestroy?(): void;
		/** [Method] private 
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] Allows for any necessary modifications before the original value is set 
		* @param value Object 
		* @returns Object The modified initial value 
		*/
		transformOriginalValue?( value?:any ): any;
		/** [Method] The following overrides deal with an issue whereby some browsers will strip carriage returns from the textarea input 
		* @param value Object 
		* @returns Object The value to set 
		*/
		transformRawValue?( value?:any ): any;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface ITextArea extends Ext.form.field.IText {
		/** [Config Option] (Number) */
		cols?: number;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		enterIsSpecial?: boolean;
		/** [Config Option] (String) */
		growAppend?: string;
		/** [Config Option] (Number) */
		growMax?: number;
		/** [Config Option] (Number) */
		growMin?: number;
		/** [Config Option] (Boolean) */
		preventScrollbars?: boolean;
		/** [Config Option] (Number) */
		rows?: number;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Automatically grows the field to accomodate the height of the text up to the maximum field height allowed  */
		autoSize?(): void;
		/** [Method] Invoked before the Component is destroyed  */
		beforeDestroy?(): void;
		/** [Method] private 
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] Allows for any necessary modifications before the original value is set 
		* @param value Object 
		* @returns Object The modified initial value 
		*/
		transformOriginalValue?( value?:any ): any;
		/** [Method] The following overrides deal with an issue whereby some browsers will strip carriage returns from the textarea input 
		* @param value Object 
		* @returns Object The value to set 
		*/
		transformRawValue?( value?:any ): any;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form.field {
	export interface ITime extends Ext.form.field.IComboBox {
		/** [Config Option] (String) */
		altFormats?: string;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (String) */
		format?: string;
		/** [Config Option] (Number) */
		increment?: number;
		/** [Config Option] (String) */
		invalidText?: string;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Date/String) */
		maxValue?: any;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (Date/String) */
		minValue?: any;
		/** [Config Option] (Number) */
		pickerMaxHeight?: number;
		/** [Config Option] (String) */
		queryMode?: string;
		/** [Config Option] (Boolean) */
		selectOnTab?: boolean;
		/** [Config Option] (Boolean) */
		snapToIncrement?: boolean;
		/** [Config Option] (String) */
		submitFormat?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (String) */
		valueField?: string;
		/** [Method] Runs all of Time s validations and returns an array of any errors  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All validation errors for this field 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		postBlur?(): void;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Replaces any existing maxValue with the new time and refreshes the picker s range  
		* @param value Date/String The maximum time that can be selected 
		*/
		setMaxValue?( value?:any ): void;
		/** [Method] Replaces any existing minValue with the new time and refreshes the picker s range  
		* @param value Date/String The minimum time that can be selected 
		*/
		setMinValue?( value?:any ): void;
		/** [Method] Sets the specified value s into the field  
		* @returns any this 
		*/
		setValue?(): any;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface ITimeField extends Ext.form.field.IComboBox {
		/** [Config Option] (String) */
		altFormats?: string;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (String) */
		format?: string;
		/** [Config Option] (Number) */
		increment?: number;
		/** [Config Option] (String) */
		invalidText?: string;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Date/String) */
		maxValue?: any;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (Date/String) */
		minValue?: any;
		/** [Config Option] (Number) */
		pickerMaxHeight?: number;
		/** [Config Option] (String) */
		queryMode?: string;
		/** [Config Option] (Boolean) */
		selectOnTab?: boolean;
		/** [Config Option] (Boolean) */
		snapToIncrement?: boolean;
		/** [Config Option] (String) */
		submitFormat?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (String) */
		valueField?: string;
		/** [Method] Runs all of Time s validations and returns an array of any errors  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All validation errors for this field 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		postBlur?(): void;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Replaces any existing maxValue with the new time and refreshes the picker s range  
		* @param value Date/String The maximum time that can be selected 
		*/
		setMaxValue?( value?:any ): void;
		/** [Method] Replaces any existing minValue with the new time and refreshes the picker s range  
		* @param value Date/String The minimum time that can be selected 
		*/
		setMinValue?( value?:any ): void;
		/** [Method] Sets the specified value s into the field  
		* @returns any this 
		*/
		setValue?(): any;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form {
	export interface ITime extends Ext.form.field.IComboBox {
		/** [Config Option] (String) */
		altFormats?: string;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (String) */
		format?: string;
		/** [Config Option] (Number) */
		increment?: number;
		/** [Config Option] (String) */
		invalidText?: string;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Date/String) */
		maxValue?: any;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (Date/String) */
		minValue?: any;
		/** [Config Option] (Number) */
		pickerMaxHeight?: number;
		/** [Config Option] (String) */
		queryMode?: string;
		/** [Config Option] (Boolean) */
		selectOnTab?: boolean;
		/** [Config Option] (Boolean) */
		snapToIncrement?: boolean;
		/** [Config Option] (String) */
		submitFormat?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (String) */
		valueField?: string;
		/** [Method] Runs all of Time s validations and returns an array of any errors  
		* @param value Object The value to get errors for (defaults to the current field value) 
		* @returns String[] All validation errors for this field 
		*/
		getErrors?( value?:any ): string[];
		/** [Method] Returns the current data value of the field  
		* @returns Object value The field value 
		*/
		getValue?(): any;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		postBlur?(): void;
		/** [Method] Converts a raw input field value into a mixed type value that is suitable for this particular field type  
		* @param rawValue Object 
		* @returns Object The converted value. 
		*/
		rawToValue?( rawValue?:any ): any;
		/** [Method] Replaces any existing maxValue with the new time and refreshes the picker s range  
		* @param value Date/String The maximum time that can be selected 
		*/
		setMaxValue?( value?:any ): void;
		/** [Method] Replaces any existing minValue with the new time and refreshes the picker s range  
		* @param value Date/String The minimum time that can be selected 
		*/
		setMinValue?( value?:any ): void;
		/** [Method] Sets the specified value s into the field  
		* @returns any this 
		*/
		setValue?(): any;
		/** [Method] Converts a mixed type value to a raw representation suitable for displaying in the field  
		* @param value Object 
		* @returns Object The converted raw value. 
		*/
		valueToRaw?( value?:any ): any;
	}
}
declare module Ext.form.field {
	export interface ITrigger extends Ext.form.field.IText {
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		editable?: boolean;
		/** [Config Option] (Boolean) */
		hideTrigger?: boolean;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Config Option] (Boolean) */
		repeatTriggerClick?: boolean;
		/** [Config Option] (Boolean) */
		selectOnFocus?: boolean;
		/** [Config Option] (String) */
		triggerBaseCls?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (String) */
		triggerNoEditCls?: string;
		/** [Config Option] (String) */
		triggerWrapCls?: string;
		/** [Property] (Ext.Element) */
		inputCell?: Ext.IElement;
		/** [Property] (Ext.CompositeElement) */
		triggerEl?: Ext.ICompositeElement;
		/** [Property] (Ext.Element) */
		triggerWrap?: Ext.IElement;
		/** [Method] Generates the arguments for the field decorations rendering template  
		* @returns Object The template arguments 
		*/
		getLabelableRenderData?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Get the total width of the trigger button area  
		* @returns Number The total trigger width 
		*/
		getTriggerWidth?(): number;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] The function that should handle the trigger s click event  
		* @param e Ext.EventObject 
		*/
		onTriggerClick?( e?:Ext.IEventObject ): void;
		/** [Method] Sets the editable state of this field  
		* @param editable Boolean True to allow the user to directly edit the field text. If false is passed, the user will only be able to modify the field using the trigger. Will also add a click event to the text field which will call the trigger. 
		*/
		setEditable?( editable?:boolean ): void;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Boolean True to prevent the user changing the field and explicitly hide the trigger. Setting this to true will supercede settings editable and hideTrigger. Setting this to false will defer back to editable and hideTrigger. 
		*/
		setReadOnly?( readOnly?:boolean ): void;
	}
}
declare module Ext.form {
	export interface ITriggerField extends Ext.form.field.IText {
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		editable?: boolean;
		/** [Config Option] (Boolean) */
		hideTrigger?: boolean;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Config Option] (Boolean) */
		repeatTriggerClick?: boolean;
		/** [Config Option] (Boolean) */
		selectOnFocus?: boolean;
		/** [Config Option] (String) */
		triggerBaseCls?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (String) */
		triggerNoEditCls?: string;
		/** [Config Option] (String) */
		triggerWrapCls?: string;
		/** [Property] (Ext.Element) */
		inputCell?: Ext.IElement;
		/** [Property] (Ext.CompositeElement) */
		triggerEl?: Ext.ICompositeElement;
		/** [Property] (Ext.Element) */
		triggerWrap?: Ext.IElement;
		/** [Method] Generates the arguments for the field decorations rendering template  
		* @returns Object The template arguments 
		*/
		getLabelableRenderData?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Get the total width of the trigger button area  
		* @returns Number The total trigger width 
		*/
		getTriggerWidth?(): number;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] The function that should handle the trigger s click event  
		* @param e Ext.EventObject 
		*/
		onTriggerClick?( e?:Ext.IEventObject ): void;
		/** [Method] Sets the editable state of this field  
		* @param editable Boolean True to allow the user to directly edit the field text. If false is passed, the user will only be able to modify the field using the trigger. Will also add a click event to the text field which will call the trigger. 
		*/
		setEditable?( editable?:boolean ): void;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Boolean True to prevent the user changing the field and explicitly hide the trigger. Setting this to true will supercede settings editable and hideTrigger. Setting this to false will defer back to editable and hideTrigger. 
		*/
		setReadOnly?( readOnly?:boolean ): void;
	}
}
declare module Ext.form {
	export interface ITwinTriggerField extends Ext.form.field.IText {
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		editable?: boolean;
		/** [Config Option] (Boolean) */
		hideTrigger?: boolean;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Config Option] (Boolean) */
		repeatTriggerClick?: boolean;
		/** [Config Option] (Boolean) */
		selectOnFocus?: boolean;
		/** [Config Option] (String) */
		triggerBaseCls?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (String) */
		triggerNoEditCls?: string;
		/** [Config Option] (String) */
		triggerWrapCls?: string;
		/** [Property] (Ext.Element) */
		inputCell?: Ext.IElement;
		/** [Property] (Ext.CompositeElement) */
		triggerEl?: Ext.ICompositeElement;
		/** [Property] (Ext.Element) */
		triggerWrap?: Ext.IElement;
		/** [Method] Generates the arguments for the field decorations rendering template  
		* @returns Object The template arguments 
		*/
		getLabelableRenderData?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Get the total width of the trigger button area  
		* @returns Number The total trigger width 
		*/
		getTriggerWidth?(): number;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] The function that should handle the trigger s click event  
		* @param e Ext.EventObject 
		*/
		onTriggerClick?( e?:Ext.IEventObject ): void;
		/** [Method] Sets the editable state of this field  
		* @param editable Boolean True to allow the user to directly edit the field text. If false is passed, the user will only be able to modify the field using the trigger. Will also add a click event to the text field which will call the trigger. 
		*/
		setEditable?( editable?:boolean ): void;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Boolean True to prevent the user changing the field and explicitly hide the trigger. Setting this to true will supercede settings editable and hideTrigger. Setting this to false will defer back to editable and hideTrigger. 
		*/
		setReadOnly?( readOnly?:boolean ): void;
	}
}
declare module Ext.form {
	export interface ITrigger extends Ext.form.field.IText {
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		editable?: boolean;
		/** [Config Option] (Boolean) */
		hideTrigger?: boolean;
		/** [Config Option] (Boolean) */
		readOnly?: boolean;
		/** [Config Option] (Boolean) */
		repeatTriggerClick?: boolean;
		/** [Config Option] (Boolean) */
		selectOnFocus?: boolean;
		/** [Config Option] (String) */
		triggerBaseCls?: string;
		/** [Config Option] (String) */
		triggerCls?: string;
		/** [Config Option] (String) */
		triggerNoEditCls?: string;
		/** [Config Option] (String) */
		triggerWrapCls?: string;
		/** [Property] (Ext.Element) */
		inputCell?: Ext.IElement;
		/** [Property] (Ext.CompositeElement) */
		triggerEl?: Ext.ICompositeElement;
		/** [Property] (Ext.Element) */
		triggerWrap?: Ext.IElement;
		/** [Method] Generates the arguments for the field decorations rendering template  
		* @returns Object The template arguments 
		*/
		getLabelableRenderData?(): any;
		/** [Method] Creates and returns the data object to be used when rendering the fieldSubTpl  
		* @returns Object The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Get the total width of the trigger button area  
		* @returns Number The total trigger width 
		*/
		getTriggerWidth?(): number;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] The function that should handle the trigger s click event  
		* @param e Ext.EventObject 
		*/
		onTriggerClick?( e?:Ext.IEventObject ): void;
		/** [Method] Sets the editable state of this field  
		* @param editable Boolean True to allow the user to directly edit the field text. If false is passed, the user will only be able to modify the field using the trigger. Will also add a click event to the text field which will call the trigger. 
		*/
		setEditable?( editable?:boolean ): void;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Boolean True to prevent the user changing the field and explicitly hide the trigger. Setting this to true will supercede settings editable and hideTrigger. Setting this to false will defer back to editable and hideTrigger. 
		*/
		setReadOnly?( readOnly?:boolean ): void;
	}
}
declare module Ext.form.field {
	export interface IVTypes extends Ext.IBase {
	}
	export class VTypes {
		/** [Method] The function used to validate alpha values 
		* @param value String The value 
		* @returns Boolean true if the RegExp test passed, and false if not. 
		*/
		static alpha( value?:string ): boolean;
		/** [Method] The function used to validate alphanumeric values 
		* @param value String The value 
		* @returns Boolean true if the RegExp test passed, and false if not. 
		*/
		static alphanum( value?:string ): boolean;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] The function used to validate email addresses  
		* @param value String The email address 
		* @returns Boolean true if the RegExp test passed, and false if not. 
		*/
		static email( value?:string ): boolean;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] The function used to validate URLs 
		* @param value String The URL 
		* @returns Boolean true if the RegExp test passed, and false if not. 
		*/
		static url( value?:string ): boolean;
	}
}
declare module Ext.form {
	export interface IVTypes extends Ext.IBase {
	}
	export class VTypes {
		/** [Method] The function used to validate alpha values 
		* @param value String The value 
		* @returns Boolean true if the RegExp test passed, and false if not. 
		*/
		static alpha( value?:string ): boolean;
		/** [Method] The function used to validate alphanumeric values 
		* @param value String The value 
		* @returns Boolean true if the RegExp test passed, and false if not. 
		*/
		static alphanum( value?:string ): boolean;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] The function used to validate email addresses  
		* @param value String The email address 
		* @returns Boolean true if the RegExp test passed, and false if not. 
		*/
		static email( value?:string ): boolean;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] The function used to validate URLs 
		* @param value String The URL 
		* @returns Boolean true if the RegExp test passed, and false if not. 
		*/
		static url( value?:string ): boolean;
	}
}
declare module Ext.form {
	export interface IFieldAncestor extends Ext.IBase {
		/** [Config Option] (Object) */
		fieldDefaults?: any;
		/** [Method] Initializes the FieldAncestor s state this must be called from the initComponent method of any components importing */
		initFieldAncestor?(): void;
		/** [Method] Fired when the error message of any field within the container changes  
		* @param field Ext.form.Labelable The sub-field whose active error changed 
		* @param error String The new active error message 
		*/
		onFieldErrorChange?( field?:Ext.form.ILabelable, error?:string ): void;
		/** [Method] Fired when the validity of any field within the container changes  
		* @param field Ext.form.field.Field The sub-field whose validity changed 
		* @param valid Boolean The new validity state 
		*/
		onFieldValidityChange?( field?:Ext.form.field.IField, valid?:boolean ): void;
	}
}
declare module Ext.form {
	export interface IFieldContainer extends Ext.container.IContainer,Ext.form.ILabelable,Ext.form.IFieldAncestor {
		/** [Config Option] (Boolean) */
		combineErrors?: boolean;
		/** [Config Option] (Boolean) */
		combineLabels?: boolean;
		/** [Config Option] (String) */
		componentCls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		invalidCls?: string;
		/** [Config Option] (String) */
		labelConnector?: string;
		/** [Property] (Boolean) */
		maskOnDisable?: boolean;
		/** [Method] Gets the active error message for this component if any  
		* @returns String The active error message on the component; if there is no error, an empty string is returned. 
		*/
		getActiveError?(): string;
		/** [Method] Gets an Array of any active error messages currently applied to the field  
		* @returns String[] The active error messages on the component; if there are no errors, an empty Array is returned. 
		*/
		getActiveErrors?(): string[];
		/** [Method] Takes an Array of invalid Ext form field Field objects and builds a combined list of error messages from them  
		* @param invalidFields Ext.form.field.Field[] An Array of the sub-fields which are currently invalid. 
		* @returns String[] The combined list of error messages 
		*/
		getCombinedErrors?( invalidFields?:Ext.form.field.IField[] ): string[];
		/** [Method] Returns the combined field label if combineLabels is set to true and if there is no set fieldLabel  
		* @returns String The label, or empty string if none. 
		*/
		getFieldLabel?(): string;
		/** [Method] Get the input id if any for this component  
		* @returns String The input id 
		*/
		getInputId?(): string;
		/** [Method] Gets the width of the label if visible  
		* @returns Number The label width 
		*/
		getLabelWidth?(): number;
		/** [Method] Generates the arguments for the field decorations rendering template  
		* @returns Object The template arguments 
		*/
		getLabelableRenderData?(): any;
		/** [Method] Gets the markup to be inserted into the outer template s bodyEl  
		* @returns String The markup to be inserted 
		*/
		getSubTplMarkup?(): string;
		/** [Method] Tells whether the field currently has an active error message  
		* @returns Boolean 
		*/
		hasActiveError?(): boolean;
		/** [Method] Checks if the field has a visible label 
		* @returns Boolean True if the field has a visible label 
		*/
		hasVisibleLabel?(): boolean;
		/** [Method] Initializes the FieldAncestor s state this must be called from the initComponent method of any components importing */
		initFieldAncestor?(): void;
		/** [Method] Performs initialization of this mixin  */
		initLabelable?(): void;
		/** [Method] Initialized the renderData to be used when rendering the renderTpl  
		* @returns Object Object with keys and values that are going to be applied to the renderTpl 
		*/
		initRenderData?(): any;
		/** [Method] Called when a Ext form Labelable instance is added to the container s subtree  
		* @param labelable Ext.form.Labelable The instance that was added 
		*/
		onAdd?( labelable?:Ext.form.ILabelable ): void;
		/** [Method] Fired when the validity of any field within the container changes  
		* @param field Ext.form.field.Field The sub-field whose validity changed 
		* @param valid Boolean The new validity state 
		*/
		onFieldValidityChange?( field?:Ext.form.field.IField, valid?:boolean ): void;
		/** [Method] Called when a Ext form Labelable instance is removed from the container s subtree  
		* @param labelable Ext.form.Labelable The instance that was removed 
		*/
		onRemove?( labelable?:Ext.form.ILabelable ): void;
		/** [Method] Sets the active error message to the given string  
		* @param msg String The error message 
		*/
		setActiveError?( msg?:string ): void;
		/** [Method] Set the active error message to an Array of error messages  
		* @param errors String[] The error messages 
		*/
		setActiveErrors?( errors?:string[] ): void;
		/** [Method] Applies a set of default configuration values to this Labelable instance  
		* @param defaults Object The defaults to apply to the object. 
		*/
		setFieldDefaults?( defaults?:any ): void;
		/** [Method] Set the label of this field  
		* @param label String The new label. The labelSeparator will be automatically appended to the label string. 
		*/
		setFieldLabel?( label?:string ): void;
		/** [Method] Returns the trimmed label by slicing off the label separator character  
		* @returns String The trimmed field label, or empty string if not defined 
		*/
		trimLabelSeparator?(): string;
		/** [Method] Clears the active error message s */
		unsetActiveError?(): void;
	}
}
declare module Ext.form {
	export interface IFieldSet extends Ext.container.IContainer,Ext.form.IFieldAncestor {
		/** [Config Option] (String/Object) */
		autoEl?: any;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String) */
		checkboxName?: string;
		/** [Config Option] (Boolean) */
		checkboxToggle?: boolean;
		/** [Config Option] (Boolean) */
		collapsed?: boolean;
		/** [Config Option] (Boolean) */
		collapsible?: boolean;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String[]) */
		stateEvents?: string[];
		/** [Config Option] (String) */
		title?: string;
		/** [Config Option] (Boolean) */
		toggleOnTitleClick?: boolean;
		/** [Property] (Ext.form.field.Checkbox) */
		checkboxCmp?: Ext.form.field.ICheckbox;
		/** [Property] (Ext.Component) */
		legend?: Ext.IComponent;
		/** [Property] (Boolean) */
		maskOnDisable?: boolean;
		/** [Property] (Ext.panel.Tool) */
		toggleCmp?: Ext.panel.ITool;
		/** [Method] Collapses the fieldset  
		* @returns Ext.form.FieldSet this 
		*/
		collapse?(): Ext.form.IFieldSet;
		/** [Method] Creates the checkbox component  
		* @returns Ext.Component 
		*/
		createCheckboxCmp?(): Ext.IComponent;
		/** [Method] Creates the legend title component  
		* @returns Ext.Component 
		*/
		createTitleCmp?(): Ext.IComponent;
		/** [Method] Creates the toggle button component  
		* @returns Ext.Component 
		*/
		createToggleCmp?(): Ext.IComponent;
		/** [Method] Expands the fieldset  
		* @returns Ext.form.FieldSet this 
		*/
		expand?(): Ext.form.IFieldSet;
		/** [Method] Used by ComponentQuery child and down to retrieve all of the items which can potentially be considered a child of th  
		* @param deep Object 
		*/
		getRefItems?( deep?:any ): void;
		/** [Method] The supplied default state gathering method for the AbstractComponent class  
		* @returns Object 
		*/
		getState?(): any;
		/** [Method] Initializes the FieldAncestor s state this must be called from the initComponent method of any components importing */
		initFieldAncestor?(): void;
		/** [Method] Fired when the error message of any field within the container changes  
		* @param field Ext.form.Labelable The sub-field whose active error changed 
		* @param error String The new active error message 
		*/
		onFieldErrorChange?( field?:Ext.form.ILabelable, error?:string ): void;
		/** [Method] Fired when the validity of any field within the container changes  
		* @param field Ext.form.field.Field The sub-field whose validity changed 
		* @param valid Boolean The new validity state 
		*/
		onFieldValidityChange?( field?:Ext.form.field.IField, valid?:boolean ): void;
		/** [Method] Sets the title of this fieldset  
		* @param title String The new title. 
		* @returns Ext.form.FieldSet this 
		*/
		setTitle?( title?:string ): Ext.form.IFieldSet;
		/** [Method] Toggle the fieldset s collapsed state to the opposite of what it is currently  */
		toggle?(): void;
	}
}
declare module Ext.form {
	export interface ILabel extends Ext.IComponent {
		/** [Config Option] (String/Object) */
		autoEl?: any;
		/** [Config Option] (String) */
		forId?: string;
		/** [Config Option] (String) */
		html?: string;
		/** [Config Option] (String) */
		text?: string;
		/** [Method] Updates the label s innerHTML with the specified string  
		* @param text String The new label text 
		* @param encode Boolean False to skip HTML-encoding the text when rendering it to the label. This might be useful if you want to include tags in the label's innerHTML rather than rendering them as string literals per the default logic. 
		* @returns Ext.form.Label this 
		*/
		setText?( text?:string, encode?:boolean ): Ext.form.ILabel;
	}
}
declare module Ext.form {
	export interface ILabelable extends Ext.IBase {
		/** [Config Option] (String) */
		activeError?: string;
		/** [Config Option] (String/String[]/Ext.XTemplate) */
		activeErrorsTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterBodyEl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterLabelTextTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterLabelTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		afterSubTpl?: any;
		/** [Config Option] (Boolean) */
		autoFitErrors?: boolean;
		/** [Config Option] (String) */
		baseBodyCls?: string;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeBodyEl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeLabelTextTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeLabelTpl?: any;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		beforeSubTpl?: any;
		/** [Config Option] (String) */
		clearCls?: string;
		/** [Config Option] (String) */
		errorMsgCls?: string;
		/** [Config Option] (String) */
		fieldBodyCls?: string;
		/** [Config Option] (String) */
		fieldLabel?: string;
		/** [Config Option] (String) */
		formItemCls?: string;
		/** [Config Option] (Boolean) */
		hideEmptyLabel?: boolean;
		/** [Config Option] (Boolean) */
		hideLabel?: boolean;
		/** [Config Option] (String) */
		invalidCls?: string;
		/** [Config Option] (String) */
		labelAlign?: string;
		/** [Config Option] (String/Array/Ext.XTemplate) */
		labelAttrTpl?: any;
		/** [Config Option] (String) */
		labelCls?: string;
		/** [Config Option] (String) */
		labelClsExtra?: string;
		/** [Config Option] (Number) */
		labelPad?: number;
		/** [Config Option] (String) */
		labelSeparator?: string;
		/** [Config Option] (String) */
		labelStyle?: string;
		/** [Config Option] (Number) */
		labelWidth?: number;
		/** [Config Option] (String) */
		msgTarget?: string;
		/** [Config Option] (Boolean) */
		preventMark?: boolean;
		/** [Property] (Ext.Element) */
		bodyEl?: Ext.IElement;
		/** [Property] (Ext.Element) */
		errorEl?: Ext.IElement;
		/** [Property] (Boolean) */
		isFieldLabelable?: boolean;
		/** [Property] (Ext.Element) */
		labelCell?: Ext.IElement;
		/** [Property] (Ext.Element) */
		labelEl?: Ext.IElement;
		/** [Method] Gets the active error message for this component if any  
		* @returns String The active error message on the component; if there is no error, an empty string is returned. 
		*/
		getActiveError?(): string;
		/** [Method] Gets an Array of any active error messages currently applied to the field  
		* @returns String[] The active error messages on the component; if there are no errors, an empty Array is returned. 
		*/
		getActiveErrors?(): string[];
		/** [Method] Returns the label for the field  
		* @returns String The configured field label, or empty string if not defined 
		*/
		getFieldLabel?(): string;
		/** [Method] Get the input id if any for this component  
		* @returns String The input id 
		*/
		getInputId?(): string;
		/** [Method] Gets the width of the label if visible  
		* @returns Number The label width 
		*/
		getLabelWidth?(): number;
		/** [Method] Generates the arguments for the field decorations rendering template  
		* @returns Object The template arguments 
		*/
		getLabelableRenderData?(): any;
		/** [Method] Gets the markup to be inserted into the outer template s bodyEl  
		* @returns String The markup to be inserted 
		*/
		getSubTplMarkup?(): string;
		/** [Method] Tells whether the field currently has an active error message  
		* @returns Boolean 
		*/
		hasActiveError?(): boolean;
		/** [Method] Checks if the field has a visible label 
		* @returns Boolean True if the field has a visible label 
		*/
		hasVisibleLabel?(): boolean;
		/** [Method] Performs initialization of this mixin  */
		initLabelable?(): void;
		/** [Method] Sets the active error message to the given string  
		* @param msg String The error message 
		*/
		setActiveError?( msg?:string ): void;
		/** [Method] Set the active error message to an Array of error messages  
		* @param errors String[] The error messages 
		*/
		setActiveErrors?( errors?:string[] ): void;
		/** [Method] Applies a set of default configuration values to this Labelable instance  
		* @param defaults Object The defaults to apply to the object. 
		*/
		setFieldDefaults?( defaults?:any ): void;
		/** [Method] Set the label of this field  
		* @param label String The new label. The labelSeparator will be automatically appended to the label string. 
		*/
		setFieldLabel?( label?:string ): void;
		/** [Method] Returns the trimmed label by slicing off the label separator character  
		* @returns String The trimmed field label, or empty string if not defined 
		*/
		trimLabelSeparator?(): string;
		/** [Method] Clears the active error message s */
		unsetActiveError?(): void;
	}
}
declare module Ext.form {
	export interface IPanel extends Ext.panel.IPanel,Ext.form.IFieldAncestor {
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Boolean) */
		pollForChanges?: boolean;
		/** [Config Option] (Number) */
		pollInterval?: number;
		/** [Method] Forces each field within the form panel to check if its value has changed  */
		checkChange?(): void;
		/** [Method] Provides access to the Form which this Panel contains  
		* @returns Ext.form.Basic The Form which this Panel contains. 
		*/
		getForm?(): Ext.form.IBasic;
		/** [Method] Returns the currently loaded Ext data Model instance if one was loaded via loadRecord  
		* @returns Ext.data.Model The loaded instance 
		*/
		getRecord?(): Ext.data.IModel;
		/** [Method] Convenience function for fetching the current value of each field in the form  
		* @param asString Boolean If true, will return the key/value collection as a single URL-encoded param string. 
		* @param dirtyOnly Boolean If true, only fields that are dirty will be included in the result. 
		* @param includeEmptyText Boolean If true, the configured emptyText of empty fields will be used. 
		* @param useDataValues Boolean If true, the getModelData method is used to retrieve values from fields, otherwise the getSubmitData method is used. 
		* @returns String/Object 
		*/
		getValues?( asString?:boolean, dirtyOnly?:boolean, includeEmptyText?:boolean, useDataValues?:boolean ): any;
		/** [Method] Convenience function to check if the form has any invalid fields  */
		hasInvalidField?(): void;
		/** [Method] Initializes the FieldAncestor s state this must be called from the initComponent method of any components importing */
		initFieldAncestor?(): void;
		/** [Method] Convenience function to check if the form has any dirty fields  
		* @returns Boolean 
		*/
		isDirty?(): boolean;
		/** [Method] Convenience function to check if the form has all valid fields  
		* @returns Boolean 
		*/
		isValid?(): boolean;
		/** [Method] This is a proxy for the underlying BasicForm s Ext form Basic load call  
		* @param options Object The options to pass to the action (see Ext.form.Basic.load and Ext.form.Basic.doAction for details) 
		*/
		load?( options?:any ): void;
		/** [Method] Loads an Ext data Model into this form internally just calls Ext form Basic loadRecord See also trackResetOnLoad  
		* @param record Ext.data.Model The record to load 
		* @returns Ext.form.Basic The Ext.form.Basic attached to this FormPanel 
		*/
		loadRecord?( record?:Ext.data.IModel ): Ext.form.IBasic;
		/** [Method] Fired when the error message of any field within the container changes  
		* @param field Ext.form.Labelable The sub-field whose active error changed 
		* @param error String The new active error message 
		*/
		onFieldErrorChange?( field?:Ext.form.ILabelable, error?:string ): void;
		/** [Method] Fired when the validity of any field within the container changes  
		* @param field Ext.form.field.Field The sub-field whose validity changed 
		* @param valid Boolean The new validity state 
		*/
		onFieldValidityChange?( field?:Ext.form.field.IField, valid?:boolean ): void;
		/** [Method] Start an interval task to continuously poll all the fields in the form for changes in their values  
		* @param interval Number The interval in milliseconds at which the check should run. 
		*/
		startPolling?( interval?:number ): void;
		/** [Method] Stop a running interval task that was started by startPolling  */
		stopPolling?(): void;
		/** [Method] This is a proxy for the underlying BasicForm s Ext form Basic submit call  
		* @param options Object The options to pass to the action (see Ext.form.Basic.submit and Ext.form.Basic.doAction for details) 
		*/
		submit?( options?:any ): void;
		/** [Method] Persists the values in this form into the passed Ext data Model object in a beginEdit endEdit block  
		* @param record Ext.data.Model The record to edit 
		* @returns Ext.form.Basic The Ext.form.Basic attached to this FormPanel 
		*/
		updateRecord?( record?:Ext.data.IModel ): Ext.form.IBasic;
	}
}
declare module Ext {
	export interface IFormPanel extends Ext.panel.IPanel,Ext.form.IFieldAncestor {
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Boolean) */
		pollForChanges?: boolean;
		/** [Config Option] (Number) */
		pollInterval?: number;
		/** [Method] Forces each field within the form panel to check if its value has changed  */
		checkChange?(): void;
		/** [Method] Provides access to the Form which this Panel contains  
		* @returns Ext.form.Basic The Form which this Panel contains. 
		*/
		getForm?(): Ext.form.IBasic;
		/** [Method] Returns the currently loaded Ext data Model instance if one was loaded via loadRecord  
		* @returns Ext.data.Model The loaded instance 
		*/
		getRecord?(): Ext.data.IModel;
		/** [Method] Convenience function for fetching the current value of each field in the form  
		* @param asString Boolean If true, will return the key/value collection as a single URL-encoded param string. 
		* @param dirtyOnly Boolean If true, only fields that are dirty will be included in the result. 
		* @param includeEmptyText Boolean If true, the configured emptyText of empty fields will be used. 
		* @param useDataValues Boolean If true, the getModelData method is used to retrieve values from fields, otherwise the getSubmitData method is used. 
		* @returns String/Object 
		*/
		getValues?( asString?:boolean, dirtyOnly?:boolean, includeEmptyText?:boolean, useDataValues?:boolean ): any;
		/** [Method] Convenience function to check if the form has any invalid fields  */
		hasInvalidField?(): void;
		/** [Method] Initializes the FieldAncestor s state this must be called from the initComponent method of any components importing */
		initFieldAncestor?(): void;
		/** [Method] Convenience function to check if the form has any dirty fields  
		* @returns Boolean 
		*/
		isDirty?(): boolean;
		/** [Method] Convenience function to check if the form has all valid fields  
		* @returns Boolean 
		*/
		isValid?(): boolean;
		/** [Method] This is a proxy for the underlying BasicForm s Ext form Basic load call  
		* @param options Object The options to pass to the action (see Ext.form.Basic.load and Ext.form.Basic.doAction for details) 
		*/
		load?( options?:any ): void;
		/** [Method] Loads an Ext data Model into this form internally just calls Ext form Basic loadRecord See also trackResetOnLoad  
		* @param record Ext.data.Model The record to load 
		* @returns Ext.form.Basic The Ext.form.Basic attached to this FormPanel 
		*/
		loadRecord?( record?:Ext.data.IModel ): Ext.form.IBasic;
		/** [Method] Fired when the error message of any field within the container changes  
		* @param field Ext.form.Labelable The sub-field whose active error changed 
		* @param error String The new active error message 
		*/
		onFieldErrorChange?( field?:Ext.form.ILabelable, error?:string ): void;
		/** [Method] Fired when the validity of any field within the container changes  
		* @param field Ext.form.field.Field The sub-field whose validity changed 
		* @param valid Boolean The new validity state 
		*/
		onFieldValidityChange?( field?:Ext.form.field.IField, valid?:boolean ): void;
		/** [Method] Start an interval task to continuously poll all the fields in the form for changes in their values  
		* @param interval Number The interval in milliseconds at which the check should run. 
		*/
		startPolling?( interval?:number ): void;
		/** [Method] Stop a running interval task that was started by startPolling  */
		stopPolling?(): void;
		/** [Method] This is a proxy for the underlying BasicForm s Ext form Basic submit call  
		* @param options Object The options to pass to the action (see Ext.form.Basic.submit and Ext.form.Basic.doAction for details) 
		*/
		submit?( options?:any ): void;
		/** [Method] Persists the values in this form into the passed Ext data Model object in a beginEdit endEdit block  
		* @param record Ext.data.Model The record to edit 
		* @returns Ext.form.Basic The Ext.form.Basic attached to this FormPanel 
		*/
		updateRecord?( record?:Ext.data.IModel ): Ext.form.IBasic;
	}
}
declare module Ext.form {
	export interface IFormPanel extends Ext.panel.IPanel,Ext.form.IFieldAncestor {
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Boolean) */
		pollForChanges?: boolean;
		/** [Config Option] (Number) */
		pollInterval?: number;
		/** [Method] Forces each field within the form panel to check if its value has changed  */
		checkChange?(): void;
		/** [Method] Provides access to the Form which this Panel contains  
		* @returns Ext.form.Basic The Form which this Panel contains. 
		*/
		getForm?(): Ext.form.IBasic;
		/** [Method] Returns the currently loaded Ext data Model instance if one was loaded via loadRecord  
		* @returns Ext.data.Model The loaded instance 
		*/
		getRecord?(): Ext.data.IModel;
		/** [Method] Convenience function for fetching the current value of each field in the form  
		* @param asString Boolean If true, will return the key/value collection as a single URL-encoded param string. 
		* @param dirtyOnly Boolean If true, only fields that are dirty will be included in the result. 
		* @param includeEmptyText Boolean If true, the configured emptyText of empty fields will be used. 
		* @param useDataValues Boolean If true, the getModelData method is used to retrieve values from fields, otherwise the getSubmitData method is used. 
		* @returns String/Object 
		*/
		getValues?( asString?:boolean, dirtyOnly?:boolean, includeEmptyText?:boolean, useDataValues?:boolean ): any;
		/** [Method] Convenience function to check if the form has any invalid fields  */
		hasInvalidField?(): void;
		/** [Method] Initializes the FieldAncestor s state this must be called from the initComponent method of any components importing */
		initFieldAncestor?(): void;
		/** [Method] Convenience function to check if the form has any dirty fields  
		* @returns Boolean 
		*/
		isDirty?(): boolean;
		/** [Method] Convenience function to check if the form has all valid fields  
		* @returns Boolean 
		*/
		isValid?(): boolean;
		/** [Method] This is a proxy for the underlying BasicForm s Ext form Basic load call  
		* @param options Object The options to pass to the action (see Ext.form.Basic.load and Ext.form.Basic.doAction for details) 
		*/
		load?( options?:any ): void;
		/** [Method] Loads an Ext data Model into this form internally just calls Ext form Basic loadRecord See also trackResetOnLoad  
		* @param record Ext.data.Model The record to load 
		* @returns Ext.form.Basic The Ext.form.Basic attached to this FormPanel 
		*/
		loadRecord?( record?:Ext.data.IModel ): Ext.form.IBasic;
		/** [Method] Fired when the error message of any field within the container changes  
		* @param field Ext.form.Labelable The sub-field whose active error changed 
		* @param error String The new active error message 
		*/
		onFieldErrorChange?( field?:Ext.form.ILabelable, error?:string ): void;
		/** [Method] Fired when the validity of any field within the container changes  
		* @param field Ext.form.field.Field The sub-field whose validity changed 
		* @param valid Boolean The new validity state 
		*/
		onFieldValidityChange?( field?:Ext.form.field.IField, valid?:boolean ): void;
		/** [Method] Start an interval task to continuously poll all the fields in the form for changes in their values  
		* @param interval Number The interval in milliseconds at which the check should run. 
		*/
		startPolling?( interval?:number ): void;
		/** [Method] Stop a running interval task that was started by startPolling  */
		stopPolling?(): void;
		/** [Method] This is a proxy for the underlying BasicForm s Ext form Basic submit call  
		* @param options Object The options to pass to the action (see Ext.form.Basic.submit and Ext.form.Basic.doAction for details) 
		*/
		submit?( options?:any ): void;
		/** [Method] Persists the values in this form into the passed Ext data Model object in a beginEdit endEdit block  
		* @param record Ext.data.Model The record to edit 
		* @returns Ext.form.Basic The Ext.form.Basic attached to this FormPanel 
		*/
		updateRecord?( record?:Ext.data.IModel ): Ext.form.IBasic;
	}
}
declare module Ext.form {
	export interface IRadioGroup extends Ext.form.ICheckboxGroup {
		/** [Config Option] (Boolean) */
		allowBlank?: boolean;
		/** [Config Option] (String) */
		blankText?: string;
		/** [Config Option] (String) */
		defaultType?: string;
		/** [Config Option] (Ext.form.field.Radio[]/Object[]) */
		items?: any;
		/** [Method] Checks whether the value of the field has changed since the last time it was checked  */
		checkChange?(): void;
		/** [Method] Sets the value of the radio group  
		* @param value Object The map from names to values to be set. 
		* @returns Ext.form.CheckboxGroup this 
		*/
		setValue?( value?:any ): Ext.form.ICheckboxGroup;
	}
}
declare module Ext.form {
	export interface IRadioManager extends Ext.util.IMixedCollection {
	}
	export class RadioManager {
		/** [Method] Adds an item to the collection  
		* @param key String/Object The key to associate with the item, or the new item. If a getKey implementation was specified for this MixedCollection, or if the key of the stored items is in a property called id, the MixedCollection will be able to derive the key for the new item. In this case just pass the new item in this parameter. 
		* @param obj Object The item to add. 
		* @returns Object The item added. 
		*/
		static add( key?:any, obj?:any ): any;
		/** [Method] Adds all elements of an Array or an Object to the collection  
		* @param objs Object/Array An Object containing properties which will be added to the collection, or an Array of values, each of which are added to the collection. Functions references will be added to the collection if allowFunctions has been set to true. 
		*/
		static addAll( objs?:any ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all items from the collection  */
		static clear(): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Creates a shallow copy of this collection 
		* @returns Ext.util.MixedCollection 
		*/
		static clone(): Ext.util.IMixedCollection;
		/** [Method] Collects unique values of a particular property in this MixedCollection 
		* @param property String The property to collect on 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param allowBlank Boolean Pass true to allow null, undefined or empty string values 
		* @returns Array The unique values 
		*/
		static collect( property?:string, root?:string, allowBlank?:boolean ): any[];
		/** [Method] Returns true if the collection contains the passed Object as an item  
		* @param o Object The Object to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as an item. 
		*/
		static contains( o?:any ): boolean;
		/** [Method] Returns true if the collection contains the passed Object as a key  
		* @param key String The key to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as a key. 
		*/
		static containsKey( key?:string ): boolean;
		/** [Method] Executes the specified function once for every item in the collection  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current item in the iteration. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every key in the collection passing each key and its associated item as th  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		static eachKey( fn?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Filters the objects in this collection by a set of Filters or by a single property value pair with optional paramete  
		* @param property Ext.util.Filter[]/String A property on your objects, or an array of Filter objects 
		* @param value String/RegExp Either string that the property values should start with or a RegExp to test against the property 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filter( property?:any, value?:any, anyMatch?:boolean, caseSensitive?:boolean ): Ext.util.IMixedCollection;
		/** [Method] Filter by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		static filterBy( fn?:any, scope?:any ): Ext.util.IMixedCollection;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  */
		static find(): void;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  
		* @param fn Function The selection function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		* @returns Object The first item in the collection which returned true from the selection function, or null if none was found. 
		*/
		static findBy( fn?:any, scope?:any ): any;
		/** [Method] Finds the index of the first matching object in this collection by a specific property value  
		* @param property String The name of a property on your objects. 
		* @param value String/RegExp A string that the property values should start with or a RegExp to test against the property. 
		* @param start Number The index to start searching at. 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning. 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Number The matched index or -1 
		*/
		static findIndex( property?:string, value?:any, start?:number, anyMatch?:boolean, caseSensitive?:boolean ): number;
		/** [Method] Find the index of the first matching object in this collection by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @param start Number The index to start searching at. 
		* @returns Number The matched index or -1 
		*/
		static findIndexBy( fn?:any, scope?:any, start?:number ): number;
		/** [Method] Calculates the insertion index of the new item based upon the comparison function passed or the current sort order  
		* @param newItem Object The new object to find the insertion position of. 
		* @param sorterFn Function The function to sort by. This is the same as the sorting function passed to sortBy. It accepts 2 items from this MixedCollection, and returns -1 0, or 1 depending on the relative sort positions of the 2 compared items. If omitted, a function generated from the currently defined set of sorters will be used. 
		* @returns Number The insertion point to add the new item into this MixedCollection at using insert 
		*/
		static findInsertionIndex( newItem?:any, sorterFn?:any ): number;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the first item in the collection  
		* @returns Object the first item in the collection.. 
		*/
		static first(): any;
		/** [Method] Returns a comparator function which compares two items and returns 1 0 or 1 depending on the currently defined set  */
		static generateComparator(): void;
		/** [Method] Returns the item associated with the passed key OR index  
		* @param key String/Number The key or index of the item. 
		* @returns Object If the item is found, returns the item. If the item was not found, returns undefined. If an item was found, but is a Class, returns null. 
		*/
		static get( key?:any ): any;
		/** [Method] Returns the item at the specified index  
		* @param index Number The index of the item. 
		* @returns Object The item at the specified index. 
		*/
		static getAt( index?:number ): any;
		/** [Method] Returns the item associated with the passed key  
		* @param key String/Number The key of the item. 
		* @returns Object The item associated with the passed key. 
		*/
		static getByKey( key?:any ): any;
		/** [Method] Returns the number of items in the collection  
		* @returns Number the number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Gets the first sorter from the sorters collection excluding any groupers that may be in place 
		* @returns Ext.util.Sorter The sorter, null if none exist 
		*/
		static getFirstSorter(): Ext.util.ISorter;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] A function which will be called passing a newly added object when the object is added without a separate id  
		* @param item Object The item for which to find the key. 
		* @returns Object The key for the passed item. 
		*/
		static getKey( item?:any ): any;
		/** [Method] Returns a range of items in this collection 
		* @param startIndex Number The starting index. Defaults to 0. 
		* @param endIndex Number The ending index. Defaults to the last item. 
		* @returns Array An array of items 
		*/
		static getRange( startIndex?:number, endIndex?:number ): any[];
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Returns index within the collection of the passed Object  
		* @param o Object The item to find the index of. 
		* @returns Number index of the item. Returns -1 if not found. 
		*/
		static indexOf( o?:any ): number;
		/** [Method] Returns index within the collection of the passed key  
		* @param key String The key to find the index of. 
		* @returns Number index of the key. 
		*/
		static indexOfKey( key?:string ): number;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Performs initialization of this mixin  */
		static initSortable(): void;
		/** [Method] Inserts an item at the specified index in the collection  
		* @param index Number The index to insert the item at. 
		* @param key String/Object/String[]/Object[] The key to associate with the new item, or the item itself. May also be an array of either to insert multiple items at once. 
		* @param o Object/Object[] If the second parameter was a key, the new item. May also be an array to insert multiple items at once. 
		* @returns Object The item inserted or an array of items inserted. 
		*/
		static insert( index?:number, key?:any, o?:any ): any;
		/** [Method] Returns the last item in the collection  
		* @returns Object the last item in the collection.. 
		*/
		static last(): any;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Remove an item from the collection  
		* @param o Object The item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static remove( o?:any ): any;
		/** [Method] Remove all items in the collection  
		* @param items Array An array of items to be removed. 
		* @returns Ext.util.MixedCollection this object 
		*/
		static removeAll( items?:any[] ): Ext.util.IMixedCollection;
		/** [Method] Remove an item from a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		static removeAt( index?:number ): any;
		/** [Method] Removes an item associated with the passed key fom the collection  
		* @param key String The key of the item to remove. If null is passed, all objects which yielded no key from the configured getKey function are removed. 
		* @returns Object Only returned if removing at a specified key. The item removed or false if no item was removed. 
		*/
		static removeAtKey( key?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Remove a range of items starting at a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @param removeCount Number The nuber of items to remove beginning at the specified index. 
		* @returns Object The last item removed or false if no item was removed. 
		*/
		static removeRange( index?:number, removeCount?:number ): any;
		/** [Method] Reorders each of the items based on a mapping from old index to new index  
		* @param mapping Object Mapping from old item index to new item index 
		*/
		static reorder( mapping?:any ): void;
		/** [Method] Replaces an item in the collection  
		* @param key String The key associated with the item to replace, or the replacement item. If you supplied a getKey implementation for this MixedCollection, or if the key of your stored items is in a property called id, then the MixedCollection will be able to derive the key of the replacement item. If you want to replace an item with one having the same key value, then just pass the replacement item in this parameter. 
		* @param o Object {Object} o (optional) If the first parameter passed was a key, the item to associate with that key. 
		* @returns Object The new item. 
		*/
		static replace( key?:string, o?:any ): any;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Sorts the data in the Store by one or more of its properties  
		* @param sorters String/Ext.util.Sorter[] Either a string name of one of the fields in this Store's configured Model, or an array of sorter configurations. 
		* @param direction String The overall direction to sort the data by. 
		* @returns Ext.util.Sorter[] 
		*/
		static sort( sorters?:any, direction?:string ): Ext.util.ISorter[];
		/** [Method] Sorts the collection by a single sorter function 
		* @param sorterFn Function The function to sort by 
		*/
		static sortBy( sorterFn?:any ): void;
		/** [Method] Sorts this collection by keys  
		* @param direction String 'ASC' or 'DESC'. Defaults to 'ASC'. 
		* @param fn Function Comparison function that defines the sort order. Defaults to sorting by case insensitive string. 
		*/
		static sortByKey( direction?:string, fn?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Collects all of the values of the given property and returns their sum 
		* @param property String The property to sum by 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param start Number The record index to start at 
		* @param end Number The record index to end at 
		* @returns Number The total 
		*/
		static sum( property?:string, root?:string, start?:number, end?:number ): number;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Change the key for an existing item in the collection  
		* @param oldKey Object The old key 
		* @param newKey Object The new key 
		*/
		static updateKey( oldKey?:any, newKey?:any ): void;
	}
}
declare module Ext {
	export interface IFunction {
	}
	export class Function {
		/** [Method] Create an alias to the provided method property with name methodName of object  
		* @param object Object/Function 
		* @param methodName String 
		* @returns Function aliasFn 
		*/
		static alias( object?:any, methodName?:string ): any;
		/** [Method] Create a new function from the provided fn change this to the provided scope optionally overrides arguments for the  
		* @param fn Function The function to delegate. 
		* @param scope Object The scope (this reference) in which the function is executed. If omitted, defaults to the default global environment object (usually the browser window). 
		* @param args Array Overrides arguments for the call. (Defaults to the arguments passed by the caller) 
		* @param appendArgs Boolean/Number if True args are appended to call args instead of overriding, if a number the args are inserted at the specified position 
		* @returns Function The new function 
		*/
		static bind( fn?:any, scope?:any, args?:any[], appendArgs?:any ): any;
		/** [Method] Create a clone of the provided method  
		* @param method Function 
		* @returns Function cloneFn 
		*/
		static clone( method?:any ): any;
		/** [Method] Creates a delegate function optionally with a bound scope which when called buffers the execution of the passed fu  
		* @param fn Function The function to invoke on a buffered timer. 
		* @param buffer Number The number of milliseconds by which to buffer the invocation of the function. 
		* @param scope Object The scope (this reference) in which the passed function is executed. If omitted, defaults to the scope specified by the caller. 
		* @param args Array Override arguments for the call. Defaults to the arguments passed by the caller. 
		* @returns Function A function which invokes the passed function after buffering for the specified time. 
		*/
		static createBuffered( fn?:any, buffer?:number, scope?:any, args?:any[] ): any;
		/** [Method] Creates a delegate callback which when called executes after a specific delay  
		* @param fn Function The function which will be called on a delay when the returned function is called. Optionally, a replacement (or additional) argument list may be specified. 
		* @param delay Number The number of milliseconds to defer execution by whenever called. 
		* @param scope Object The scope (this reference) used by the function at execution time. 
		* @param args Array Override arguments for the call. (Defaults to the arguments passed by the caller) 
		* @param appendArgs Boolean/Number if True args are appended to call args instead of overriding, if a number the args are inserted at the specified position. 
		* @returns Function A function which, when called, executes the original function after the specified delay. 
		*/
		static createDelayed( fn?:any, delay?:number, scope?:any, args?:any[], appendArgs?:any ): any;
		/** [Method] Creates an interceptor function  
		* @param origFn Function The original function. 
		* @param newFn Function The function to call before the original 
		* @param scope Object The scope (this reference) in which the passed function is executed. If omitted, defaults to the scope in which the original function is called or the browser window. 
		* @param returnValue Object The value to return if the passed function return false. 
		* @returns Function The new function 
		*/
		static createInterceptor( origFn?:any, newFn?:any, scope?:any, returnValue?:any ): any;
		/** [Method] Create a combined function call sequence of the original function  the passed function  
		* @param originalFn Function The original function. 
		* @param newFn Function The function to sequence 
		* @param scope Object The scope (this reference) in which the passed function is executed. If omitted, defaults to the scope in which the original function is called or the default global environment object (usually the browser window). 
		* @returns Function The new function 
		*/
		static createSequence( originalFn?:any, newFn?:any, scope?:any ): any;
		/** [Method] Creates a throttled version of the passed function which when called repeatedly and rapidly invokes the passed func  
		* @param fn Function The function to execute at a regular time interval. 
		* @param interval Number The interval in milliseconds on which the passed function is executed. 
		* @param scope Object The scope (this reference) in which the passed function is executed. If omitted, defaults to the scope specified by the caller. 
		* @returns Function A function which invokes the passed function at the specified interval. 
		*/
		static createThrottled( fn?:any, interval?:number, scope?:any ): any;
		/** [Method] Calls this function after the number of millseconds specified optionally in a specific scope  
		* @param fn Function The function to defer. 
		* @param millis Number The number of milliseconds for the setTimeout call (if less than or equal to 0 the function is executed immediately) 
		* @param scope Object The scope (this reference) in which the function is executed. If omitted, defaults to the browser window. 
		* @param args Array Overrides arguments for the call. (Defaults to the arguments passed by the caller) 
		* @param appendArgs Boolean/Number if True args are appended to call args instead of overriding, if a number the args are inserted at the specified position 
		* @returns Number The timeout id that can be used with clearTimeout 
		*/
		static defer( fn?:any, millis?:number, scope?:any, args?:any[], appendArgs?:any ): number;
		/** [Method] A very commonly used method throughout the framework  
		* @param setter Function 
		* @returns Function flexSetter 
		*/
		static flexSetter( setter?:any ): any;
		/** [Method] Adds behavior to an existing method that is executed after the original behavior of the function  
		* @param object Object The target object 
		* @param methodName String Name of the method to override 
		* @param fn Function Function with the new behavior. It will be called with the same arguments as the original method. The return value of this function will be the return value of the new method. 
		* @param scope Object The scope to execute the interceptor function. Defaults to the object. 
		* @returns Function The new function just created. 
		*/
		static interceptAfter( object?:any, methodName?:string, fn?:any, scope?:any ): any;
		/** [Method] Adds behavior to an existing method that is executed before the original behavior of the function  
		* @param object Object The target object 
		* @param methodName String Name of the method to override 
		* @param fn Function Function with the new behavior. It will be called with the same arguments as the original method. The return value of this function will be the return value of the new method. 
		* @param scope Object The scope to execute the interceptor function. Defaults to the object. 
		* @returns Function The new function just created. 
		*/
		static interceptBefore( object?:any, methodName?:string, fn?:any, scope?:any ): any;
		/** [Method] Create a new function from the provided fn the arguments of which are pre set to args  
		* @param fn Function The original function 
		* @param args Array The arguments to pass to new callback 
		* @param scope Object The scope (this reference) in which the function is executed. 
		* @returns Function The new callback function 
		*/
		static pass( fn?:any, args?:any[], scope?:any ): any;
	}
}
declare module Ext.util {
	export interface IFunctions {
	}
	export class Functions {
		/** [Method] Create an alias to the provided method property with name methodName of object  
		* @param object Object/Function 
		* @param methodName String 
		* @returns Function aliasFn 
		*/
		static alias( object?:any, methodName?:string ): any;
		/** [Method] Create a new function from the provided fn change this to the provided scope optionally overrides arguments for the  
		* @param fn Function The function to delegate. 
		* @param scope Object The scope (this reference) in which the function is executed. If omitted, defaults to the default global environment object (usually the browser window). 
		* @param args Array Overrides arguments for the call. (Defaults to the arguments passed by the caller) 
		* @param appendArgs Boolean/Number if True args are appended to call args instead of overriding, if a number the args are inserted at the specified position 
		* @returns Function The new function 
		*/
		static bind( fn?:any, scope?:any, args?:any[], appendArgs?:any ): any;
		/** [Method] Create a clone of the provided method  
		* @param method Function 
		* @returns Function cloneFn 
		*/
		static clone( method?:any ): any;
		/** [Method] Creates a delegate function optionally with a bound scope which when called buffers the execution of the passed fu  
		* @param fn Function The function to invoke on a buffered timer. 
		* @param buffer Number The number of milliseconds by which to buffer the invocation of the function. 
		* @param scope Object The scope (this reference) in which the passed function is executed. If omitted, defaults to the scope specified by the caller. 
		* @param args Array Override arguments for the call. Defaults to the arguments passed by the caller. 
		* @returns Function A function which invokes the passed function after buffering for the specified time. 
		*/
		static createBuffered( fn?:any, buffer?:number, scope?:any, args?:any[] ): any;
		/** [Method] Creates a delegate callback which when called executes after a specific delay  
		* @param fn Function The function which will be called on a delay when the returned function is called. Optionally, a replacement (or additional) argument list may be specified. 
		* @param delay Number The number of milliseconds to defer execution by whenever called. 
		* @param scope Object The scope (this reference) used by the function at execution time. 
		* @param args Array Override arguments for the call. (Defaults to the arguments passed by the caller) 
		* @param appendArgs Boolean/Number if True args are appended to call args instead of overriding, if a number the args are inserted at the specified position. 
		* @returns Function A function which, when called, executes the original function after the specified delay. 
		*/
		static createDelayed( fn?:any, delay?:number, scope?:any, args?:any[], appendArgs?:any ): any;
		/** [Method] Creates an interceptor function  
		* @param origFn Function The original function. 
		* @param newFn Function The function to call before the original 
		* @param scope Object The scope (this reference) in which the passed function is executed. If omitted, defaults to the scope in which the original function is called or the browser window. 
		* @param returnValue Object The value to return if the passed function return false. 
		* @returns Function The new function 
		*/
		static createInterceptor( origFn?:any, newFn?:any, scope?:any, returnValue?:any ): any;
		/** [Method] Create a combined function call sequence of the original function  the passed function  
		* @param originalFn Function The original function. 
		* @param newFn Function The function to sequence 
		* @param scope Object The scope (this reference) in which the passed function is executed. If omitted, defaults to the scope in which the original function is called or the default global environment object (usually the browser window). 
		* @returns Function The new function 
		*/
		static createSequence( originalFn?:any, newFn?:any, scope?:any ): any;
		/** [Method] Creates a throttled version of the passed function which when called repeatedly and rapidly invokes the passed func  
		* @param fn Function The function to execute at a regular time interval. 
		* @param interval Number The interval in milliseconds on which the passed function is executed. 
		* @param scope Object The scope (this reference) in which the passed function is executed. If omitted, defaults to the scope specified by the caller. 
		* @returns Function A function which invokes the passed function at the specified interval. 
		*/
		static createThrottled( fn?:any, interval?:number, scope?:any ): any;
		/** [Method] Calls this function after the number of millseconds specified optionally in a specific scope  
		* @param fn Function The function to defer. 
		* @param millis Number The number of milliseconds for the setTimeout call (if less than or equal to 0 the function is executed immediately) 
		* @param scope Object The scope (this reference) in which the function is executed. If omitted, defaults to the browser window. 
		* @param args Array Overrides arguments for the call. (Defaults to the arguments passed by the caller) 
		* @param appendArgs Boolean/Number if True args are appended to call args instead of overriding, if a number the args are inserted at the specified position 
		* @returns Number The timeout id that can be used with clearTimeout 
		*/
		static defer( fn?:any, millis?:number, scope?:any, args?:any[], appendArgs?:any ): number;
		/** [Method] A very commonly used method throughout the framework  
		* @param setter Function 
		* @returns Function flexSetter 
		*/
		static flexSetter( setter?:any ): any;
		/** [Method] Adds behavior to an existing method that is executed after the original behavior of the function  
		* @param object Object The target object 
		* @param methodName String Name of the method to override 
		* @param fn Function Function with the new behavior. It will be called with the same arguments as the original method. The return value of this function will be the return value of the new method. 
		* @param scope Object The scope to execute the interceptor function. Defaults to the object. 
		* @returns Function The new function just created. 
		*/
		static interceptAfter( object?:any, methodName?:string, fn?:any, scope?:any ): any;
		/** [Method] Adds behavior to an existing method that is executed before the original behavior of the function  
		* @param object Object The target object 
		* @param methodName String Name of the method to override 
		* @param fn Function Function with the new behavior. It will be called with the same arguments as the original method. The return value of this function will be the return value of the new method. 
		* @param scope Object The scope to execute the interceptor function. Defaults to the object. 
		* @returns Function The new function just created. 
		*/
		static interceptBefore( object?:any, methodName?:string, fn?:any, scope?:any ): any;
		/** [Method] Create a new function from the provided fn the arguments of which are pre set to args  
		* @param fn Function The original function 
		* @param args Array The arguments to pass to new callback 
		* @param scope Object The scope (this reference) in which the function is executed. 
		* @returns Function The new callback function 
		*/
		static pass( fn?:any, args?:any[], scope?:any ): any;
	}
}
declare module Ext.fx {
	export interface IAnim extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Boolean) */
		alternate?: boolean;
		/** [Config Option] (Function) */
		callback?: any;
		/** [Config Option] (Number) */
		delay?: number;
		/** [Config Option] (Number) */
		duration?: number;
		/** [Config Option] (Boolean) */
		dynamic?: boolean;
		/** [Config Option] (String) */
		easing?: string;
		/** [Config Option] (Object) */
		from?: any;
		/** [Config Option] (Number) */
		iterations?: number;
		/** [Config Option] (Object) */
		keyframes?: any;
		/** [Config Option] (Boolean) */
		reverse?: boolean;
		/** [Config Option] (Function) */
		scope?: any;
		/** [Config Option] (String/Object) */
		target?: any;
		/** [Config Option] (Object) */
		to?: any;
		/** [Property] (Number) */
		currentIteration?: number;
		/** [Property] (Boolean) */
		isAnimation?: boolean;
		/** [Property] (Boolean) */
		paused?: boolean;
		/** [Property] (Boolean) */
		running?: boolean;
		/** [Property] (Date) */
		startTime?: any;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fire afteranimate event and end the animation  */
		end?(): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.fx {
	export interface IAnimator extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Number) */
		delay?: number;
		/** [Config Option] (Number) */
		duration?: number;
		/** [Config Option] (Boolean) */
		dynamic?: boolean;
		/** [Config Option] (String) */
		easing?: string;
		/** [Config Option] (Number) */
		iterations?: number;
		/** [Config Option] (Object) */
		keyframes?: any;
		/** [Config Option] (Ext.fx.target.Target) */
		target?: Ext.fx.target.ITarget;
		/** [Property] (Number) */
		currentIteration?: number;
		/** [Property] (Boolean) */
		isAnimator?: boolean;
		/** [Property] (Number) */
		keyframeStep?: number;
		/** [Property] (Boolean) */
		paused?: boolean;
		/** [Property] (Boolean) */
		running?: boolean;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fire afteranimate event and end the animation  */
		end?(): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.fx {
	export interface ICubicBezier extends Ext.IBase {
	}
	export class CubicBezier {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.fx {
	export interface IEasing {
	}
	export class Easing {
	}
}
declare module Ext.fx {
	export interface IManager extends Ext.IBase,Ext.fx.IQueue {
	}
	export class Manager {
		/** [Method] Add an Anim to the manager  
		* @param anim Ext.fx.Anim 
		*/
		static addAnim( anim?:Ext.fx.IAnim ): void;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Remove an Anim from the manager  
		* @param anim Ext.fx.Anim 
		*/
		static removeAnim( anim?:Ext.fx.IAnim ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.fx {
	export interface IPropertyHandler extends Ext.IBase {
	}
}
declare module Ext.fx {
	export interface IQueue extends Ext.IBase {
	}
}
declare module Ext.fx.target {
	export interface IComponent extends Ext.fx.target.ITarget {
	}
}
declare module Ext.fx.target {
	export interface ICompositeElement extends Ext.fx.target.IElement {
		/** [Property] (Boolean) */
		isComposite?: boolean;
	}
}
declare module Ext.fx.target {
	export interface ICompositeElementCSS extends Ext.fx.target.ICompositeElement {
	}
}
declare module Ext.fx.target {
	export interface ICompositeSprite extends Ext.fx.target.ISprite {
	}
}
declare module Ext.fx.target {
	export interface IElement extends Ext.fx.target.ITarget {
	}
}
declare module Ext.fx.target {
	export interface IElementCSS extends Ext.fx.target.IElement {
	}
}
declare module Ext.fx.target {
	export interface ISprite extends Ext.fx.target.ITarget {
	}
}
declare module Ext.fx.target {
	export interface ITarget extends Ext.IBase {
	}
}
declare module Ext.grid {
	export interface ICellContext extends Ext.IBase {
		/** [Property] (Boolean) */
		isCellContext?: boolean;
	}
}
declare module Ext.grid {
	export interface ICellEditor extends Ext.IEditor {
		/** [Config Option] (String) */
		alignment?: string;
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (Boolean) */
		hideEl?: boolean;
		/** [Config Option] (Boolean/String) */
		shadow?: any;
	}
}
declare module Ext.grid.column {
	export interface IAction extends Ext.grid.column.IColumn {
		/** [Config Option] (String) */
		altText?: string;
		/** [Config Option] (Boolean) */
		disabled?: boolean;
		/** [Config Option] (Function) */
		getClass?: any;
		/** [Config Option] (Function) */
		getTip?: any;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (String) */
		icon?: string;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (Object[]) */
		items?: any[];
		/** [Config Option] (String) */
		menuText?: string;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		sortable?: boolean;
		/** [Config Option] (Boolean) */
		stopSelection?: boolean;
		/** [Config Option] (String) */
		tooltip?: string;
		/** [Method] Cascades down the component container heirarchy from this component passed in the first call  calling the specified  
		* @param fn Object 
		* @param scope Object 
		* @returns Ext.Container this 
		*/
		cascade?( fn?:any, scope?:any ): Ext.IContainer;
		/** [Method] Renderer closure iterates through items creating an element for each and tagging with an identifying class name x ac  
		* @param v Object 
		* @param meta Object 
		* @param record Object 
		* @param rowIdx Object 
		* @param colIdx Object 
		* @param store Object 
		* @param view Object 
		*/
		defaultRenderer?( v?:any, meta?:any, record?:any, rowIdx?:any, colIdx?:any, store?:any, view?:any ): void;
		/** [Method] Disables this ActionColumn s action at the specified index  
		* @param index Number/Ext.grid.column.Action 
		* @param silent Boolean 
		*/
		disableAction?( index?:any, silent?:boolean ): void;
		/** [Method] Enables this ActionColumn s action at the specified index  
		* @param index Number/Ext.grid.column.Action 
		* @param silent Boolean 
		*/
		enableAction?( index?:any, silent?:boolean ): void;
		/** [Method] Private override because this cannot function as a Container and it has an items property which is an Array NOT a M  */
		getRefItems?(): void;
	}
}
declare module Ext.grid {
	export interface IActionColumn extends Ext.grid.column.IColumn {
		/** [Config Option] (String) */
		altText?: string;
		/** [Config Option] (Boolean) */
		disabled?: boolean;
		/** [Config Option] (Function) */
		getClass?: any;
		/** [Config Option] (Function) */
		getTip?: any;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (String) */
		icon?: string;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (Object[]) */
		items?: any[];
		/** [Config Option] (String) */
		menuText?: string;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		sortable?: boolean;
		/** [Config Option] (Boolean) */
		stopSelection?: boolean;
		/** [Config Option] (String) */
		tooltip?: string;
		/** [Method] Cascades down the component container heirarchy from this component passed in the first call  calling the specified  
		* @param fn Object 
		* @param scope Object 
		* @returns Ext.Container this 
		*/
		cascade?( fn?:any, scope?:any ): Ext.IContainer;
		/** [Method] Renderer closure iterates through items creating an element for each and tagging with an identifying class name x ac  
		* @param v Object 
		* @param meta Object 
		* @param record Object 
		* @param rowIdx Object 
		* @param colIdx Object 
		* @param store Object 
		* @param view Object 
		*/
		defaultRenderer?( v?:any, meta?:any, record?:any, rowIdx?:any, colIdx?:any, store?:any, view?:any ): void;
		/** [Method] Disables this ActionColumn s action at the specified index  
		* @param index Number/Ext.grid.column.Action 
		* @param silent Boolean 
		*/
		disableAction?( index?:any, silent?:boolean ): void;
		/** [Method] Enables this ActionColumn s action at the specified index  
		* @param index Number/Ext.grid.column.Action 
		* @param silent Boolean 
		*/
		enableAction?( index?:any, silent?:boolean ): void;
		/** [Method] Private override because this cannot function as a Container and it has an items property which is an Array NOT a M  */
		getRefItems?(): void;
	}
}
declare module Ext.grid.column {
	export interface IBoolean extends Ext.grid.column.IColumn {
		/** [Config Option] (String) */
		falseText?: string;
		/** [Config Option] (String) */
		trueText?: string;
		/** [Config Option] (String) */
		undefinedText?: string;
	}
}
declare module Ext.grid {
	export interface IBooleanColumn extends Ext.grid.column.IColumn {
		/** [Config Option] (String) */
		falseText?: string;
		/** [Config Option] (String) */
		trueText?: string;
		/** [Config Option] (String) */
		undefinedText?: string;
	}
}
declare module Ext.grid.column {
	export interface ICheckColumn extends Ext.grid.column.IColumn {
		/** [Config Option] (Boolean) */
		stopSelection?: boolean;
		/** [Config Option] (String) */
		tdCls?: string;
		/** [Method] Disables this CheckColumn  
		* @param silent Boolean 
		*/
		onDisable?( silent?:boolean ): void;
		/** [Method] Enables this CheckColumn  
		* @param silent Boolean 
		*/
		onEnable?( silent?:boolean ): void;
	}
}
declare module Ext.ux {
	export interface ICheckColumn extends Ext.grid.column.IColumn {
		/** [Config Option] (Boolean) */
		stopSelection?: boolean;
		/** [Config Option] (String) */
		tdCls?: string;
		/** [Method] Disables this CheckColumn  
		* @param silent Boolean 
		*/
		onDisable?( silent?:boolean ): void;
		/** [Method] Enables this CheckColumn  
		* @param silent Boolean 
		*/
		onEnable?( silent?:boolean ): void;
	}
}
declare module Ext.grid.column {
	export interface IColumn extends Ext.grid.header.IContainer {
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Object[]) */
		columns?: any[];
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		dataIndex?: string;
		/** [Config Option] (Boolean) */
		detachOnRemove?: boolean;
		/** [Config Option] (Boolean) */
		draggable?: boolean;
		/** [Config Option] (Function) */
		editRenderer?: any;
		/** [Config Option] (Object/String) */
		editor?: any;
		/** [Config Option] (String) */
		emptyCellText?: string;
		/** [Config Option] (Object/String) */
		field?: any;
		/** [Config Option] (Boolean) */
		fixed?: boolean;
		/** [Config Option] (Boolean) */
		groupable?: boolean;
		/** [Config Option] (String) */
		header?: string;
		/** [Config Option] (Boolean) */
		hideable?: boolean;
		/** [Config Option] (Boolean) */
		lockable?: boolean;
		/** [Config Option] (Boolean) */
		locked?: boolean;
		/** [Config Option] (Boolean) */
		menuDisabled?: boolean;
		/** [Config Option] (String) */
		menuText?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Function/String) */
		renderer?: any;
		/** [Config Option] (Boolean) */
		resizable?: boolean;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		sortable?: boolean;
		/** [Config Option] (String) */
		stateId?: string;
		/** [Config Option] (String) */
		tdCls?: string;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (String) */
		tooltip?: string;
		/** [Config Option] (String) */
		tooltipType?: string;
		/** [Property] (Boolean) */
		isColumn?: boolean;
		/** [Property] (Boolean) */
		isHeader?: boolean;
		/** [Property] (Ext.Element) */
		textEl?: Ext.IElement;
		/** [Property] (Ext.Element) */
		triggerEl?: Ext.IElement;
		/** [Method] private Inform the header container about the resize 
		* @param width Object 
		* @param height Object 
		* @param oldWidth Object 
		* @param oldHeight Object 
		*/
		afterComponentLayout?( width?:any, height?:any, oldWidth?:any, oldHeight?:any ): void;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Sizes this Column to fit the max content width  
		* @param The Ext.grid.column.Column/Number header (or index of header) to auto size. 
		*/
		autoSize?( The?:any ): void;
		/** [Method] When defined this will take precedence over the renderer config  */
		defaultRenderer?(): void;
		/** [Method] Retrieves the editing field for editing associated with this header  
		* @param record Object The Model instance being edited. 
		* @param defaultField Object An object representing a default field to be created 
		* @returns any field 
		*/
		getEditor?( record?:any, defaultField?:any ): any;
		/** [Method] Returns the index of this column only if this column is a base level Column  
		* @returns Number 
		*/
		getIndex?(): number;
		/** [Method] Returns the parameter to sort upon when sorting this header  
		* @returns String 
		*/
		getSortParam?(): string;
		/** [Method] Returns the index of this column in the list of visible columns only if this column is a base level Column  
		* @returns Number 
		*/
		getVisibleIndex?(): number;
		/** [Method] Hides this Component setting it to invisible using the configured hideMode  
		* @param fromOwner Object 
		* @returns Ext.Component this 
		*/
		hide?( fromOwner?:any ): Ext.IComponent;
		/** [Method] Initialized the renderData to be used when rendering the renderTpl  
		* @returns Object Object with keys and values that are going to be applied to the renderTpl 
		*/
		initRenderData?(): any;
		/** [Method] Determines whether the UI should be allowed to offer an option to hide this column  */
		isHideable?(): void;
		/** [Method] Determines whether the UI should be allowed to offer an option to lock or unlock this column  */
		isLockable?(): void;
		/** [Method] Invalidate column cache on add We cannot refresh the View on every add because this method is called when the HeaderD  
		* @param child Object 
		*/
		onAdd?( child?:any ): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Invalidate column cache on remove We cannot refresh the View on every remove because this method is called when the H  
		* @param child Object 
		*/
		onRemove?( child?:any ): void;
		/** [Method] Sets the form field to be used for editing  
		* @param field Object An object representing a field to be created. If no xtype is specified a 'textfield' is assumed. 
		*/
		setEditor?( field?:any ): void;
		/** [Method] Sets the header text for this Column  
		* @param text String The header to display on this Column. 
		*/
		setText?( text?:string ): void;
		/** [Method] Shows this Component rendering it first if autoRender or floating are true  
		* @param fromOwner Object 
		* @param fromChild Object 
		* @returns Ext.Component this 
		*/
		show?( fromOwner?:any, fromChild?:any ): Ext.IComponent;
	}
}
declare module Ext.grid {
	export interface IColumn extends Ext.grid.header.IContainer {
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Object[]) */
		columns?: any[];
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		dataIndex?: string;
		/** [Config Option] (Boolean) */
		detachOnRemove?: boolean;
		/** [Config Option] (Boolean) */
		draggable?: boolean;
		/** [Config Option] (Function) */
		editRenderer?: any;
		/** [Config Option] (Object/String) */
		editor?: any;
		/** [Config Option] (String) */
		emptyCellText?: string;
		/** [Config Option] (Object/String) */
		field?: any;
		/** [Config Option] (Boolean) */
		fixed?: boolean;
		/** [Config Option] (Boolean) */
		groupable?: boolean;
		/** [Config Option] (String) */
		header?: string;
		/** [Config Option] (Boolean) */
		hideable?: boolean;
		/** [Config Option] (Boolean) */
		lockable?: boolean;
		/** [Config Option] (Boolean) */
		locked?: boolean;
		/** [Config Option] (Boolean) */
		menuDisabled?: boolean;
		/** [Config Option] (String) */
		menuText?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Function/String) */
		renderer?: any;
		/** [Config Option] (Boolean) */
		resizable?: boolean;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		sortable?: boolean;
		/** [Config Option] (String) */
		stateId?: string;
		/** [Config Option] (String) */
		tdCls?: string;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (String) */
		tooltip?: string;
		/** [Config Option] (String) */
		tooltipType?: string;
		/** [Property] (Boolean) */
		isColumn?: boolean;
		/** [Property] (Boolean) */
		isHeader?: boolean;
		/** [Property] (Ext.Element) */
		textEl?: Ext.IElement;
		/** [Property] (Ext.Element) */
		triggerEl?: Ext.IElement;
		/** [Method] private Inform the header container about the resize 
		* @param width Object 
		* @param height Object 
		* @param oldWidth Object 
		* @param oldHeight Object 
		*/
		afterComponentLayout?( width?:any, height?:any, oldWidth?:any, oldHeight?:any ): void;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Sizes this Column to fit the max content width  
		* @param The Ext.grid.column.Column/Number header (or index of header) to auto size. 
		*/
		autoSize?( The?:any ): void;
		/** [Method] When defined this will take precedence over the renderer config  */
		defaultRenderer?(): void;
		/** [Method] Retrieves the editing field for editing associated with this header  
		* @param record Object The Model instance being edited. 
		* @param defaultField Object An object representing a default field to be created 
		* @returns any field 
		*/
		getEditor?( record?:any, defaultField?:any ): any;
		/** [Method] Returns the index of this column only if this column is a base level Column  
		* @returns Number 
		*/
		getIndex?(): number;
		/** [Method] Returns the parameter to sort upon when sorting this header  
		* @returns String 
		*/
		getSortParam?(): string;
		/** [Method] Returns the index of this column in the list of visible columns only if this column is a base level Column  
		* @returns Number 
		*/
		getVisibleIndex?(): number;
		/** [Method] Hides this Component setting it to invisible using the configured hideMode  
		* @param fromOwner Object 
		* @returns Ext.Component this 
		*/
		hide?( fromOwner?:any ): Ext.IComponent;
		/** [Method] Initialized the renderData to be used when rendering the renderTpl  
		* @returns Object Object with keys and values that are going to be applied to the renderTpl 
		*/
		initRenderData?(): any;
		/** [Method] Determines whether the UI should be allowed to offer an option to hide this column  */
		isHideable?(): void;
		/** [Method] Determines whether the UI should be allowed to offer an option to lock or unlock this column  */
		isLockable?(): void;
		/** [Method] Invalidate column cache on add We cannot refresh the View on every add because this method is called when the HeaderD  
		* @param child Object 
		*/
		onAdd?( child?:any ): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Invalidate column cache on remove We cannot refresh the View on every remove because this method is called when the H  
		* @param child Object 
		*/
		onRemove?( child?:any ): void;
		/** [Method] Sets the form field to be used for editing  
		* @param field Object An object representing a field to be created. If no xtype is specified a 'textfield' is assumed. 
		*/
		setEditor?( field?:any ): void;
		/** [Method] Sets the header text for this Column  
		* @param text String The header to display on this Column. 
		*/
		setText?( text?:string ): void;
		/** [Method] Shows this Component rendering it first if autoRender or floating are true  
		* @param fromOwner Object 
		* @param fromChild Object 
		* @returns Ext.Component this 
		*/
		show?( fromOwner?:any, fromChild?:any ): Ext.IComponent;
	}
}
declare module Ext.grid.column {
	export interface IDate extends Ext.grid.column.IColumn {
		/** [Config Option] (String) */
		format?: string;
		/** [Method] When defined this will take precedence over the renderer config  
		* @param value Object 
		*/
		defaultRenderer?( value?:any ): void;
	}
}
declare module Ext.grid {
	export interface IDateColumn extends Ext.grid.column.IColumn {
		/** [Config Option] (String) */
		format?: string;
		/** [Method] When defined this will take precedence over the renderer config  
		* @param value Object 
		*/
		defaultRenderer?( value?:any ): void;
	}
}
declare module Ext.grid.column {
	export interface INumber extends Ext.grid.column.IColumn {
		/** [Config Option] (String) */
		format?: string;
	}
}
declare module Ext.grid {
	export interface INumberColumn extends Ext.grid.column.IColumn {
		/** [Config Option] (String) */
		format?: string;
	}
}
declare module Ext.grid.column {
	export interface IRowNumberer extends Ext.grid.column.IColumn {
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (String) */
		dataIndex?: string;
		/** [Config Option] (Boolean) */
		draggable?: boolean;
		/** [Config Option] (Boolean) */
		hideable?: boolean;
		/** [Config Option] (Boolean) */
		lockable?: boolean;
		/** [Config Option] (Boolean) */
		menuDisabled?: boolean;
		/** [Config Option] (Boolean) */
		resizable?: boolean;
		/** [Config Option] (String) */
		tdCls?: string;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (Number) */
		width?: number;
	}
}
declare module Ext.grid {
	export interface IRowNumberer extends Ext.grid.column.IColumn {
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (String) */
		dataIndex?: string;
		/** [Config Option] (Boolean) */
		draggable?: boolean;
		/** [Config Option] (Boolean) */
		hideable?: boolean;
		/** [Config Option] (Boolean) */
		lockable?: boolean;
		/** [Config Option] (Boolean) */
		menuDisabled?: boolean;
		/** [Config Option] (Boolean) */
		resizable?: boolean;
		/** [Config Option] (String) */
		tdCls?: string;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (Number) */
		width?: number;
	}
}
declare module Ext.grid.column {
	export interface ITemplate extends Ext.grid.column.IColumn {
		/** [Config Option] (String/Ext.XTemplate) */
		tpl?: any;
		/** [Method] When defined this will take precedence over the renderer config  
		* @param value Object 
		* @param meta Object 
		* @param record Object 
		*/
		defaultRenderer?( value?:any, meta?:any, record?:any ): void;
	}
}
declare module Ext.grid {
	export interface ITemplateColumn extends Ext.grid.column.IColumn {
		/** [Config Option] (String/Ext.XTemplate) */
		tpl?: any;
		/** [Method] When defined this will take precedence over the renderer config  
		* @param value Object 
		* @param meta Object 
		* @param record Object 
		*/
		defaultRenderer?( value?:any, meta?:any, record?:any ): void;
	}
}
declare module Ext.grid {
	export interface IColumnComponentLayout extends Ext.layout.component.IAuto {
		/** [Config Option] (Boolean) */
		setWidthInDom?: boolean;
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
	}
}
declare module Ext.grid {
	export interface IColumnLayout extends Ext.layout.container.IHBox {
		/** [Method] Collect the height of the table of data upon layout begin 
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] This method if implemented is called at the end of the cycle in which this layout completes by not setting done to  
		* @param ownerContext Object 
		*/
		completeLayout?( ownerContext?:any ): void;
		/** [Method] A one time initialization method called just before rendering  */
		initLayout?(): void;
	}
}
declare module Ext.grid {
	export interface IColumnManager extends Ext.IBase {
		/** [Method] Get a leaf level header by index regardless of what the nesting structure is  
		* @param index Number The column index for which to retrieve the column. 
		* @returns Ext.grid.column.Column The header. null if it doesn't exist. 
		*/
		getHeaderAtIndex?( index?:number ): Ext.grid.column.IColumn;
		/** [Method] Get a leaf level header by index regardless of what the nesting structure is  
		* @param id String The id 
		* @returns Ext.grid.column.Column The header. null if it doesn't exist. 
		*/
		getHeaderById?( id?:string ): Ext.grid.column.IColumn;
		/** [Method] Returns the index of a leaf level header regardless of what the nesting structure is  
		* @param header Ext.grid.column.Column The header to find the index of 
		* @returns Number The index of the specified column header 
		*/
		getHeaderIndex?( header?:Ext.grid.column.IColumn ): number;
		/** [Method] When passed a column index returns the closet visible column to that  
		* @param index Number Position at which to find the closest visible column. 
		*/
		getVisibleHeaderClosestToIndex?( index?:number ): void;
	}
}
declare module Ext.grid {
	export interface IColumnModel extends Ext.IBase {
		/** [Method] Get a leaf level header by index regardless of what the nesting structure is  
		* @param index Number The column index for which to retrieve the column. 
		* @returns Ext.grid.column.Column The header. null if it doesn't exist. 
		*/
		getHeaderAtIndex?( index?:number ): Ext.grid.column.IColumn;
		/** [Method] Get a leaf level header by index regardless of what the nesting structure is  
		* @param id String The id 
		* @returns Ext.grid.column.Column The header. null if it doesn't exist. 
		*/
		getHeaderById?( id?:string ): Ext.grid.column.IColumn;
		/** [Method] Returns the index of a leaf level header regardless of what the nesting structure is  
		* @param header Ext.grid.column.Column The header to find the index of 
		* @returns Number The index of the specified column header 
		*/
		getHeaderIndex?( header?:Ext.grid.column.IColumn ): number;
		/** [Method] When passed a column index returns the closet visible column to that  
		* @param index Number Position at which to find the closest visible column. 
		*/
		getVisibleHeaderClosestToIndex?( index?:number ): void;
	}
}
declare module Ext.grid.feature {
	export interface IAbstractSummary extends Ext.grid.feature.IFeature {
		/** [Config Option] (String) */
		remoteRoot?: string;
		/** [Config Option] (Boolean) */
		showSummaryRow?: boolean;
		/** [Method] Toggle whether or not to show the summary row  
		* @param visible Boolean True to show the summary row 
		*/
		toggleSummaryRow?( visible?:boolean ): void;
	}
}
declare module Ext.grid.feature {
	export interface IFeature extends Ext.util.IObservable {
		/** [Property] (Boolean) */
		disabled?: boolean;
		/** [Property] (String) */
		eventPrefix?: string;
		/** [Property] (String) */
		eventSelector?: string;
		/** [Property] (Ext.grid.Panel) */
		grid?: Ext.grid.IPanel;
		/** [Property] (Boolean) */
		hasFeatureEvent?: boolean;
		/** [Property] (Ext.view.Table) */
		view?: Ext.view.ITable;
		/** [Method] Disables the feature  */
		disable?(): void;
		/** [Method] Enables the feature  */
		enable?(): void;
		/** [Method] Abstract method to be overriden when a feature should add additional arguments to its event signature  
		* @param eventName Object 
		* @param view Object 
		* @param featureTarget Object 
		* @param e Object 
		*/
		getFireEventArgs?( eventName?:any, view?:any, featureTarget?:any, e?:any ): void;
	}
}
declare module Ext.grid.feature {
	export interface IGrouping extends Ext.grid.feature.IFeature,Ext.grid.feature.IAbstractSummary {
		/** [Config Option] (Boolean) */
		collapsible?: boolean;
		/** [Config Option] (Number) */
		depthToIndent?: number;
		/** [Config Option] (Boolean) */
		enableGroupingMenu?: boolean;
		/** [Config Option] (Boolean) */
		enableNoGroups?: boolean;
		/** [Config Option] (String) */
		groupByText?: string;
		/** [Config Option] (String/Array/Ext.Template) */
		groupHeaderTpl?: any;
		/** [Config Option] (Boolean) */
		hideGroupedHeader?: boolean;
		/** [Config Option] (String) */
		showGroupsText?: string;
		/** [Config Option] (Boolean) */
		showSummaryRow?: boolean;
		/** [Config Option] (Boolean) */
		startCollapsed?: boolean;
		/** [Property] (String) */
		eventPrefix?: string;
		/** [Property] (String) */
		eventSelector?: string;
		/** [Method] Collapse a group 
		* @param groupName String The group name 
		* @param focus Boolean Pass true to focus the group after expand. 
		*/
		collapse?( groupName?:string, focus?:boolean ): void;
		/** [Method] Collapse all groups */
		collapseAll?(): void;
		/** [Method] Disables the feature  */
		disable?(): void;
		/** [Method] Enables the feature  */
		enable?(): void;
		/** [Method] Expand a group 
		* @param groupName String The group name 
		* @param focus Boolean Pass true to focus the group after expand. 
		*/
		expand?( groupName?:string, focus?:boolean ): void;
		/** [Method] Expand all groups */
		expandAll?(): void;
		/** [Method] Abstract method to be overriden when a feature should add additional arguments to its event signature  
		* @param type Object 
		* @param view Object 
		* @param targetEl Object 
		* @param e Object 
		*/
		getFireEventArgs?( type?:any, view?:any, targetEl?:any, e?:any ): void;
		/** [Method] Returns the group data object for the group to which the passed record belongs if the Store is grouped  
		* @param record Ext.data.Model The record for which to return group information. 
		* @returns Object A single group data block as returned from Store.getGroups. Returns undefined if the Store is not grouped. 
		*/
		getRecordGroup?( record?:Ext.data.IModel ): any;
		/** [Method] Returns true if the named group is expanded  
		* @param groupName String The group name as returned from getGroupString. This is usually the value of the groupField. 
		* @returns Boolean true if the group defined by that value is expanded. 
		*/
		isExpanded?( groupName?:string ): boolean;
		/** [Method] Toggle whether or not to show the summary row  
		* @param visible Boolean True to show the summary row 
		*/
		toggleSummaryRow?( visible?:boolean ): void;
	}
}
declare module Ext.grid.feature {
	export interface IGroupingSummary extends Ext.grid.feature.IGrouping {
		/** [Config Option] (Boolean) */
		showSummaryRow?: boolean;
	}
}
declare module Ext.grid.feature {
	export interface IGroupStore extends Ext.util.IObservable {
		/** [Method] Get the index within the entire dataset  
		* @param record Ext.data.Model The Ext.data.Model object to find. 
		* @returns Number The index of the passed Record. Returns -1 if not found. 
		*/
		indexOfTotal?( record?:Ext.data.IModel ): number;
	}
}
declare module Ext.grid.feature {
	export interface IRowBody extends Ext.grid.feature.IFeature {
		/** [Property] (String) */
		eventPrefix?: string;
		/** [Property] (String) */
		eventSelector?: string;
		/** [Method] Provides additional data to the prepareData call within the grid view  
		* @param data Object The data for this particular record. 
		* @param idx Number The row index for this record. 
		* @param record Ext.data.Model The record instance 
		* @param orig Object The original result from the prepareData call to massage. 
		*/
		getAdditionalData?( data?:any, idx?:number, record?:Ext.data.IModel, orig?:any ): void;
	}
}
declare module Ext.grid.feature {
	export interface IRowWrap extends Ext.grid.feature.IFeature {
		/** [Property] (Boolean) */
		hasFeatureEvent?: boolean;
	}
}
declare module Ext.grid.feature {
	export interface ISummary extends Ext.grid.feature.IAbstractSummary {
		/** [Config Option] (String) */
		dock?: string;
	}
}
declare module Ext.grid.header {
	export interface IContainer extends Ext.container.IContainer {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number/String/Boolean) */
		border?: any;
		/** [Config Option] (String) */
		defaultType?: string;
		/** [Config Option] (Number) */
		defaultWidth?: number;
		/** [Config Option] (Boolean) */
		detachOnRemove?: boolean;
		/** [Config Option] (Boolean) */
		enableColumnHide?: boolean;
		/** [Config Option] (Boolean) */
		sealed?: boolean;
		/** [Config Option] (Boolean) */
		sortable?: boolean;
		/** [Config Option] (Number) */
		weight?: number;
		/** [Property] (Boolean) */
		isGroupHeader?: boolean;
		/** [Method] Returns the number of grid columns descended from this HeaderContainer  */
		getColumnCount?(): void;
		/** [Method] Returns an array of menu CheckItems corresponding to all immediate children of the passed Container which have been c  
		* @param headerContainer Object 
		*/
		getColumnMenu?( headerContainer?:any ): void;
		/** [Method] Gets the full width of all columns that are visible  */
		getFullWidth?(): void;
		/** [Method] Returns an array of all columns which appear in the grid s View  
		* @param inResult Object 
		* @param hiddenAncestor Object 
		* @returns Array 
		*/
		getGridColumns?( inResult?:any, hiddenAncestor?:any ): any[];
		/** [Method] Get a leaf level header by index regardless of what the nesting structure is  
		* @param index Number The column index for which to retrieve the column. 
		*/
		getHeaderAtIndex?( index?:number ): void;
		/** [Method] Returns the index of a leaf level header regardless of what the nesting structure is  
		* @param header Ext.grid.column.Column The header to find the index of 
		* @returns Number The index of the specified column header 
		*/
		getHeaderIndex?( header?:Ext.grid.column.IColumn ): number;
		/** [Method] Returns an array of menu items to be placed into the shared menu across all headers in this header container  
		* @returns Array menuItems 
		*/
		getMenuItems?(): any[];
		/** [Method] Returns an array of the visible columns in the grid  
		* @returns Array 
		*/
		getVisibleGridColumns?(): any[];
		/** [Method] When passed a column index returns the closet visible column to that  
		* @param index Number Position at which to find the closest visible column. 
		*/
		getVisibleHeaderClosestToIndex?( index?:number ): void;
		/** [Method] Determines whether this Component is the root of a layout  */
		isLayoutRoot?(): void;
		/** [Method] Invalidate column cache on add We cannot refresh the View on every add because this method is called when the HeaderD  
		* @param c Object 
		*/
		onAdd?( c?:any ): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Invalidate column cache on remove We cannot refresh the View on every remove because this method is called when the H  
		* @param c Object 
		*/
		onRemove?( c?:any ): void;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
	}
}
declare module Ext.grid.header {
	export interface IDragZone extends Ext.dd.IDragZone {
		/** [Method] Called when a mousedown occurs in this container  
		* @param e Object 
		* @returns Object The dragData 
		*/
		getDragData?( e?:any ): any;
		/** [Method] Called before a repair of an invalid drop to get the XY to animate to  
		* @returns Number[] The xy location (e.g. [100, 200]) 
		*/
		getRepairXY?(): number[];
		/** [Method] An empty function by default but provided so that you can perform a custom action before the initial drag event begi  
		* @returns Boolean isValid True if the drag event is valid, else false to cancel 
		*/
		onBeforeDrag?(): boolean;
		/** [Method] Called once drag threshold has been reached to initialize the proxy element  
		* @returns Boolean true to continue the drag, false to cancel 
		*/
		onInitDrag?(): boolean;
	}
}
declare module Ext.grid.header {
	export interface IDropZone extends Ext.dd.IDropZone {
		/** [Method] Returns a custom data object associated with the DOM node that is the target of the event  
		* @param e Object 
		* @returns Object data The custom data 
		*/
		getTargetFromEvent?( e?:any ): any;
		/** [Method] Called when the DropZone determines that a Ext dd DragSource has been dropped onto the drop node  
		* @param node Object 
		* @param dragZone Object 
		* @param e Object 
		* @param data Object 
		* @returns Boolean True if the drop was valid, else false 
		*/
		onNodeDrop?( node?:any, dragZone?:any, e?:any, data?:any ): boolean;
		/** [Method] Called when the DropZone determines that a Ext dd DragSource has been dragged out of the drop node without dropping  */
		onNodeOut?(): void;
		/** [Method] Called while the DropZone determines that a Ext dd DragSource is over a drop node that has either been registered or 
		* @param node Object 
		* @param dragZone Object 
		* @param e Object 
		* @param data Object 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		onNodeOver?( node?:any, dragZone?:any, e?:any, data?:any ): string;
	}
}
declare module Ext.grid.locking {
	export interface IHeaderContainer extends Ext.grid.header.IContainer {
		/** [Method] This is the function which all other column access methods are based upon Return the full column set for the whole Lo  
		* @returns Array 
		*/
		getGridColumns?(): any[];
		/** [Method] Used by ComponentQuery child and down to retrieve all of the items which can potentially be considered a child of th  */
		getRefItems?(): void;
	}
}
declare module Ext.grid.locking {
	export interface ILockable extends Ext.IBase {
		/** [Config Option] (Object) */
		lockedGridConfig?: any;
		/** [Config Option] (Object) */
		lockedViewConfig?: any;
		/** [Config Option] (Object) */
		normalGridConfig?: any;
		/** [Config Option] (Object) */
		normalViewConfig?: any;
		/** [Config Option] (Number) */
		scrollDelta?: number;
		/** [Config Option] (String) */
		subGridXType?: string;
		/** [Config Option] (Boolean) */
		syncRowHeight?: boolean;
		/** [Method] Synchronizes the row heights between the locked and non locked portion of the grid for each row  */
		syncRowHeights?(): void;
	}
}
declare module Ext.grid {
	export interface ILockable extends Ext.IBase {
		/** [Config Option] (Object) */
		lockedGridConfig?: any;
		/** [Config Option] (Object) */
		lockedViewConfig?: any;
		/** [Config Option] (Object) */
		normalGridConfig?: any;
		/** [Config Option] (Object) */
		normalViewConfig?: any;
		/** [Config Option] (Number) */
		scrollDelta?: number;
		/** [Config Option] (String) */
		subGridXType?: string;
		/** [Config Option] (Boolean) */
		syncRowHeight?: boolean;
		/** [Method] Synchronizes the row heights between the locked and non locked portion of the grid for each row  */
		syncRowHeights?(): void;
	}
}
declare module Ext.grid.locking {
	export interface IView extends Ext.IBase,Ext.util.IObservable {
		/** [Property] (Boolean) */
		isLockingView?: boolean;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.grid {
	export interface ILockingView extends Ext.IBase,Ext.util.IObservable {
		/** [Property] (Boolean) */
		isLockingView?: boolean;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.grid {
	export interface IPanel extends Ext.panel.ITable {
		/** [Config Option] (Ext.grid.column.Column[]/Object) */
		columns?: any;
		/** [Config Option] (Boolean) */
		rowLines?: boolean;
		/** [Config Option] (String) */
		viewType?: string;
		/** [Method] Reconfigures the grid with a new store columns  
		* @param store Ext.data.Store The new store. 
		* @param columns Object[] An array of column configs 
		*/
		reconfigure?( store?:Ext.data.IStore, columns?:any[] ): void;
	}
}
declare module Ext.list {
	export interface IListView extends Ext.panel.ITable {
		/** [Config Option] (Ext.grid.column.Column[]/Object) */
		columns?: any;
		/** [Config Option] (Boolean) */
		rowLines?: boolean;
		/** [Config Option] (String) */
		viewType?: string;
		/** [Method] Reconfigures the grid with a new store columns  
		* @param store Ext.data.Store The new store. 
		* @param columns Object[] An array of column configs 
		*/
		reconfigure?( store?:Ext.data.IStore, columns?:any[] ): void;
	}
}
declare module Ext {
	export interface IListView extends Ext.panel.ITable {
		/** [Config Option] (Ext.grid.column.Column[]/Object) */
		columns?: any;
		/** [Config Option] (Boolean) */
		rowLines?: boolean;
		/** [Config Option] (String) */
		viewType?: string;
		/** [Method] Reconfigures the grid with a new store columns  
		* @param store Ext.data.Store The new store. 
		* @param columns Object[] An array of column configs 
		*/
		reconfigure?( store?:Ext.data.IStore, columns?:any[] ): void;
	}
}
declare module Ext.grid {
	export interface IGridPanel extends Ext.panel.ITable {
		/** [Config Option] (Ext.grid.column.Column[]/Object) */
		columns?: any;
		/** [Config Option] (Boolean) */
		rowLines?: boolean;
		/** [Config Option] (String) */
		viewType?: string;
		/** [Method] Reconfigures the grid with a new store columns  
		* @param store Ext.data.Store The new store. 
		* @param columns Object[] An array of column configs 
		*/
		reconfigure?( store?:Ext.data.IStore, columns?:any[] ): void;
	}
}
declare module Ext.grid.plugin {
	export interface IBufferedRenderer extends Ext.IAbstractPlugin {
		/** [Config Option] (Number) */
		leadingBufferZone?: number;
		/** [Config Option] (Number) */
		numFromEdge?: number;
		/** [Config Option] (Number) */
		percentageFromEdge?: number;
		/** [Config Option] (Number) */
		scrollToLoadBuffer?: number;
		/** [Config Option] (Boolean) */
		synchronousRender?: boolean;
		/** [Config Option] (Number) */
		trailingBufferZone?: number;
		/** [Config Option] (Boolean) */
		variableRowHeight?: boolean;
		/** [Property] (Number) */
		position?: number;
		/** [Method] The destroy method is invoked by the owning Component at the time the Component is being destroyed  */
		destroy?(): void;
		/** [Method] Initialize this as a plugin 
		* @param grid Object 
		*/
		init?( grid?:any ): void;
		/** [Method] Scrolls to and optionlly selects the specified row index in the total dataset  
		* @param recordIdx Number The zero-based position in the dataset to scroll to. 
		* @param doSelect Boolean Pass as true to select the specified row. 
		* @param callback Function A function to call when the row has been scrolled to. 
		* @param scope Object The scope (this reference) in which to execute the callback. Defaults to this BufferedRenderer. 
		*/
		scrollTo?( recordIdx?:number, doSelect?:boolean, callback?:any, scope?:any ): void;
	}
}
declare module Ext.grid.plugin {
	export interface ICellEditing extends Ext.grid.plugin.IEditing {
		/** [Method] Cancels any active editing  */
		cancelEdit?(): void;
		/** [Method] Completes the edit if there is an active edit in progress  */
		completeEdit?(): void;
		/** [Method] Starts editing the specified record using the specified Column definition to define which field is being edited  
		* @param record Ext.data.Model/Number The Store data record which backs the row to be edited, or index of the record. 
		* @param columnHeader Ext.grid.column.Column/Number The Column object defining the column to be edited, or index of the column. 
		* @returns Boolean true if editing was started, false otherwise. 
		*/
		startEdit?( record?:any, columnHeader?:any ): boolean;
		/** [Method] Starts editing by position row column  
		* @param position Object A position with keys of row and column. 
		*/
		startEditByPosition?( position?:any ): void;
	}
}
declare module Ext.grid.plugin {
	export interface IDragDrop extends Ext.IAbstractPlugin {
		/** [Config Option] (Object/Boolean) */
		containerScroll?: any;
		/** [Config Option] (String) */
		ddGroup?: string;
		/** [Config Option] (String) */
		dragGroup?: string;
		/** [Config Option] (String) */
		dragText?: string;
		/** [Config Option] (String) */
		dropGroup?: string;
		/** [Config Option] (Boolean) */
		enableDrag?: boolean;
		/** [Config Option] (Boolean) */
		enableDrop?: boolean;
		/** [Method] The base implementation just sets the plugin s disabled flag to true Plugin subclasses which need more complex proce  */
		disable?(): void;
		/** [Method] The base implementation just sets the plugin s disabled flag to false Plugin subclasses which need more complex proc  */
		enable?(): void;
		/** [Method] The init method is invoked after initComponent method has been run for the client Component  
		* @param view Object 
		*/
		init?( view?:any ): void;
	}
}
declare module Ext.grid.plugin {
	export interface IEditing extends Ext.IAbstractPlugin,Ext.util.IObservable {
		/** [Config Option] (Number) */
		clicksToEdit?: number;
		/** [Config Option] (String) */
		triggerEvent?: string;
		/** [Property] (Boolean) */
		editing?: boolean;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Cancels any active edit that is in progress  */
		cancelEdit?(): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Completes the edit if there is an active edit in progress  */
		completeEdit?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Starts editing the specified record using the specified Column definition to define which field is being edited  
		* @param record Ext.data.Model/Number The Store data record which backs the row to be edited, or index of the record in Store. 
		* @param columnHeader Ext.grid.column.Column/Number The Column object defining the column to be edited, or index of the column. 
		*/
		startEdit?( record?:any, columnHeader?:any ): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.grid.plugin {
	export interface IHeaderReorderer extends Ext.IAbstractPlugin {
		/** [Method] The base implementation just sets the plugin s disabled flag to true Plugin subclasses which need more complex proce  */
		disable?(): void;
		/** [Method] The base implementation just sets the plugin s disabled flag to false Plugin subclasses which need more complex proc  */
		enable?(): void;
		/** [Method] The init method is invoked after initComponent method has been run for the client Component  
		* @param headerCt Object 
		*/
		init?( headerCt?:any ): void;
	}
}
declare module Ext.grid.plugin {
	export interface IHeaderResizer extends Ext.IAbstractPlugin {
		/** [Config Option] (Boolean) */
		dynamic?: boolean;
		/** [Method] The base implementation just sets the plugin s disabled flag to true Plugin subclasses which need more complex proce  */
		disable?(): void;
		/** [Method] The base implementation just sets the plugin s disabled flag to false Plugin subclasses which need more complex proc  */
		enable?(): void;
		/** [Method] Returns the value of dynamic  
		* @returns Boolean 
		*/
		getDynamic?(): boolean;
		/** [Method] not using w and e resize bc we are only ever resizing one column wResizeCursor Ext isWebKit w resize  col resi  
		* @param headerCt Object 
		*/
		init?( headerCt?:any ): void;
		/** [Method] Sets the value of dynamic  
		* @param dynamic Boolean 
		*/
		setDynamic?( dynamic?:boolean ): void;
	}
}
declare module Ext.grid.plugin {
	export interface IRowEditing extends Ext.grid.plugin.IEditing {
		/** [Config Option] (Boolean) */
		autoCancel?: boolean;
		/** [Config Option] (Number) */
		clicksToMoveEditor?: number;
		/** [Config Option] (Boolean) */
		errorSummary?: boolean;
		/** [Method] Starts editing the specified record using the specified Column definition to define which field is being edited  
		* @param record Ext.data.Model The Store data record which backs the row to be edited. 
		* @param columnHeader Ext.data.Model The Column object defining the column to be edited. 
		* @returns Boolean true if editing was started, false otherwise. 
		*/
		startEdit?( record?:Ext.data.IModel, columnHeader?:Ext.data.IModel ): boolean;
	}
}
declare module Ext.grid.plugin {
	export interface IRowExpander extends Ext.IAbstractPlugin {
		/** [Config Option] (Boolean) */
		expandOnDblClick?: boolean;
		/** [Config Option] (Boolean) */
		expandOnEnter?: boolean;
		/** [Config Option] (Boolean) */
		selectRowOnExpand?: boolean;
		/** [Method] The init method is invoked after initComponent method has been run for the client Component  
		* @param grid Object 
		*/
		init?( grid?:any ): void;
	}
}
declare module Ext.grid.property {
	export interface IGrid extends Ext.grid.IPanel {
		/** [Config Option] (Boolean) */
		columnLines?: boolean;
		/** [Config Option] (Object) */
		customEditors?: any;
		/** [Config Option] (Object) */
		customRenderers?: any;
		/** [Config Option] (Boolean) */
		enableColumnMove?: boolean;
		/** [Config Option] (Boolean) */
		inferTypes?: boolean;
		/** [Config Option] (Number/String) */
		nameColumnWidth?: any;
		/** [Config Option] (String) */
		nameField?: string;
		/** [Config Option] (Object) */
		propertyNames?: any;
		/** [Config Option] (Object) */
		source?: any;
		/** [Config Option] (Object) */
		sourceConfig?: any;
		/** [Config Option] (String) */
		valueField?: string;
		/** [Method] Gets the source data object containing the property data  
		* @returns Object The data object. 
		*/
		getSource?(): any;
		/** [Method] Removes a property from the grid  
		* @param prop String The name of the property to remove. 
		*/
		removeProperty?( prop?:string ): void;
		/** [Method] Sets the value of a property  
		* @param prop String The name of the property to set. 
		* @param value Object The value to test. 
		* @param create Boolean true to create the property if it doesn't already exist. 
		*/
		setProperty?( prop?:string, value?:any, create?:boolean ): void;
		/** [Method] Sets the source data object containing the property data  
		* @param source Object The data object. 
		* @param sourceConfig Object A new object. If this argument is not passed the current configuration will be re-used. To reset the config, pass null or an empty object literal. 
		*/
		setSource?( source?:any, sourceConfig?:any ): void;
	}
}
declare module Ext.grid {
	export interface IPropertyGrid extends Ext.grid.IPanel {
		/** [Config Option] (Boolean) */
		columnLines?: boolean;
		/** [Config Option] (Object) */
		customEditors?: any;
		/** [Config Option] (Object) */
		customRenderers?: any;
		/** [Config Option] (Boolean) */
		enableColumnMove?: boolean;
		/** [Config Option] (Boolean) */
		inferTypes?: boolean;
		/** [Config Option] (Number/String) */
		nameColumnWidth?: any;
		/** [Config Option] (String) */
		nameField?: string;
		/** [Config Option] (Object) */
		propertyNames?: any;
		/** [Config Option] (Object) */
		source?: any;
		/** [Config Option] (Object) */
		sourceConfig?: any;
		/** [Config Option] (String) */
		valueField?: string;
		/** [Method] Gets the source data object containing the property data  
		* @returns Object The data object. 
		*/
		getSource?(): any;
		/** [Method] Removes a property from the grid  
		* @param prop String The name of the property to remove. 
		*/
		removeProperty?( prop?:string ): void;
		/** [Method] Sets the value of a property  
		* @param prop String The name of the property to set. 
		* @param value Object The value to test. 
		* @param create Boolean true to create the property if it doesn't already exist. 
		*/
		setProperty?( prop?:string, value?:any, create?:boolean ): void;
		/** [Method] Sets the source data object containing the property data  
		* @param source Object The data object. 
		* @param sourceConfig Object A new object. If this argument is not passed the current configuration will be re-used. To reset the config, pass null or an empty object literal. 
		*/
		setSource?( source?:any, sourceConfig?:any ): void;
	}
}
declare module Ext.grid.property {
	export interface IHeaderContainer extends Ext.grid.header.IContainer {
	}
}
declare module Ext.grid {
	export interface IPropertyColumnModel extends Ext.grid.header.IContainer {
	}
}
declare module Ext.grid.property {
	export interface IProperty extends Ext.data.IModel {
		/** [Config Option] (String/Object/Ext.data.Field) */
		idProperty?: any;
		/** [Property] (Ext.util.MixedCollection) */
		fields?: Ext.util.IMixedCollection;
	}
}
declare module Ext {
	export interface IPropGridProperty extends Ext.data.IModel {
		/** [Config Option] (String/Object/Ext.data.Field) */
		idProperty?: any;
		/** [Property] (Ext.util.MixedCollection) */
		fields?: Ext.util.IMixedCollection;
	}
}
declare module Ext.grid.property {
	export interface IStore extends Ext.data.IStore {
		/** [Config Option] (Boolean) */
		sortOnLoad?: boolean;
		/** [Method] Return a singleton customized Proxy object which configures itself with a custom Reader 
		* @returns Ext.data.proxy.Proxy The Proxy instance 
		*/
		getProxy?(): Ext.data.proxy.IProxy;
	}
}
declare module Ext.grid {
	export interface IPropertyStore extends Ext.data.IStore {
		/** [Config Option] (Boolean) */
		sortOnLoad?: boolean;
		/** [Method] Return a singleton customized Proxy object which configures itself with a custom Reader 
		* @returns Ext.data.proxy.Proxy The Proxy instance 
		*/
		getProxy?(): Ext.data.proxy.IProxy;
	}
}
declare module Ext.grid {
	export interface IRowEditor extends Ext.form.IPanel {
		/** [Config Option] (Number/String/Boolean) */
		border?: any;
		/** [Config Option] (String) */
		hideMode?: string;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Lie to the CQ system about our nesting structure  */
		getRefItems?(): void;
		/** [Method] Convenience function to check if the form has any dirty fields  
		* @returns Boolean 
		*/
		isDirty?(): boolean;
		/** [Method] Loads an Ext data Model into this form internally just calls Ext form Basic loadRecord See also trackResetOnLoad  
		* @param record Object 
		* @returns Ext.form.Basic The Ext.form.Basic attached to this FormPanel 
		*/
		loadRecord?( record?:any ): Ext.form.IBasic;
		/** [Method] Possibly animates down to a target element  */
		onHide?(): void;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method] Start editing the specified grid at the specified position  
		* @param record Ext.data.Model The Store data record which backs the row to be edited. 
		* @param columnHeader Ext.data.Model The Column object defining the column to be edited. 
		*/
		startEdit?( record?:Ext.data.IModel, columnHeader?:Ext.data.IModel ): void;
	}
}
declare module Ext.grid {
	export interface IRowEditorButtons extends Ext.container.IContainer {
		/** [Config Option] (Boolean) */
		frame?: boolean;
		/** [Config Option] (Boolean/Number) */
		shrinkWrap?: any;
	}
}
declare module Ext.grid {
	export interface IView extends Ext.view.ITable {
		/** [Config Option] (Boolean) */
		autoScroll?: boolean;
		/** [Config Option] (Boolean) */
		stripeRows?: boolean;
	}
}
declare module Ext.grid {
	export interface IViewDropZone extends Ext.view.IDropZone {
	}
}
declare module Ext {
	export interface IImg extends Ext.IComponent {
		/** [Config Option] (String) */
		alt?: string;
		/** [Config Option] (String/Object) */
		autoEl?: any;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number/String) */
		glyph?: any;
		/** [Config Option] (String) */
		imgCls?: string;
		/** [Config Option] (String) */
		src?: string;
		/** [Config Option] (String) */
		title?: string;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
		/** [Method] Updates the src of the image  
		* @param src String 
		*/
		setSrc?( src?:string ): void;
	}
}
declare module Ext {
	export interface IIs {
	}
	export class Is {
	}
}
declare module Ext {
		/** [Property] (String) */
		export var BLANK_IMAGE_URL: string;
		/** [Property] (String) */
		export var SSL_SECURE_URL: string;
		/** [Property] (Boolean) */
		export var USE_NATIVE_JSON: boolean;
		/** [Property] (Number) */
		export var chromeVersion: number;
		/** [Property] (Function) */
		export var emptyFn: any;
		/** [Property] (Object) */
		export var emptyString: any;
		/** [Property] (Boolean) */
		export var enableFx: boolean;
		/** [Property] (Boolean) */
		export var enableGarbageCollector: boolean;
		/** [Property] (Boolean) */
		export var enableListenerCollection: boolean;
		/** [Property] (Boolean) */
		export var enableNestedListenerRemoval: boolean;
		/** [Property] (String[]) */
		export var enumerables: string[];
		/** [Property] (Number) */
		export var firefoxVersion: number;
		/** [Property] (Ext.util.Observable) */
		export var globalEvents: Ext.util.IObservable;
		/** [Property] (Number) */
		export var ieVersion: number;
		/** [Property] (Boolean) */
		export var isChrome: boolean;
		/** [Property] (Boolean) */
		export var isFF10: boolean;
		/** [Property] (Boolean) */
		export var isFF3_0: boolean;
		/** [Property] (Boolean) */
		export var isFF3_5: boolean;
		/** [Property] (Boolean) */
		export var isFF3_6: boolean;
		/** [Property] (Boolean) */
		export var isFF4: boolean;
		/** [Property] (Boolean) */
		export var isFF5: boolean;
		/** [Property] (Boolean) */
		export var isGecko: boolean;
		/** [Property] (Boolean) */
		export var isGecko10: boolean;
		/** [Property] (Boolean) */
		export var isGecko3: boolean;
		/** [Property] (Boolean) */
		export var isGecko4: boolean;
		/** [Property] (Boolean) */
		export var isGecko5: boolean;
		/** [Property] (Boolean) */
		export var isIE: boolean;
		/** [Property] (Boolean) */
		export var isIE10: boolean;
		/** [Property] (Boolean) */
		export var isIE10m: boolean;
		/** [Property] (Boolean) */
		export var isIE10p: boolean;
		/** [Property] (Boolean) */
		export var isIE6: boolean;
		/** [Property] (Boolean) */
		export var isIE7: boolean;
		/** [Property] (Boolean) */
		export var isIE7m: boolean;
		/** [Property] (Boolean) */
		export var isIE7p: boolean;
		/** [Property] (Boolean) */
		export var isIE8: boolean;
		/** [Property] (Boolean) */
		export var isIE8m: boolean;
		/** [Property] (Boolean) */
		export var isIE8p: boolean;
		/** [Property] (Boolean) */
		export var isIE9: boolean;
		/** [Property] (Boolean) */
		export var isIE9m: boolean;
		/** [Property] (Boolean) */
		export var isIE9p: boolean;
		/** [Property] (Boolean) */
		export var isLinux: boolean;
		/** [Property] (Boolean) */
		export var isMac: boolean;
		/** [Property] (Boolean) */
		export var isOpera: boolean;
		/** [Property] (Boolean) */
		export var isOpera10_5: boolean;
		/** [Property] (Boolean) */
		export var isReady: boolean;
		/** [Property] (Boolean) */
		export var isSafari: boolean;
		/** [Property] (Boolean) */
		export var isSafari2: boolean;
		/** [Property] (Boolean) */
		export var isSafari3: boolean;
		/** [Property] (Boolean) */
		export var isSafari4: boolean;
		/** [Property] (Boolean) */
		export var isSafari5: boolean;
		/** [Property] (Boolean) */
		export var isSafari5_0: boolean;
		/** [Property] (Boolean) */
		export var isSecure: boolean;
		/** [Property] (Boolean) */
		export var isWebKit: boolean;
		/** [Property] (Boolean) */
		export var isWindows: boolean;
		/** [Property] (String) */
		export var name: string;
		/** [Property] (Number) */
		export var operaVersion: number;
		/** [Property] (Number) */
		export var safariVersion: number;
		/** [Property] (Boolean) */
		export var useShims: boolean;
		/** [Property] (Number) */
		export var webKitVersion: number;
		/** [Method] Applies event listeners to elements by selectors when the document is ready  
		* @param obj Object The list of behaviors to apply 
		*/
		export function addBehaviors( obj?:any ): void;
		/** [Method] Adds namespace s to known list  
		* @param namespace String/String[] 
		*/
		export function addNamespaces( namespace?:any ): void;
		/** [Method] Loads Ext app Application class and starts it up with given configuration after the page is ready  
		* @param config Object/String Application config object or name of a class derived from Ext.app.Application. 
		*/
		export function application( config?:any ): void;
		/** [Method] Copies all the properties of config to the specified object  
		* @param object Object The receiver of the properties 
		* @param config Object The source of the properties 
		* @param defaults Object A different object that will also be applied for default values 
		* @returns Object returns obj 
		*/
		export function apply( object?:any, config?:any, defaults?:any ): any;
		/** [Method] Copies all the properties of config to object if they don t already exist  
		* @param object Object The receiver of the properties 
		* @param config Object The source of the properties 
		* @returns Object returns obj 
		*/
		export function applyIf( object?:any, config?:any ): any;
		/** [Method] Utility wrapper that suspends layouts of all components for the duration of a given function  
		* @param fn Function The function to execute. 
		* @param scope Object The scope (this reference) in which the specified function is executed. 
		*/
		export function batchLayouts( fn?:any, scope?:any ): void;
		/** [Method] Create a new function from the provided fn change this to the provided scope optionally overrides arguments for the  
		* @param fn Function The function to delegate. 
		* @param scope Object The scope (this reference) in which the function is executed. If omitted, defaults to the default global environment object (usually the browser window). 
		* @param args Array Overrides arguments for the call. (Defaults to the arguments passed by the caller) 
		* @param appendArgs Boolean/Number if True args are appended to call args instead of overriding, if a number the args are inserted at the specified position 
		* @returns Function The new function 
		*/
		export function bind( fn?:any, scope?:any, args?:any[], appendArgs?:any ): any;
		/** [Method] Execute a callback function in a particular scope  
		* @param callback Function The callback to execute 
		* @param scope Object The scope to execute in 
		* @param args Array The arguments to pass to the function 
		* @param delay Number Pass a number to delay the call by a number of milliseconds. 
		* @returns Object The value returned by the callback or undefined (if there is a delay or if the callback is not a function). 
		*/
		export function callback( callback?:any, scope?:any, args?:any[], delay?:number ): any;
		/** [Method] Old alias to Ext Array clean 
		* @param array Array 
		* @returns Array results 
		*/
		export function clean( array?:any[] ): any[];
		/** [Method] Clone simple variables including array  like objects DOM nodes and Date without keeping the old reference  
		* @param item Object The variable to clone 
		* @returns Object clone 
		*/
		export function clone( item?:any ): any;
		/** [Method] Coerces the first value if possible so that it is comparable to the second value  
		* @param from Mixed The value to coerce 
		* @param to Mixed The value it must be compared against 
		* @returns Object The coerced value. 
		*/
		export function coerce( from?:any, to?:any ): any;
		/** [Method] Copies a set of named properties fom the source object to the destination object  
		* @param dest Object The destination object. 
		* @param source Object The source object. 
		* @param names String/String[] Either an Array of property names, or a comma-delimited list of property names to copy. 
		* @param usePrototypeKeys Boolean Defaults to false. Pass true to copy keys off of the prototype as well as the instance. 
		* @returns Object The modified object. 
		*/
		export function copyTo( dest?:any, source?:any, names?:any, usePrototypeKeys?:boolean ): any;
		/** [Method] Instantiate a class by either full name alias or alternate name  
		* @param name String The class name or alias. Can be specified as xclass property if only one object parameter is specified. 
		* @param args Object... Additional arguments after the name will be passed to the class' constructor. 
		* @returns Object instance 
		*/
		export function create( name:string, ...args:any[] ): any;
		/** [Method] Instantiate a class by its alias  
		* @param alias String 
		* @param args Object... Additional arguments after the alias will be passed to the class constructor. 
		* @returns Object instance 
		*/
		export function createByAlias( alias:string, ...args:any[] ): any;
		/** [Method] Old name for widget  */
		export function createWidget(): void;
		/** [Method] Shorthand for Ext JSON decode 
		* @param json String The JSON string 
		* @param safe Boolean True to return null, false to throw an exception if the JSON is invalid. 
		* @returns Object The resulting object 
		*/
		export function decode( json?:string, safe?:boolean ): any;
		/** [Method] Calls this function after the number of millseconds specified optionally in a specific scope  
		* @param fn Function The function to defer. 
		* @param millis Number The number of milliseconds for the setTimeout call (if less than or equal to 0 the function is executed immediately) 
		* @param scope Object The scope (this reference) in which the function is executed. If omitted, defaults to the browser window. 
		* @param args Array Overrides arguments for the call. (Defaults to the arguments passed by the caller) 
		* @param appendArgs Boolean/Number if True args are appended to call args instead of overriding, if a number the args are inserted at the specified position 
		* @returns Number The timeout id that can be used with clearTimeout 
		*/
		export function defer( fn?:any, millis?:number, scope?:any, args?:any[], appendArgs?:any ): number;
		/** [Method] Defines a class or override  
		* @param className String The class name to create in string dot-namespaced format, for example: 'My.very.awesome.Class', 'FeedViewer.plugin.CoolPager' It is highly recommended to follow this simple convention: - The root and the class name are 'CamelCased' - Everything else is lower-cased Pass null to create an anonymous class. 
		* @param data Object The key - value pairs of properties to apply to this class. Property names can be of any valid strings, except those in the reserved listed below: - mixins - statics - config - alias - self - singleton - alternateClassName - override 
		* @param createdFn Function Optional callback to execute after the class is created, the execution scope of which (this) will be the newly created class itself. 
		* @returns Ext.Base 
		*/
		export function define( className?:string, data?:any, createdFn?:any ): Ext.IBase;
		/** [Method] Create a closure for deprecated code  
		* @param packageName String The package name 
		* @param since String The last version before it's deprecated 
		* @param closure Function The callback function to be executed with the specified version is less than the current version 
		* @param scope Object The execution scope (this) if the closure 
		*/
		export function deprecate( packageName?:string, since?:string, closure?:any, scope?:any ): void;
		/** [Method] Attempts to destroy any objects passed to it by removing all event listeners removing them from the DOM if applicab  
		* @param args Ext.dom.Element/Ext.util.Observable/Ext.dom.Element[]/Ext.util.Observable[]... Any number of elements or components, or an Array of either of these to destroy. 
		*/
		export function destroy( args?:any ): void;
		/** [Method] Attempts to destroy and then remove a set of named properties of the passed object  
		* @param o Object The object (most likely a Component) who's properties you wish to destroy. 
		* @param args String... One or more names of the properties to destroy and remove from the object. 
		*/
		export function destroyMembers( o:any, ...args:any[] ): void;
		/** [Method] Iterates an array or an iterable value and invoke the given callback function for each item  
		* @param iterable Array/NodeList/Object The value to be iterated. If this argument is not iterable, the callback function is called once. 
		* @param fn Function The callback function. If it returns false, the iteration stops and this method returns the current index. 
		* @param scope Object The scope (this reference) in which the specified function is executed. 
		* @param reverse Boolean Reverse the iteration order (loop from the end to the beginning) Defaults false 
		* @returns Boolean See description for the fn parameter. 
		*/
		export function each( iterable?:any, fn?:any, scope?:any, reverse?:boolean ): boolean;
		/** [Method] Shorthand for Ext JSON encode 
		* @param o Object The variable to encode 
		* @returns String The JSON string 
		*/
		export function encode( o?:any ): string;
		/** [Method] Escapes the passed string for use in a regular expression  
		* @param str String 
		* @returns String 
		*/
		export function escapeRe( str?:string ): string;
		/** [Method] Convenient shortcut to Ext Loader exclude 
		* @param excludes Array 
		* @returns Object object contains require method for chaining 
		*/
		export function exclude( excludes?:any[] ): any;
		/** [Method] This method deprecated  
		* @param superclass Function 
		* @param overrides Object 
		* @returns Function The subclass constructor from the overrides parameter, or a generated one if not provided. 
		*/
		export function extend( superclass?:any, overrides?:any ): any;
		/** [Method] Old alias to Ext Array flatten 
		* @param array Array The array to flatten 
		* @returns Array The 1-d array. 
		*/
		export function flatten( array?:any[] ): any[];
		/** [Method] Gets the singleton flyweight element with the passed node as the active element  
		* @param dom String/HTMLElement The dom node or id 
		* @param named String Allows for creation of named reusable flyweights to prevent conflicts (e.g. internally Ext uses "_global") 
		* @returns Ext.dom.Element.Fly The singleton flyweight object (or null if no matching element was found) 
		*/
		export function fly( dom?:any, named?:string ): Ext.dom.element.IFly;
		/** [Method] Retrieves Ext dom Element objects  
		* @param el String/HTMLElement/Ext.Element The id of the node, a DOM Node or an existing Element. 
		* @returns Ext.dom.Element The Element object (or null if no matching element was found) 
		*/
		export function get( el?:any ): Ext.dom.IElement;
		/** [Method] Returns the current document body as an Ext Element  
		* @returns Ext.Element The document body 
		*/
		export function getBody(): Ext.IElement;
		/** [Method] Get the class of the provided object returns null if it s not an instance of any class created with Ext define  
		* @param object Object 
		* @returns Ext.Class class 
		*/
		export function getClass( object?:any ): Ext.IClass;
		/** [Method] Get the name of the class by its reference or its instance  Ext ClassManager getName is usually invoked by the short  
		* @param object Ext.Class/Object 
		* @returns String className 
		*/
		export function getClassName( object?:any ): string;
		/** [Method] This is shorthand reference to Ext ComponentManager get  
		* @param id String The component id 
		* @returns Object Ext.Component The Component, undefined if not found, or null if a Class was found. 
		*/
		export function getCmp( id?:string ): any;
		/** [Method] Returns the current HTML document object as an Ext Element  
		* @returns Ext.Element The document 
		*/
		export function getDoc(): Ext.IElement;
		/** [Method] Returns the dom node for the passed String id  dom node or Ext Element  
		* @param el String/HTMLElement/Ext.Element 
		* @returns Object HTMLElement 
		*/
		export function getDom( el?:any ): any;
		/** [Method] Returns the current document head as an Ext Element  
		* @returns Ext.Element The document head 
		*/
		export function getHead(): Ext.IElement;
		/** [Method] Get namespace prefix for a class name  
		* @param className String 
		* @returns String Namespace prefix if it's known, otherwise undefined 
		*/
		export function getNamespace( className?:string ): string;
		/** [Method] Returns the current orientation of the mobile device 
		* @returns String Either 'portrait' or 'landscape' 
		*/
		export function getOrientation(): string;
		/** [Method] Utility method for getting the width of the browser s vertical scrollbar  
		* @param force Boolean true to force a recalculation of the value. 
		* @returns Number The width of a vertical scrollbar. 
		*/
		export function getScrollBarWidth( force?:boolean ): number;
		/** [Method] Returns the size of the browser scrollbars  
		* @param force Boolean true to force a recalculation of the value. 
		* @returns Object An object containing scrollbar sizes. 
		*/
		export function getScrollbarSize( force?:boolean ): any;
		/** [Method] Shortcut to Ext data StoreManager lookup  
		* @param store String/Object The id of the Store, or a Store instance, or a store configuration 
		* @returns Ext.data.Store 
		*/
		export function getStore( store?:any ): Ext.data.IStore;
		/** [Method] Get the version number of the supplied package name will return the last registered version last Ext setVersion cal  
		* @param packageName String The package name, for example: 'core', 'touch', 'extjs' 
		* @returns Ext.Version The version 
		*/
		export function getVersion( packageName?:string ): Ext.IVersion;
		/** [Method] Old alias to Ext String htmlDecode 
		* @param value String The string to decode. 
		* @returns String The decoded text. 
		*/
		export function htmlDecode( value?:string ): string;
		/** [Method] Old alias to Ext String htmlEncode 
		* @param value String The string to encode. 
		* @returns String The encoded text. 
		*/
		export function htmlEncode( value?:string ): string;
		/** [Method] Generates unique ids  
		* @param el HTMLElement/Ext.Element The element to generate an id for 
		* @param prefix String Id prefix (defaults "ext-gen") 
		* @returns String The generated Id. 
		*/
		export function id( el?:any, prefix?:string ): string;
		/** [Method] A reusable identity function  
		* @param o Object 
		*/
		export function identityFn( o?:any ): void;
		/** [Method] Invokes a method on each item in an Array  
		* @param arr Array/NodeList The Array of items to invoke the method on. 
		* @param methodName String The method name to invoke. 
		* @param args Object... Arguments to send into the method invocation. 
		* @returns Array The results of invoking the method on each item in the array. 
		*/
		export function invoke( arr:any, methodName:string, ...args:any[] ): any[];
		/** [Method] Returns true if the passed value is a JavaScript Array false otherwise  
		* @param target Object The target to test 
		* @returns Boolean 
		*/
		export function isArray( target?:any ): boolean;
		/** [Method] Returns true if the passed value is a boolean  
		* @param value Object The value to test 
		* @returns Boolean 
		*/
		export function isBoolean( value?:any ): boolean;
		/** [Method] Returns true if the passed value is a JavaScript Date object false otherwise  
		* @param object Object The object to test 
		* @returns Boolean 
		*/
		export function isDate( object?:any ): boolean;
		/** [Method] Returns true if the passed value is defined  
		* @param value Object The value to test 
		* @returns Boolean 
		*/
		export function isDefined( value?:any ): boolean;
		/** [Method] Returns true if the passed value is an HTMLElement 
		* @param value Object The value to test 
		* @returns Boolean 
		*/
		export function isElement( value?:any ): boolean;
		/** [Method] Returns true if the passed value is empty false otherwise  
		* @param value Object The value to test 
		* @param allowEmptyString Boolean true to allow empty strings (defaults to false) 
		* @returns Boolean 
		*/
		export function isEmpty( value?:any, allowEmptyString?:boolean ): boolean;
		/** [Method] Returns true if the passed value is a JavaScript Function false otherwise  
		* @param value Object The value to test 
		* @returns Boolean 
		*/
		export function isFunction( value?:any ): boolean;
		/** [Method] Returns true if the passed value is iterable that is if elements of it are addressable using array notation with nu  
		* @param value Object The value to test 
		* @returns Boolean 
		*/
		export function isIterable( value?:any ): boolean;
		/** [Method] Returns true if the passed value is a number  
		* @param value Object The value to test 
		* @returns Boolean 
		*/
		export function isNumber( value?:any ): boolean;
		/** [Method] Validates that a value is numeric  
		* @param value Object Examples: 1, '1', '2.34' 
		* @returns Boolean True if numeric, false otherwise 
		*/
		export function isNumeric( value?:any ): boolean;
		/** [Method] Returns true if the passed value is a JavaScript Object false otherwise  
		* @param value Object The value to test 
		* @returns Boolean 
		*/
		export function isObject( value?:any ): boolean;
		/** [Method] Returns true if the passed value is a JavaScript primitive  a string number or boolean  
		* @param value Object The value to test 
		* @returns Boolean 
		*/
		export function isPrimitive( value?:any ): boolean;
		/** [Method] Returns true if the passed value is a string  
		* @param value Object The value to test 
		* @returns Boolean 
		*/
		export function isString( value?:any ): boolean;
		/** [Method] Returns true if the passed value is a TextNode 
		* @param value Object The value to test 
		* @returns Boolean 
		*/
		export function isTextNode( value?:any ): boolean;
		/** [Method] Iterates either an array or an object  
		* @param object Object/Array The object or array to be iterated. 
		* @param fn Function The function to be called for each iteration. See and Ext.Array.each and Ext.Object.each for detailed lists of arguments passed to this function depending on the given object type that is being iterated. 
		* @param scope Object The scope (this reference) in which the specified function is executed. Defaults to the object being iterated itself. 
		*/
		export function iterate( object?:any, fn?:any, scope?:any ): void;
		/** [Method] Logs a message  
		* @param options String/Object The message to log or an options object with any of the following properties:  msg: The message to log (required). level: One of: "error", "warn", "info" or "log" (the default is "log"). dump: An object to dump to the log as part of the message. stack: True to include a stack trace in the log. indent: Cause subsequent log statements to be indented one step. outdent: Cause this and following statements to be one step less indented.  
		* @param message String... The message to log (required unless specified in options object). 
		*/
		export function log( options:any, ...message:any[] ): void;
		/** [Method] Old alias to Ext Array max 
		* @param array Array/NodeList The Array from which to select the maximum value. 
		* @param comparisonFn Function a function to perform the comparision which determines maximization. If omitted the ">" operator will be used. Note: gt = 1; eq = 0; lt = -1 
		* @returns Object maxValue The maximum value 
		*/
		export function max( array?:any, comparisonFn?:any ): any;
		/** [Method] Old alias to Ext Array mean 
		* @param array Array The Array to calculate the mean value of. 
		* @returns Number The mean. 
		*/
		export function mean( array?:any[] ): number;
		/** [Method] A convenient alias method for Ext Object merge  
		* @param destination Object The object into which all subsequent objects are merged. 
		* @param object Object... Any number of objects to merge into the destination. 
		* @returns Object merged The destination object with all passed objects merged in. 
		*/
		export function merge( destination:any, ...object:any[] ): any;
		/** [Method] Old alias to Ext Array min 
		* @param array Array/NodeList The Array from which to select the minimum value. 
		* @param comparisonFn Function a function to perform the comparision which determines minimization. If omitted the "&lt;" operator will be used. Note: gt = 1; eq = 0; lt = -1 
		* @returns Object minValue The minimum value 
		*/
		export function min( array?:any, comparisonFn?:any ): any;
		/** [Method] Creates namespaces to be used for scoping variables and classes so that they are not global  
		* @param namespaces String... 
		* @returns Object The namespace object. (If multiple arguments are passed, this will be the last namespace created) 
		*/
		export function namespace( ...namespaces:any[] ): any;
		/** [Method] Convenient alias for Ext namespace  
		* @param namespaces String... 
		* @returns Object The namespace object. (If multiple arguments are passed, this will be the last namespace created) 
		*/
		export function ns( ...namespaces:any[] ): any;
		/** [Method] Validate that a value is numeric and convert it to a number if necessary  
		* @param value Object 
		* @param defaultValue Number The value to return if the original value is non-numeric 
		* @returns Number value, if numeric, defaultValue otherwise 
		*/
		export function num( value?:any, defaultValue?:number ): number;
		/** [Method] Shorthand for the Ext util Observable addListener method of the globalEvents Observable instance  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		export function on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds a listener to be notified when the document is ready before onload and before images are loaded 
		* @param fn Function The method the event invokes. 
		* @param scope Object The scope (this reference) in which the handler function executes. Defaults to the browser window. 
		* @param options Object Options object as passed to Ext.Element.addListener. 
		*/
		export function onDocumentReady( fn?:any, scope?:any, options?:any ): void;
		/** [Method] Adds a function to be called when the DOM is ready and all required classes have been loaded  
		* @param fn Function The function callback to be executed 
		* @param scope Object The execution scope (this reference) of the callback function 
		* @param options Object The options to modify the listener as passed to addListener. 
		*/
		export function onReady( fn?:any, scope?:any, options?:any ): void;
		/** [Method] Overrides members of the specified target with the given values  
		* @param target Object The target to override. 
		* @param overrides Object The properties to add or replace on target. 
		*/
		export function override( target?:any, overrides?:any ): void;
		/** [Method] Partitions the set into two sets a true set and a false set  
		* @param arr Array/NodeList The array to partition 
		* @param truth Function a function to determine truth. If this is omitted the element itself must be able to be evaluated for its truthfulness. 
		* @returns Array [array of truish values, array of falsy values] 
		*/
		export function partition( arr?:any, truth?:any ): any[];
		/** [Method] Create a new function from the provided fn the arguments of which are pre set to args  
		* @param fn Function The original function 
		* @param args Array The arguments to pass to new callback 
		* @param scope Object The scope (this reference) in which the function is executed. 
		* @returns Function The new callback function 
		*/
		export function pass( fn?:any, args?:any[], scope?:any ): any;
		/** [Method] Old alias to Ext Array pluck 
		* @param array Array/NodeList The Array of items to pluck the value from. 
		* @param propertyName String The property name to pluck from each element. 
		* @returns Array The value from each item in the Array. 
		*/
		export function pluck( array?:any, propertyName?:string ): any[];
		/** [Method] Shorthand for Ext PluginManager registerType 
		* @param ptype String The ptype mnemonic string by which the Plugin class may be looked up. 
		* @param cls Function The new Plugin class. 
		*/
		export function preg( ptype?:string, cls?:any ): void;
		/** [Method] Shorthand of Ext dom Query select 
		* @param path String The selector/xpath query 
		* @param root HTMLElement The start of the query. 
		* @param type String Either "select" or "simple" for a simple selector match (only valid when used when the call is deferred to the jsSelect method) 
		* @param single Boolean Pass true to select only the first matching node using document.querySelector (where available) 
		* @returns HTMLElement[] An array of DOM elements (not a NodeList as returned by querySelectorAll). 
		*/
		export function query( path?:string, root?:HTMLElement, type?:string, single?:boolean ): HTMLElement[];
		/** [Method] Old way for creating Model classes  
		* @param name String Name of the Model class. 
		* @param config Object A configuration object for the Model you wish to create. 
		* @returns Ext.data.Model The newly registered Model 
		*/
		export function regModel( name?:string, config?:any ): Ext.data.IModel;
		/** [Method] Creates a new store for the given id and config then registers it with the Store Manager  
		* @param id String The id to set on the new store 
		* @param config Object The store config 
		*/
		export function regStore( id?:string, config?:any ): void;
		/** [Method] Removes a DOM node from the document  
		* @param node HTMLElement The node to remove 
		*/
		export function removeNode( node?:HTMLElement ): void;
		/** [Method] Loads all classes by the given names and all their direct dependencies optionally executes the given callback functi  
		* @param expressions String/Array Can either be a string or an array of string 
		* @param fn Function The callback function 
		* @param scope Object The execution scope (this) of the callback function 
		* @param excludes String/Array Classes to be excluded, useful when being used with expressions 
		*/
		export function require( expressions?:any, fn?:any, scope?:any, excludes?:any ): void;
		/** [Method]  
		* @param flush Object 
		*/
		export function resumeLayouts( flush?:any ): void;
		/** [Method] Shorthand of Ext Element select  
		* @param selector String The CSS selector 
		* @param unique Boolean True to create a unique Ext.Element for each element. Defaults to a shared flyweight object. 
		* @returns Ext.CompositeElement The composite element 
		*/
		export function select( selector?:string, unique?:boolean ): Ext.ICompositeElement;
		/** [Method] Sets the default font family to use for components that support a glyph config  
		* @param fontFamily String The name of the font-family 
		*/
		export function setGlyphFontFamily( fontFamily?:string ): void;
		/** [Method] Set version number for the given package name  
		* @param packageName String The package name, for example: 'core', 'touch', 'extjs' 
		* @param version String/Ext.Version The version, for example: '1.2.3alpha', '2.4.0-dev' 
		* @returns any 
		*/
		export function setVersion( packageName?:string, version?:any ): any;
		/** [Method] Old alias to Ext Array sum 
		* @param array Array The Array to calculate the sum value of. 
		* @returns Number The sum. 
		*/
		export function sum( array?:any[] ): number;
		/** [Method]  */
		export function suspendLayouts(): void;
		/** [Method] Synchronously loads all classes by the given names and all their direct dependencies optionally executes the given c  
		* @param expressions String/Array Can either be a string or an array of string 
		* @param fn Function The callback function 
		* @param scope Object The execution scope (this) of the callback function 
		* @param excludes String/Array Classes to be excluded, useful when being used with expressions 
		*/
		export function syncRequire( expressions?:any, fn?:any, scope?:any, excludes?:any ): void;
		/** [Method] Converts any iterable numeric indices and a length property into a true array  
		* @param iterable Object the iterable object to be turned into a true Array. 
		* @param start Number a zero-based index that specifies the start of extraction. Defaults to 0 
		* @param end Number a 1-based index that specifies the end of extraction. Defaults to the last index of the iterable value 
		* @returns Array array 
		*/
		export function toArray( iterable?:any, start?:number, end?:number ): any[];
		/** [Method] Turns an array into a sentence joined by a specified connector  e g Ext toSentence  Adama Tigh Roslin  
		* @param items String[] The array to create a sentence from 
		* @param connector String The string to use to connect the last two words. Usually 'and' or 'or' - defaults to 'and'. 
		* @returns String The sentence string 
		*/
		export function toSentence( items?:string[], connector?:string ): string;
		/** [Method] Old alias to typeOf 
		* @param value Object 
		* @returns String 
		*/
		export function type( value?:any ): string;
		/** [Method] Returns the type of the given variable in string format  
		* @param value Object 
		* @returns String 
		*/
		export function typeOf( value?:any ): string;
		/** [Method] Shorthand for the Ext util Observable removeListener method of the globalEvents Observable instance  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		export function un( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Old alias to Ext Array unique 
		* @param array Array 
		* @returns Array results 
		*/
		export function unique( array?:any[] ): any[];
		/** [Method] Old alias to Ext String urlAppend 
		* @param url String The URL to append to. 
		* @param string String The content to append to the URL. 
		* @returns String The resulting URL 
		*/
		export function urlAppend( url?:string, string?:string ): string;
		/** [Method] Alias for Ext Object fromQueryString  
		* @param queryString String The query string to decode 
		* @param recursive Boolean Whether or not to recursively decode the string. This format is supported by PHP / Ruby on Rails servers and similar. 
		* @returns Object 
		*/
		export function urlDecode( queryString?:string, recursive?:boolean ): any;
		/** [Method] Takes an object and converts it to an encoded query string  
		* @param object Object The object to encode 
		* @param recursive Boolean Whether or not to interpret the object in recursive format. (PHP / Ruby on Rails servers and similar). 
		* @returns String queryString 
		*/
		export function urlEncode( object?:any, recursive?:boolean ): string;
		/** [Method] Utility method for returning a default value if the passed value is empty  
		* @param value Object The value to test 
		* @param defaultValue Object The value to return if the original value is empty 
		* @param allowBlank Boolean true to allow zero length strings to qualify as non-empty. 
		* @returns Object value, if non-empty, else defaultValue 
		*/
		export function value( value?:any, defaultValue?:any, allowBlank?:boolean ): any;
		/** [Method] Returns the given value itself if it s not empty as described in isEmpty returns the default value second argument  
		* @param value Object The value to test 
		* @param defaultValue Object The value to return if the original value is empty 
		* @param allowBlank Boolean true to allow zero length strings to qualify as non-empty (defaults to false) 
		* @returns Object value, if non-empty, else defaultValue 
		*/
		export function valueFrom( value?:any, defaultValue?:any, allowBlank?:boolean ): any;
		/** [Method] Convenient shorthand to create a widget by its xtype or a config object  
		* @param name String The xtype of the widget to create. 
		* @param config Object The configuration object for the widget constructor. 
		* @returns Object The widget instance 
		*/
		export function widget( name?:string, config?:any ): any;
		/** [Method] Zips N sets together  
		* @param arr Array/NodeList... This argument may be repeated. Array(s) to contribute values. 
		* @param zipper Function The last item in the argument list. This will drive how the items are zipped together. 
		* @returns Array The zipped set. 
		*/
		export function zip( arr?:any, zipper?:any ): any[];
}
declare module Ext {
	export interface IJSON {
	}
	export class JSON {
		/** [Method] Decodes parses a JSON string to an object  
		* @param json String The JSON string 
		* @param safe Boolean True to return null, false to throw an exception if the JSON is invalid. 
		* @returns Object The resulting object 
		*/
		static decode( json?:string, safe?:boolean ): any;
		/** [Method] Encodes an Object Array or other value  
		* @param o Object The variable to encode 
		* @returns String The JSON string 
		*/
		static encode( o?:any ): string;
		/** [Method] Encodes a Date  
		* @param d Date The Date to encode 
		* @returns String The string literal to use in a JSON string. 
		*/
		static encodeDate( d?:any ): string;
		/** [Method] Encodes a String  
		* @param s String The String to encode 
		* @returns String The string literal to use in a JSON string. 
		*/
		static encodeString( s?:string ): string;
		/** [Method] The function which encode uses to encode all javascript values to their JSON representations when Ext USE_NATIVE_JSON  
		* @param o Object Any javascript value to be converted to its JSON representation 
		* @returns String The JSON representation of the passed value. 
		*/
		static encodeValue( o?:any ): string;
	}
}
declare module Ext.layout {
	export interface IClassList extends Ext.IBase {
		/** [Method] Adds a single class to the class list  
		* @param cls Object 
		*/
		add?( cls?:any ): void;
		/** [Method] Adds one or more classes in an array or space delimited string to the class list  
		* @param classes Object 
		*/
		addMany?( classes?:any ): void;
		/** [Method] Removes a single class from the class list  
		* @param cls Object 
		*/
		remove?( cls?:any ): void;
		/** [Method] Removes one or more classes in an array or space delimited string from the class list  
		* @param classes Object 
		*/
		removeMany?( classes?:any ): void;
	}
}
declare module Ext.layout.component {
	export interface IAuto extends Ext.layout.component.IComponent {
		/** [Config Option] (Boolean) */
		setHeightInDom?: boolean;
		/** [Config Option] (Boolean) */
		setWidthInDom?: boolean;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
	}
}
declare module Ext.layout.component {
	export interface IBody extends Ext.layout.component.IAuto {
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
	}
}
declare module Ext.layout.component {
	export interface IBoundList extends Ext.layout.component.IAuto {
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Object 
		*/
		finishedLayout?( ownerContext?:any ): void;
		/** [Method] Returns the set of items to layout empty by default */
		getLayoutItems?(): void;
		/** [Method] Validates item is in the proper place in the dom  */
		isValidParent?(): void;
	}
}
declare module Ext.layout.component {
	export interface IButton extends Ext.layout.component.IAuto {
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
	}
}
declare module Ext.layout.component {
	export interface IComponent extends Ext.layout.ILayout {
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Object 
		*/
		finishedLayout?( ownerContext?:any ): void;
		/** [Method] Returns the element into which rendering must take place  
		* @returns Ext.Element 
		*/
		getRenderTarget?(): Ext.IElement;
		/** [Method] Returns the owner component s resize element  
		* @returns Ext.Element 
		*/
		getTarget?(): Ext.IElement;
		/** [Method] This method if implemented is called after all layouts are finished and all have a lastComponentSize cached  
		* @param ownerContext Object 
		*/
		notifyOwner?( ownerContext?:any ): void;
	}
}
declare module Ext.layout.component {
	export interface IDock extends Ext.layout.component.IComponent {
		/** [Method] Removes layout s itemCls and owning Container s itemCls  
		* @param item Object 
		*/
		afterRemove?( item?:any ): void;
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] We are overriding the Ext layout Layout configureItem method to also add a class that indicates the position of the d  
		* @param item Ext.Component The item we are configuring 
		*/
		configureItem?( item?:Ext.IComponent ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Object 
		*/
		finishedLayout?( ownerContext?:any ): void;
		/** [Method] Retrieve an ordered and or filtered array of all docked Components  
		* @param order String The desired ordering of the items ('render' or 'visual'). 
		* @param beforeBody Boolean An optional flag to limit the set of items to only those before the body (true) or after the body (false). All components are returned by default. 
		* @returns Ext.Component[] An array of components. 
		*/
		getDockedItems?( order?:string, beforeBody?:boolean ): Ext.IComponent[];
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @param ownerSizeModel Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any, ownerSizeModel?:any ): Ext.layout.ISizePolicy;
		/** [Method] Returns an array containing all the visible docked items inside this layout s owner Panel 
		* @returns Array An array containing all the visible docked items of the Panel 
		*/
		getLayoutItems?(): any[];
		/** [Method] The default weighting of docked items produces this arrangement  
		* @param ownerContext Object 
		* @param horz Object 
		* @param vert Object 
		*/
		invalidateAxes?( ownerContext?:any, horz?:any, vert?:any ): void;
		/** [Method] Render the top and left docked items before any existing DOM nodes in our render target and then render the right an  
		* @param items Object 
		* @param target Object 
		*/
		renderItems?( items?:any, target?:any ): void;
	}
}
declare module Ext.layout.component {
	export interface IAbstractDock extends Ext.layout.component.IComponent {
		/** [Method] Removes layout s itemCls and owning Container s itemCls  
		* @param item Object 
		*/
		afterRemove?( item?:any ): void;
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] We are overriding the Ext layout Layout configureItem method to also add a class that indicates the position of the d  
		* @param item Ext.Component The item we are configuring 
		*/
		configureItem?( item?:Ext.IComponent ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Object 
		*/
		finishedLayout?( ownerContext?:any ): void;
		/** [Method] Retrieve an ordered and or filtered array of all docked Components  
		* @param order String The desired ordering of the items ('render' or 'visual'). 
		* @param beforeBody Boolean An optional flag to limit the set of items to only those before the body (true) or after the body (false). All components are returned by default. 
		* @returns Ext.Component[] An array of components. 
		*/
		getDockedItems?( order?:string, beforeBody?:boolean ): Ext.IComponent[];
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @param ownerSizeModel Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any, ownerSizeModel?:any ): Ext.layout.ISizePolicy;
		/** [Method] Returns an array containing all the visible docked items inside this layout s owner Panel 
		* @returns Array An array containing all the visible docked items of the Panel 
		*/
		getLayoutItems?(): any[];
		/** [Method] The default weighting of docked items produces this arrangement  
		* @param ownerContext Object 
		* @param horz Object 
		* @param vert Object 
		*/
		invalidateAxes?( ownerContext?:any, horz?:any, vert?:any ): void;
		/** [Method] Render the top and left docked items before any existing DOM nodes in our render target and then render the right an  
		* @param items Object 
		* @param target Object 
		*/
		renderItems?( items?:any, target?:any ): void;
	}
}
declare module Ext.layout.component {
	export interface IDraw extends Ext.layout.component.IAuto {
		/** [Config Option] (Boolean) */
		setHeightInDom?: boolean;
		/** [Config Option] (Boolean) */
		setWidthInDom?: boolean;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Object 
		*/
		finishedLayout?( ownerContext?:any ): void;
	}
}
declare module Ext.layout.component.field {
	export interface IComboBox extends Ext.layout.component.field.ITrigger {
	}
}
declare module Ext.layout.component.field {
	export interface IField extends Ext.layout.component.IAuto {
		/** [Property] (Object) */
		elementId?: any;
		/** [Property] (Object) */
		errorStrategies?: any;
		/** [Property] (Object) */
		labelStrategies?: any;
		/** [Property] (Object) */
		left?: any;
		/** [Property] (Object) */
		qtip?: any;
		/** [Property] (Object) */
		right?: any;
		/** [Property] (Object) */
		side?: any;
		/** [Property] (Object) */
		title?: any;
		/** [Property] (Object) */
		top?: any;
		/** [Property] (Object) */
		under?: any;
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Object 
		*/
		finishedLayout?( ownerContext?:any ): void;
		/** [Method] Return the set of strategy functions from the errorStrategies collection that is appropriate for the field s msgTarge  */
		getErrorStrategy?(): void;
		/** [Method] Return the set of strategy functions from the labelStrategies collection that is appropriate for the field s labelAli  */
		getLabelStrategy?(): void;
	}
	export class Field {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Destroy the error tip instance  */
		static destroyTip(): void;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Use a custom QuickTip instance separate from the main QuickTips singleton so that we can give it a custom frame style  */
		static initTip(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext.layout.component.field {
	export interface IFieldContainer extends Ext.layout.component.field.IField {
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
	}
}
declare module Ext.layout.component.field {
	export interface IHtmlEditor extends Ext.layout.component.field.IFieldContainer {
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  */
		finishedLayout?(): void;
	}
}
declare module Ext.layout.component.field {
	export interface ISlider extends Ext.layout.component.field.IField {
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
	}
}
declare module Ext.layout.component.field {
	export interface IText extends Ext.layout.component.field.IField {
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
	}
}
declare module Ext.layout.component.field {
	export interface ITextArea extends Ext.layout.component.field.IText {
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
	}
}
declare module Ext.layout.component.field {
	export interface ITrigger extends Ext.layout.component.field.IField {
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
	}
}
declare module Ext.layout.component {
	export interface IFieldSet extends Ext.layout.component.IBody {
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Object 
		*/
		finishedLayout?( ownerContext?:any ): void;
		/** [Method] Returns the set of items to layout empty by default */
		getLayoutItems?(): void;
	}
}
declare module Ext.layout.component {
	export interface IProgressBar extends Ext.layout.component.IAuto {
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
	}
}
declare module Ext.layout.container {
	export interface IAbsolute extends Ext.layout.container.IAnchor {
		/** [Config Option] (Boolean) */
		ignoreOnContentChange?: boolean;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] This method is called when a child item changes in some way  
		* @returns Boolean True if this layout has handled the content change. 
		*/
		onContentChange?(): boolean;
	}
}
declare module Ext.layout {
	export interface IAbsoluteLayout extends Ext.layout.container.IAnchor {
		/** [Config Option] (Boolean) */
		ignoreOnContentChange?: boolean;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] This method is called when a child item changes in some way  
		* @returns Boolean True if this layout has handled the content change. 
		*/
		onContentChange?(): boolean;
	}
}
declare module Ext.layout.container {
	export interface IAccordion extends Ext.layout.container.IVBox {
		/** [Config Option] (Boolean) */
		activeOnTop?: boolean;
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] (Boolean) */
		animate?: boolean;
		/** [Config Option] (Boolean) */
		autoWidth?: boolean;
		/** [Config Option] (Boolean) */
		collapseFirst?: boolean;
		/** [Config Option] (Boolean) */
		fill?: boolean;
		/** [Config Option] (Boolean) */
		hideCollapseTool?: boolean;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (Boolean) */
		multi?: boolean;
		/** [Config Option] (Boolean) */
		titleCollapse?: boolean;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Adds layout s itemCls and owning Container s itemCls 
		* @param item Object 
		*/
		configureItem?( item?:any ): void;
		/** [Method] Iterates over all passed items ensuring they are rendered  
		* @param items Object 
		* @param target Object 
		*/
		renderItems?( items?:any, target?:any ): void;
	}
}
declare module Ext.layout {
	export interface IAccordionLayout extends Ext.layout.container.IVBox {
		/** [Config Option] (Boolean) */
		activeOnTop?: boolean;
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] (Boolean) */
		animate?: boolean;
		/** [Config Option] (Boolean) */
		autoWidth?: boolean;
		/** [Config Option] (Boolean) */
		collapseFirst?: boolean;
		/** [Config Option] (Boolean) */
		fill?: boolean;
		/** [Config Option] (Boolean) */
		hideCollapseTool?: boolean;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (Boolean) */
		multi?: boolean;
		/** [Config Option] (Boolean) */
		titleCollapse?: boolean;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Adds layout s itemCls and owning Container s itemCls 
		* @param item Object 
		*/
		configureItem?( item?:any ): void;
		/** [Method] Iterates over all passed items ensuring they are rendered  
		* @param items Object 
		* @param target Object 
		*/
		renderItems?( items?:any, target?:any ): void;
	}
}
declare module Ext.layout.container {
	export interface IAnchor extends Ext.layout.container.IAuto {
		/** [Config Option] (String) */
		anchor?: string;
		/** [Config Option] (String) */
		defaultAnchor?: string;
		/** [Property] (Boolean) */
		manageOverflow?: boolean;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
		/** [Method] Adds layout s itemCls and owning Container s itemCls 
		* @param item Object 
		*/
		configureItem?( item?:any ): void;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any ): Ext.layout.ISizePolicy;
	}
}
declare module Ext.layout {
	export interface IAnchorLayout extends Ext.layout.container.IAuto {
		/** [Config Option] (String) */
		anchor?: string;
		/** [Config Option] (String) */
		defaultAnchor?: string;
		/** [Property] (Boolean) */
		manageOverflow?: boolean;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
		/** [Method] Adds layout s itemCls and owning Container s itemCls 
		* @param item Object 
		*/
		configureItem?( item?:any ): void;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any ): Ext.layout.ISizePolicy;
	}
}
declare module Ext.layout.container {
	export interface IAuto extends Ext.layout.container.IContainer {
		/** [Config Option] (Boolean) */
		reserveScrollbar?: boolean;
		/** [Property] (Boolean) */
		manageOverflow?: boolean;
		/** [Property] (Boolean) */
		managePadding?: boolean;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		*/
		beginLayoutCycle?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] Handles overflow processing for a container  
		* @param ownerContext Ext.layout.ContextItem 
		*/
		calculateOverflow?( ownerContext?:Ext.layout.IContextItem ): void;
		/** [Method] This method if implemented is called at the end of the cycle in which this layout completes by not setting done to  
		* @param ownerContext Object 
		*/
		completeLayout?( ownerContext?:any ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Object 
		*/
		finishedLayout?( ownerContext?:any ): void;
		/** [Method] Returns the container size that of the target 
		* @param ownerContext Ext.layout.ContextItem The owner's context item. 
		* @param inDom Boolean True if the container size must be in the DOM. 
		* @returns Object The size 
		*/
		getContainerSize?( ownerContext?:Ext.layout.IContextItem, inDom?:boolean ): any;
		/** [Method] Overridden method from Ext layout container Container  
		* @returns Ext.Element 
		*/
		getElementTarget?(): Ext.IElement;
		/** [Method] Returns the overflow x style of the render target  
		* @param ownerContext Ext.layout.ContextItem 
		* @returns String 
		*/
		getOverflowXStyle?( ownerContext?:Ext.layout.IContextItem ): string;
		/** [Method] Returns the overflow y style of the render target  
		* @param ownerContext Ext.layout.ContextItem 
		* @returns String 
		*/
		getOverflowYStyle?( ownerContext?:Ext.layout.IContextItem ): string;
		/** [Method] Overridden method from Ext layout container Container  
		* @returns Ext.Element 
		*/
		getRenderTarget?(): Ext.IElement;
		/** [Method] A one time initialization method called just before rendering  */
		initLayout?(): void;
		/** [Method] This method sets the height and or width of the outerCt innerCt to adjust for the following browser specific issues  
		* @param ownerContext Ext.layout.ContextItem 
		* @param containerSize Object 
		*/
		setCtSizeIfNeeded?( ownerContext?:Ext.layout.IContextItem, containerSize?:any ): void;
	}
}
declare module Ext.layout.container {
	export interface IBorder extends Ext.layout.container.IContainer {
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (Number/String/Object) */
		padding?: any;
		/** [Config Option] (Object) */
		regionWeights?: any;
		/** [Config Option] (Boolean) */
		split?: boolean;
		/** [Config Option] (Boolean) */
		splitterResize?: boolean;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any ): Ext.layout.ISizePolicy;
		/** [Method] Returns an array of child components either for a render phase Performed in the beforeLayout method of the layout s 
		* @returns Ext.Component[] of child components 
		*/
		getLayoutItems?(): Ext.IComponent[];
	}
}
declare module Ext.layout {
	export interface IBorderLayout extends Ext.layout.container.IContainer {
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (Number/String/Object) */
		padding?: any;
		/** [Config Option] (Object) */
		regionWeights?: any;
		/** [Config Option] (Boolean) */
		split?: boolean;
		/** [Config Option] (Boolean) */
		splitterResize?: boolean;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any ): Ext.layout.ISizePolicy;
		/** [Method] Returns an array of child components either for a render phase Performed in the beforeLayout method of the layout s 
		* @returns Ext.Component[] of child components 
		*/
		getLayoutItems?(): Ext.IComponent[];
	}
}
declare module Ext.layout.container {
	export interface IBox extends Ext.layout.container.IContainer {
		/** [Config Option] (Object) */
		defaultMargins?: any;
		/** [Config Option] (Number) */
		flex?: number;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (String) */
		pack?: string;
		/** [Config Option] (String) */
		padding?: string;
		/** [Config Option] (String/Ext.Component) */
		stretchMaxPartner?: any;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
		/** [Method] This method is called to re cache our understanding of flexes  
		* @param ownerContext Object 
		*/
		cacheFlexes?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] This method if implemented is called at the end of the cycle in which this layout completes by not setting done to  
		* @param ownerContext Object 
		*/
		completeLayout?( ownerContext?:any ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Object 
		*/
		finishedLayout?( ownerContext?:any ): void;
		/** [Method] Overridden method from Ext layout container Container  
		* @returns Ext.Element 
		*/
		getElementTarget?(): Ext.IElement;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @param ownerSizeModel Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any, ownerSizeModel?:any ): Ext.layout.ISizePolicy;
		/** [Method] Overridden method from Ext layout container Container  
		* @returns Ext.Element 
		*/
		getRenderTarget?(): Ext.IElement;
	}
}
declare module Ext.layout {
	export interface IBoxLayout extends Ext.layout.container.IContainer {
		/** [Config Option] (Object) */
		defaultMargins?: any;
		/** [Config Option] (Number) */
		flex?: number;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (String) */
		pack?: string;
		/** [Config Option] (String) */
		padding?: string;
		/** [Config Option] (String/Ext.Component) */
		stretchMaxPartner?: any;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
		/** [Method] This method is called to re cache our understanding of flexes  
		* @param ownerContext Object 
		*/
		cacheFlexes?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] This method if implemented is called at the end of the cycle in which this layout completes by not setting done to  
		* @param ownerContext Object 
		*/
		completeLayout?( ownerContext?:any ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Object 
		*/
		finishedLayout?( ownerContext?:any ): void;
		/** [Method] Overridden method from Ext layout container Container  
		* @returns Ext.Element 
		*/
		getElementTarget?(): Ext.IElement;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @param ownerSizeModel Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any, ownerSizeModel?:any ): Ext.layout.ISizePolicy;
		/** [Method] Overridden method from Ext layout container Container  
		* @returns Ext.Element 
		*/
		getRenderTarget?(): Ext.IElement;
	}
}
declare module Ext.layout.container.boxoverflow {
	export interface IMenu extends Ext.layout.container.boxoverflow.INone {
		/** [Config Option] (String) */
		triggerButtonCls?: string;
		/** [Property] (Array) */
		menuItems?: any[];
		/** [Property] (String) */
		noItemsMenuText?: string;
	}
}
declare module Ext.layout.boxoverflow {
	export interface IMenu extends Ext.layout.container.boxoverflow.INone {
		/** [Config Option] (String) */
		triggerButtonCls?: string;
		/** [Property] (Array) */
		menuItems?: any[];
		/** [Property] (String) */
		noItemsMenuText?: string;
	}
}
declare module Ext.layout.container.boxoverflow {
	export interface INone extends Ext.IBase {
	}
}
declare module Ext.layout.boxoverflow {
	export interface INone extends Ext.IBase {
	}
}
declare module Ext.layout.container.boxoverflow {
	export interface IScroller extends Ext.layout.container.boxoverflow.INone,Ext.util.IObservable {
		/** [Config Option] (String) */
		afterCtCls?: string;
		/** [Config Option] (String) */
		afterScrollerCls?: string;
		/** [Config Option] (Boolean) */
		animateScroll?: boolean;
		/** [Config Option] (String) */
		beforeCtCls?: string;
		/** [Config Option] (String) */
		beforeScrollerCls?: string;
		/** [Config Option] (Number) */
		scrollDuration?: number;
		/** [Config Option] (Number) */
		scrollIncrement?: number;
		/** [Config Option] (Number) */
		scrollRepeatInterval?: number;
		/** [Config Option] (String) */
		scrollerCls?: string;
		/** [Config Option] (Number) */
		wheelIncrement?: number;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the current scroll position of the innerCt element 
		* @returns Number The current scroll position 
		*/
		getScrollPosition?(): number;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Scrolls to the given component  
		* @param item String/Number/Ext.Component The item to scroll to. Can be a numerical index, component id or a reference to the component itself. 
		* @param animate Boolean True to animate the scrolling 
		*/
		scrollToItem?( item?:any, animate?:boolean ): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.layout.boxoverflow {
	export interface IScroller extends Ext.layout.container.boxoverflow.INone,Ext.util.IObservable {
		/** [Config Option] (String) */
		afterCtCls?: string;
		/** [Config Option] (String) */
		afterScrollerCls?: string;
		/** [Config Option] (Boolean) */
		animateScroll?: boolean;
		/** [Config Option] (String) */
		beforeCtCls?: string;
		/** [Config Option] (String) */
		beforeScrollerCls?: string;
		/** [Config Option] (Number) */
		scrollDuration?: number;
		/** [Config Option] (Number) */
		scrollIncrement?: number;
		/** [Config Option] (Number) */
		scrollRepeatInterval?: number;
		/** [Config Option] (String) */
		scrollerCls?: string;
		/** [Config Option] (Number) */
		wheelIncrement?: number;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the current scroll position of the innerCt element 
		* @returns Number The current scroll position 
		*/
		getScrollPosition?(): number;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Scrolls to the given component  
		* @param item String/Number/Ext.Component The item to scroll to. Can be a numerical index, component id or a reference to the component itself. 
		* @param animate Boolean True to animate the scrolling 
		*/
		scrollToItem?( item?:any, animate?:boolean ): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.layout.container {
	export interface ICard extends Ext.layout.container.IFit {
		/** [Config Option] (Boolean) */
		deferredRender?: boolean;
		/** [Method] Return the active visible component in the layout  
		* @returns Ext.Component 
		*/
		getActiveItem?(): Ext.IComponent;
		/** [Method] Return the active visible component in the layout to the next card 
		* @returns Ext.Component The next component or false. 
		*/
		getNext?(): Ext.IComponent;
		/** [Method] Return the active visible component in the layout to the previous card 
		* @returns Ext.Component The previous component or false. 
		*/
		getPrev?(): Ext.IComponent;
		/** [Method] Validates item is in the proper place in the dom  
		* @param item Object 
		* @param target Object 
		* @param position Object 
		*/
		isValidParent?( item?:any, target?:any, position?:any ): void;
		/** [Method] Sets the active visible component in the layout to the next card 
		* @returns Ext.Component the activated component or false when nothing activated. 
		*/
		next?(): Ext.IComponent;
		/** [Method] Sets the active visible component in the layout to the previous card 
		* @returns Ext.Component the activated component or false when nothing activated. 
		*/
		prev?(): Ext.IComponent;
		/** [Method] Makes the given card active  
		* @param newCard Ext.Component/Number/String The component, component id, itemId, or index of component. 
		* @returns Ext.Component the activated component or false when nothing activated. False is returned also when trying to activate an already active card. 
		*/
		setActiveItem?( newCard?:any ): Ext.IComponent;
	}
}
declare module Ext.layout {
	export interface ICardLayout extends Ext.layout.container.IFit {
		/** [Config Option] (Boolean) */
		deferredRender?: boolean;
		/** [Method] Return the active visible component in the layout  
		* @returns Ext.Component 
		*/
		getActiveItem?(): Ext.IComponent;
		/** [Method] Return the active visible component in the layout to the next card 
		* @returns Ext.Component The next component or false. 
		*/
		getNext?(): Ext.IComponent;
		/** [Method] Return the active visible component in the layout to the previous card 
		* @returns Ext.Component The previous component or false. 
		*/
		getPrev?(): Ext.IComponent;
		/** [Method] Validates item is in the proper place in the dom  
		* @param item Object 
		* @param target Object 
		* @param position Object 
		*/
		isValidParent?( item?:any, target?:any, position?:any ): void;
		/** [Method] Sets the active visible component in the layout to the next card 
		* @returns Ext.Component the activated component or false when nothing activated. 
		*/
		next?(): Ext.IComponent;
		/** [Method] Sets the active visible component in the layout to the previous card 
		* @returns Ext.Component the activated component or false when nothing activated. 
		*/
		prev?(): Ext.IComponent;
		/** [Method] Makes the given card active  
		* @param newCard Ext.Component/Number/String The component, component id, itemId, or index of component. 
		* @returns Ext.Component the activated component or false when nothing activated. False is returned also when trying to activate an already active card. 
		*/
		setActiveItem?( newCard?:any ): Ext.IComponent;
	}
}
declare module Ext.layout.container {
	export interface ICheckboxGroup extends Ext.layout.container.IContainer {
		/** [Config Option] (Boolean) */
		autoFlex?: boolean;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Just wait for the child items to all lay themselves out in the width we are configured to make available to them  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any ): Ext.layout.ISizePolicy;
		/** [Method] A one time initialization method called just before rendering  */
		initLayout?(): void;
		/** [Method] Always valid  */
		isValidParent?(): void;
		/** [Method] Iterates over all passed items ensuring they are rendered  
		* @param items Object 
		*/
		renderItems?( items?:any ): void;
	}
}
declare module Ext.layout.container {
	export interface IColumn extends Ext.layout.container.IAuto {
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Property] (Boolean) */
		manageOverflow?: boolean;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @param ownerSizeModel Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any, ownerSizeModel?:any ): Ext.layout.ISizePolicy;
		/** [Method] This method sets the height and or width of the outerCt innerCt to adjust for the following browser specific issues  
		* @param ownerContext Object 
		* @param containerSize Object 
		*/
		setCtSizeIfNeeded?( ownerContext?:any, containerSize?:any ): void;
	}
}
declare module Ext.layout {
	export interface IColumnLayout extends Ext.layout.container.IAuto {
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Property] (Boolean) */
		manageOverflow?: boolean;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @param ownerSizeModel Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any, ownerSizeModel?:any ): Ext.layout.ISizePolicy;
		/** [Method] This method sets the height and or width of the outerCt innerCt to adjust for the following browser specific issues  
		* @param ownerContext Object 
		* @param containerSize Object 
		*/
		setCtSizeIfNeeded?( ownerContext?:any, containerSize?:any ): void;
	}
}
declare module Ext.layout.container {
	export interface IContainer extends Ext.layout.ILayout,Ext.util.IElementContainer {
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Property] (Ext.Element) */
		overflowPadderEl?: Ext.IElement;
		/** [Method] Adds each argument passed to this method to the childEls array  */
		addChildEls?(): void;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
		/** [Method] Adds layout s itemCls and owning Container s itemCls 
		* @param item Object 
		*/
		configureItem?( item?:any ): void;
		/** [Method] Returns the container size that of the target 
		* @param ownerContext Ext.layout.ContextItem The owner's context item. 
		* @param inDom Boolean True if the container size must be in the DOM. 
		* @returns Object The size 
		*/
		getContainerSize?( ownerContext?:Ext.layout.IContextItem, inDom?:boolean ): any;
		/** [Method] Returns the element into which extra functional DOM elements can be inserted  
		* @returns Ext.Element 
		*/
		getElementTarget?(): Ext.IElement;
		/** [Method] Returns an array of child components either for a render phase Performed in the beforeLayout method of the layout s 
		* @returns Ext.Component[] of child components 
		*/
		getLayoutItems?(): Ext.IComponent[];
		/** [Method] Returns the element into which rendering must take place  
		* @returns Ext.Element 
		*/
		getRenderTarget?(): Ext.IElement;
		/** [Method] Returns all items that are rendered 
		* @returns Array All matching items 
		*/
		getRenderedItems?(): any[];
		/** [Method] Returns the owner component s resize element  
		* @returns Ext.Element 
		*/
		getTarget?(): Ext.IElement;
		/** [Method] Returns all items that are both rendered and visible 
		* @returns Array All matching items 
		*/
		getVisibleItems?(): any[];
		/** [Method] Removes items in the childEls array based on the return value of a supplied test function  
		* @param testFn Function The test function. 
		*/
		removeChildEls?( testFn?:any ): void;
	}
}
declare module Ext.layout {
	export interface IContainerLayout extends Ext.layout.ILayout,Ext.util.IElementContainer {
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Property] (Ext.Element) */
		overflowPadderEl?: Ext.IElement;
		/** [Method] Adds each argument passed to this method to the childEls array  */
		addChildEls?(): void;
		/** [Method] In addition to work done by our base classes containers benefit from some extra cached data  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
		/** [Method] Adds layout s itemCls and owning Container s itemCls 
		* @param item Object 
		*/
		configureItem?( item?:any ): void;
		/** [Method] Returns the container size that of the target 
		* @param ownerContext Ext.layout.ContextItem The owner's context item. 
		* @param inDom Boolean True if the container size must be in the DOM. 
		* @returns Object The size 
		*/
		getContainerSize?( ownerContext?:Ext.layout.IContextItem, inDom?:boolean ): any;
		/** [Method] Returns the element into which extra functional DOM elements can be inserted  
		* @returns Ext.Element 
		*/
		getElementTarget?(): Ext.IElement;
		/** [Method] Returns an array of child components either for a render phase Performed in the beforeLayout method of the layout s 
		* @returns Ext.Component[] of child components 
		*/
		getLayoutItems?(): Ext.IComponent[];
		/** [Method] Returns the element into which rendering must take place  
		* @returns Ext.Element 
		*/
		getRenderTarget?(): Ext.IElement;
		/** [Method] Returns all items that are rendered 
		* @returns Array All matching items 
		*/
		getRenderedItems?(): any[];
		/** [Method] Returns the owner component s resize element  
		* @returns Ext.Element 
		*/
		getTarget?(): Ext.IElement;
		/** [Method] Returns all items that are both rendered and visible 
		* @returns Array All matching items 
		*/
		getVisibleItems?(): any[];
		/** [Method] Removes items in the childEls array based on the return value of a supplied test function  
		* @param testFn Function The test function. 
		*/
		removeChildEls?( testFn?:any ): void;
	}
}
declare module Ext.layout.container {
	export interface IEditor extends Ext.layout.container.IContainer {
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any ): Ext.layout.ISizePolicy;
	}
}
declare module Ext.layout.container {
	export interface IFit extends Ext.layout.container.IContainer {
		/** [Config Option] (Object) */
		defaultMargins?: any;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @param ownerSizeModel Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any, ownerSizeModel?:any ): Ext.layout.ISizePolicy;
	}
}
declare module Ext.layout {
	export interface IFitLayout extends Ext.layout.container.IContainer {
		/** [Config Option] (Object) */
		defaultMargins?: any;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @param ownerSizeModel Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any, ownerSizeModel?:any ): Ext.layout.ISizePolicy;
	}
}
declare module Ext.layout.container {
	export interface IForm extends Ext.layout.container.IContainer {
		/** [Property] (Object) */
		getScrollRangeFlags?: any;
		/** [Method] All of the below methods are old methods moved here from Container layout TODO remove these methods once Form layout  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] Handles overflow processing for a container  
		* @param ownerContext Ext.layout.ContextItem 
		* @param containerSize Object 
		* @param dimensions Number A bit mask for the overflow managed dimensions. The 0-bit is for width and the 1-bit is for height. In other words, a value of 1 would be only width, 2 would be only height and 3 would be both. 
		*/
		calculateOverflow?( ownerContext?:Ext.layout.IContextItem, containerSize?:any, dimensions?:number ): void;
		/** [Method] This method if implemented is called at the end of the cycle in which this layout completes by not setting done to  
		* @param ownerContext Object 
		*/
		completeLayout?( ownerContext?:any ): void;
		/** [Method] Creates an element that makes bottom right body padding consistent across browsers  
		* @param out Object 
		* @param renderData Object 
		*/
		doRenderPadder?( out?:any, renderData?:any ): void;
		/** [Method] Returns the container size that of the target 
		* @param ownerContext Ext.layout.ContextItem The owner's context item. 
		* @param inDom Boolean True if the container size must be in the DOM. 
		* @param ignoreOverflow Boolean if true scrollbar size will not be subtracted from container size. 
		* @returns Object The size 
		*/
		getContainerSize?( ownerContext?:Ext.layout.IContextItem, inDom?:boolean, ignoreOverflow?:boolean ): any;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any ): Ext.layout.ISizePolicy;
		/** [Method] returns the overflow x style of the render target 
		* @param ownerContext Ext.layout.ContextItem 
		* @returns String 
		*/
		getOverflowXStyle?( ownerContext?:Ext.layout.IContextItem ): string;
		/** [Method] returns the overflow y style of the render target 
		* @param ownerContext Ext.layout.ContextItem 
		* @returns String 
		*/
		getOverflowYStyle?( ownerContext?:Ext.layout.IContextItem ): string;
		/** [Method] Returns the element into which rendering must take place  
		* @returns Ext.Element 
		*/
		getRenderTarget?(): Ext.IElement;
		/** [Method] A one time initialization method called just before rendering  */
		initLayout?(): void;
		/** [Method] Validates item is in the proper place in the dom  
		* @param item Object 
		* @param target Object 
		* @param position Object 
		*/
		isValidParent?( item?:any, target?:any, position?:any ): void;
	}
}
declare module Ext.layout {
	export interface IFormLayout extends Ext.layout.container.IContainer {
		/** [Property] (Object) */
		getScrollRangeFlags?: any;
		/** [Method] All of the below methods are old methods moved here from Container layout TODO remove these methods once Form layout  
		* @param ownerContext Object 
		* @param firstCycle Object 
		*/
		beginLayoutCycle?( ownerContext?:any, firstCycle?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] Handles overflow processing for a container  
		* @param ownerContext Ext.layout.ContextItem 
		* @param containerSize Object 
		* @param dimensions Number A bit mask for the overflow managed dimensions. The 0-bit is for width and the 1-bit is for height. In other words, a value of 1 would be only width, 2 would be only height and 3 would be both. 
		*/
		calculateOverflow?( ownerContext?:Ext.layout.IContextItem, containerSize?:any, dimensions?:number ): void;
		/** [Method] This method if implemented is called at the end of the cycle in which this layout completes by not setting done to  
		* @param ownerContext Object 
		*/
		completeLayout?( ownerContext?:any ): void;
		/** [Method] Creates an element that makes bottom right body padding consistent across browsers  
		* @param out Object 
		* @param renderData Object 
		*/
		doRenderPadder?( out?:any, renderData?:any ): void;
		/** [Method] Returns the container size that of the target 
		* @param ownerContext Ext.layout.ContextItem The owner's context item. 
		* @param inDom Boolean True if the container size must be in the DOM. 
		* @param ignoreOverflow Boolean if true scrollbar size will not be subtracted from container size. 
		* @returns Object The size 
		*/
		getContainerSize?( ownerContext?:Ext.layout.IContextItem, inDom?:boolean, ignoreOverflow?:boolean ): any;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Object 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:any ): Ext.layout.ISizePolicy;
		/** [Method] returns the overflow x style of the render target 
		* @param ownerContext Ext.layout.ContextItem 
		* @returns String 
		*/
		getOverflowXStyle?( ownerContext?:Ext.layout.IContextItem ): string;
		/** [Method] returns the overflow y style of the render target 
		* @param ownerContext Ext.layout.ContextItem 
		* @returns String 
		*/
		getOverflowYStyle?( ownerContext?:Ext.layout.IContextItem ): string;
		/** [Method] Returns the element into which rendering must take place  
		* @returns Ext.Element 
		*/
		getRenderTarget?(): Ext.IElement;
		/** [Method] A one time initialization method called just before rendering  */
		initLayout?(): void;
		/** [Method] Validates item is in the proper place in the dom  
		* @param item Object 
		* @param target Object 
		* @param position Object 
		*/
		isValidParent?( item?:any, target?:any, position?:any ): void;
	}
}
declare module Ext.layout.container {
	export interface IHBox extends Ext.layout.container.IBox {
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] ("round"/"floor"/"ceil") */
		alignRoundingMethod?: any;
		/** [Config Option] (Boolean) */
		constrainAlign?: boolean;
	}
}
declare module Ext.layout {
	export interface IHBoxLayout extends Ext.layout.container.IBox {
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] ("round"/"floor"/"ceil") */
		alignRoundingMethod?: any;
		/** [Config Option] (Boolean) */
		constrainAlign?: boolean;
	}
}
declare module Ext.layout.container {
	export interface ITable extends Ext.layout.container.IContainer {
		/** [Config Option] (Number) */
		columns?: number;
		/** [Config Option] (Object) */
		tableAttrs?: any;
		/** [Config Option] (Object) */
		tdAttrs?: any;
		/** [Config Option] (Object) */
		trAttrs?: any;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] This method if implemented is called after all layouts have completed  */
		finalizeLayout?(): void;
		/** [Method] Returns an array of child components either for a render phase Performed in the beforeLayout method of the layout s 
		* @returns Ext.Component[] of child components 
		*/
		getLayoutItems?(): Ext.IComponent[];
		/** [Method] Validates item is in the proper place in the dom  
		* @param item Object 
		* @param target Object 
		* @param rowIdx Object 
		* @param cellIdx Object 
		*/
		isValidParent?( item?:any, target?:any, rowIdx?:any, cellIdx?:any ): void;
	}
}
declare module Ext.layout {
	export interface ITableLayout extends Ext.layout.container.IContainer {
		/** [Config Option] (Number) */
		columns?: number;
		/** [Config Option] (Object) */
		tableAttrs?: any;
		/** [Config Option] (Object) */
		tdAttrs?: any;
		/** [Config Option] (Object) */
		trAttrs?: any;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] This method if implemented is called after all layouts have completed  */
		finalizeLayout?(): void;
		/** [Method] Returns an array of child components either for a render phase Performed in the beforeLayout method of the layout s 
		* @returns Ext.Component[] of child components 
		*/
		getLayoutItems?(): Ext.IComponent[];
		/** [Method] Validates item is in the proper place in the dom  
		* @param item Object 
		* @param target Object 
		* @param rowIdx Object 
		* @param cellIdx Object 
		*/
		isValidParent?( item?:any, target?:any, rowIdx?:any, cellIdx?:any ): void;
	}
}
declare module Ext.layout.container {
	export interface IVBox extends Ext.layout.container.IBox {
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] ("round"/"floor"/"ceil") */
		alignRoundingMethod?: any;
		/** [Config Option] (Boolean) */
		constrainAlign?: boolean;
	}
}
declare module Ext.layout {
	export interface IVBoxLayout extends Ext.layout.container.IBox {
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] ("round"/"floor"/"ceil") */
		alignRoundingMethod?: any;
		/** [Config Option] (Boolean) */
		constrainAlign?: boolean;
	}
}
declare module Ext.layout {
	export interface IContext extends Ext.IBase {
		/** [Property] (Ext.util.Queue) */
		layoutQueue?: Ext.util.IQueue;
		/** [Property] (Number) */
		state?: number;
		/** [Method] Flushes any pending writes to the DOM by calling each ContextItem in the flushQueue  */
		flush?(): void;
		/** [Method] Returns the ContextItem for a component  
		* @param cmp Ext.Component 
		*/
		getCmp?( cmp?:Ext.IComponent ): void;
		/** [Method] Returns the ContextItem for an element  
		* @param parent Ext.layout.ContextItem 
		* @param el Ext.dom.Element 
		*/
		getEl?( parent?:Ext.layout.IContextItem, el?:Ext.dom.IElement ): void;
		/** [Method] Invalidates one or more components layouts component and container 
		* @param components Ext.Component/Array An array of Components or a single Component. 
		* @param full Boolean True if all properties should be invalidated, otherwise only those calculated by the component should be invalidated. 
		*/
		invalidate?( components?:any, full?:boolean ): void;
		/** [Method] Removes the ContextItem for an element from the cache and from the parent s children array  
		* @param parent Ext.layout.ContextItem 
		* @param el Ext.dom.Element 
		*/
		removeEl?( parent?:Ext.layout.IContextItem, el?:Ext.dom.IElement ): void;
		/** [Method] Resets the given layout object  
		* @param layout Object 
		* @param ownerContext Object 
		* @param firstTime Object 
		*/
		resetLayout?( layout?:any, ownerContext?:any, firstTime?:any ): void;
		/** [Method] Runs the layout calculations  
		* @returns Boolean True if all layouts were completed, false if not. 
		*/
		run?(): boolean;
		/** [Method] Performs one layout cycle by calling each layout in the layout queue  
		* @returns Boolean True if some progress was made, false if not. 
		*/
		runCycle?(): boolean;
		/** [Method] Set the size of a component element or composite or an array of components or elements  
		* @param items Ext.Component/Ext.Component[]/Ext.dom.Element/Ext.dom.Element[]/Ext.dom.CompositeElement The item(s) to size. 
		* @param width Number The new width to set (ignored if undefined or NaN). 
		* @param height Number The new height to set (ignored if undefined or NaN). 
		*/
		setItemSize?( items?:any, width?:number, height?:number ): void;
	}
}
declare module Ext.layout {
	export interface IContextItem extends Ext.IBase {
		/** [Property] (Object) */
		state?: any;
		/** [Property] (Boolean) */
		wrapsComponent?: boolean;
		/** [Method] Queue the addition of a class name or array of class names to this ContextItem s target when next flushed  
		* @param newCls Object 
		*/
		addCls?( newCls?:any ): void;
		/** [Method] Registers a layout in the block list for the given property  
		* @param layout Ext.layout.Layout 
		* @param propName String The property name that blocked the layout (e.g., 'width'). 
		*/
		block?( layout?:Ext.layout.ILayout, propName?:string ): void;
		/** [Method] clears the margin cache so that marginInfo get re read from the dom on the next call to getMarginInfo  This is neede  */
		clearMarginCache?(): void;
		/** [Method] Registers a layout in the DOM block list for the given property  
		* @param layout Ext.layout.Layout 
		* @param propName String The property name that blocked the layout (e.g., 'width'). 
		*/
		domBlock?( layout?:Ext.layout.ILayout, propName?:string ): void;
		/** [Method] Flushes any updates in the dirty collection to the DOM  */
		flush?(): void;
		/** [Method] Gets the border information for the element as an object with left top right and bottom properties holding border s  
		* @returns Object 
		*/
		getBorderInfo?(): any;
		/** [Method] Returns a ClassList like object to buffer access to this item s element s classes  */
		getClassList?(): void;
		/** [Method] Gets a property of this object if it is correct in the DOM  
		* @param propName String The property name (e.g., 'width'). 
		* @returns Object The property value or undefined if not yet set or is dirty. 
		*/
		getDomProp?( propName?:string ): any;
		/** [Method] Returns the context item for an owned element  
		* @param nameOrEl String/Ext.dom.Element The element or the name of an owned element 
		* @param owner Ext.layout.container.Container/Ext.Component The owner of the named element if the passed "nameOrEl" parameter is a String. Defaults to this ContextItem's "target" property. For more details on owned elements see childEls and renderSelectors 
		* @returns Ext.layout.ContextItem 
		*/
		getEl?( nameOrEl?:any, owner?:any ): Ext.layout.IContextItem;
		/** [Method] Gets the frame information for the element as an object with left top right and bottom properties holding border 
		* @returns Object 
		*/
		getFrameInfo?(): any;
		/** [Method] Gets the margin information for the element as an object with left top right and bottom properties holding margin s  
		* @returns Object 
		*/
		getMarginInfo?(): any;
		/** [Method] Gets the padding information for the element as an object with left top right and bottom properties holding padding  
		* @returns Object 
		*/
		getPaddingInfo?(): any;
		/** [Method] Gets a property of this object  
		* @param propName String The property name that blocked the layout (e.g., 'width'). 
		* @returns Object The property value or undefined if not yet set. 
		*/
		getProp?( propName?:string ): any;
		/** [Method] Returns a style for this item  
		* @param styleName String The CSS style name. 
		* @returns Object The value of the DOM style (parsed as necessary). 
		*/
		getStyle?( styleName?:string ): any;
		/** [Method] Returns styles for this item  
		* @param styleNames String[] The CSS style names. 
		* @param altNames String[] The alternate names for the returned styles. If given, these names must correspond one-for-one to the styleNames. 
		* @returns Object The values of the DOM styles (parsed as necessary). 
		*/
		getStyles?( styleNames?:string[], altNames?:string[] ): any;
		/** [Method] Returns true if the given property is correct in the DOM  
		* @param propName String The property name (e.g., 'width'). 
		* @returns Boolean 
		*/
		hasDomProp?( propName?:string ): boolean;
		/** [Method] Returns true if the given property has been set  
		* @param propName String The property name (e.g., 'width'). 
		* @returns Boolean 
		*/
		hasProp?( propName?:string ): boolean;
		/** [Method] Invalidates the component associated with this item  
		* @param options Object An object describing how to handle the invalidation. 
		*/
		invalidate?( options?:any ): void;
		/** [Method] Recovers a property value from the last computation and restores its value and dirty state  
		* @param propName String The name of the property to recover. 
		* @param oldProps Object The old "props" object from which to recover values. 
		* @param oldDirty Object The old "dirty" object from which to recover state. 
		*/
		recoverProp?( propName?:string, oldProps?:any, oldDirty?:any ): void;
		/** [Method] Queue the removal of a class name or array of class names from this ContextItem s target when next flushed  
		* @param removeCls Object 
		*/
		removeCls?( removeCls?:any ): void;
		/** [Method] Removes a cached ContextItem that was created using getEl  
		* @param nameOrEl String/Ext.dom.Element The element or the name of an owned element 
		* @param owner Ext.layout.container.Container/Ext.Component The owner of the named element if the passed "nameOrEl" parameter is a String. Defaults to this ContextItem's "target" property. 
		*/
		removeEl?( nameOrEl?:any, owner?:any ): void;
		/** [Method] Queue the setting of a DOM attribute on this ContextItem s target when next flushed  
		* @param name Object 
		* @param value Object 
		*/
		setAttribute?( name?:any, value?:any ): void;
		/** [Method] Sets the contentHeight property  
		* @param height Object 
		* @param measured Object 
		*/
		setContentHeight?( height?:any, measured?:any ): void;
		/** [Method] Sets the contentWidth and contentHeight properties  
		* @param width Object 
		* @param height Object 
		* @param measured Object 
		*/
		setContentSize?( width?:any, height?:any, measured?:any ): void;
		/** [Method] Sets the contentWidth property  
		* @param width Object 
		* @param measured Object 
		*/
		setContentWidth?( width?:any, measured?:any ): void;
		/** [Method] Sets the height and constrains the height to min maxHeight range  
		* @param height Number The height. 
		* @param dirty Boolean Specifies if the value is currently in the DOM. A value of false indicates that the value is already in the DOM. 
		* @returns Number The actual height after constraining. 
		*/
		setHeight?( height?:number, dirty?:boolean ): number;
		/** [Method] Sets a property value  
		* @param propName String The property name (e.g., 'width'). 
		* @param value Object The new value of the property. 
		* @param dirty Boolean Optionally specifies if the value is currently in the DOM (default is true which indicates the value is not in the DOM and must be flushed at some point). 
		* @returns Number 1 if this call specified the property value, 0 if not. 
		*/
		setProp?( propName?:string, value?:any, dirty?:boolean ): number;
		/** [Method] Sets the height and constrains the width to min maxWidth range  
		* @param width Number The width. 
		* @param dirty Boolean Specifies if the value is currently in the DOM. A value of false indicates that the value is already in the DOM. 
		* @returns Number The actual width after constraining. 
		*/
		setWidth?( width?:number, dirty?:boolean ): number;
	}
}
declare module Ext.layout {
	export interface ILayout extends Ext.IBase {
		/** [Property] (Boolean) */
		done?: boolean;
		/** [Property] (Boolean) */
		isLayout?: boolean;
		/** [Method] Removes layout s itemCls and owning Container s itemCls  
		* @param item Object 
		*/
		afterRemove?( item?:any ): void;
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Ext.layout.ContextItem The context item for the layout's owner component. 
		*/
		beginLayout?( ownerContext?:Ext.layout.IContextItem ): void;
		/** [Method] Called before any calculation cycles to reset DOM values and prepare for calculation  
		* @param ownerContext Ext.layout.ContextItem The context item for the layout's owner component. 
		*/
		beginLayoutCycle?( ownerContext?:Ext.layout.IContextItem ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Ext.layout.ContextItem The context item for the layout's owner component. 
		*/
		calculate?( ownerContext?:Ext.layout.IContextItem ): void;
		/** [Method] This method if implemented is called at the end of the cycle in which this layout completes by not setting done to  
		* @param ownerContext Ext.layout.ContextItem The context item for the layout's owner component. 
		*/
		completeLayout?( ownerContext?:Ext.layout.IContextItem ): void;
		/** [Method] Called before an item is rendered to allow the layout to configure the item  
		* @param item Ext.Component The item to be configured 
		*/
		configureItem?( item?:Ext.IComponent ): void;
		/** [Method] Destroys this layout  */
		destroy?(): void;
		/** [Method] This method if implemented is called after all layouts have completed  
		* @param ownerContext Ext.layout.ContextItem The context item for the layout's owner component. 
		*/
		finalizeLayout?( ownerContext?:Ext.layout.IContextItem ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  
		* @param ownerContext Ext.layout.ContextItem The context item for the layout's owner component. 
		*/
		finishedLayout?( ownerContext?:Ext.layout.IContextItem ): void;
		/** [Method] Returns an object describing how this layout manages the size of the given component  
		* @param item Ext.Component 
		* @returns Ext.layout.SizePolicy An object describing the sizing done by the layout for this item. 
		*/
		getItemSizePolicy?( item?:Ext.IComponent ): Ext.layout.ISizePolicy;
		/** [Method] Returns the set of items to layout empty by default */
		getLayoutItems?(): void;
		/** [Method] A one time initialization method called just before rendering  */
		initLayout?(): void;
		/** [Method] Validates item is in the proper place in the dom  
		* @param item Object 
		* @param target Object 
		* @param position Object 
		*/
		isValidParent?( item?:any, target?:any, position?:any ): void;
		/** [Method] This method if implemented is called after all layouts are finished and all have a lastComponentSize cached  
		* @param ownerContext Ext.layout.ContextItem The context item for the layout's owner component. 
		*/
		notifyOwner?( ownerContext?:Ext.layout.IContextItem ): void;
		/** [Method] This method is called when a child item changes in some way  
		* @param child Ext.Component The child item that has changed. 
		* @returns Boolean True if this layout has handled the content change. 
		*/
		onContentChange?( child?:Ext.IComponent ): boolean;
		/** [Method] Iterates over all passed items ensuring they are rendered  
		* @param items Object 
		* @param target Object 
		*/
		renderItems?( items?:any, target?:any ): void;
	}
}
declare module Ext.layout {
	export interface ISizeModel extends Ext.IBase {
		/** [Property] (Boolean) */
		auto?: boolean;
		/** [Property] (Boolean) */
		calculated?: boolean;
		/** [Property] (Boolean) */
		calculatedFromConfigured?: boolean;
		/** [Property] (Boolean) */
		calculatedFromNatural?: boolean;
		/** [Property] (Boolean) */
		calculatedFromShrinkWrap?: boolean;
		/** [Property] (Boolean) */
		configured?: boolean;
		/** [Property] (Boolean) */
		constrainedMax?: boolean;
		/** [Property] (Boolean) */
		constrainedMin?: boolean;
		/** [Property] (Boolean) */
		fixed?: boolean;
		/** [Property] (String) */
		name?: string;
		/** [Property] (Object) */
		names?: any;
		/** [Property] (Boolean) */
		natural?: boolean;
		/** [Property] (Number) */
		ordinal?: number;
		/** [Property] (Object[]) */
		pairsByHeightOrdinal?: any[];
		/** [Property] (Boolean) */
		shrinkWrap?: boolean;
	}
}
declare module Ext.layout {
	export interface ISizePolicy {
		/** [Property] (Boolean) */
		readsHeight?: boolean;
		/** [Property] (Boolean) */
		readsWidth?: boolean;
		/** [Property] (Boolean) */
		setsHeight?: boolean;
		/** [Property] (Boolean) */
		setsWidth?: boolean;
	}
}
declare module Ext {
	export interface ILoader {
	}
	export class Loader {
		/** [Method] Sets a batch of path entries 
		* @param paths Object a set of className: path mappings 
		* @returns Ext.Loader this 
		*/
		static addClassPathMappings( paths?:Object ): Ext.ILoader;
		/** [Method] Explicitly exclude files from being loaded  
		* @param excludes Array 
		* @returns Object object contains require method for chaining 
		*/
		static exclude( excludes?:any[] ): any;
		/** [Method] Get the config value corresponding to the specified name  
		* @param name String The config property name 
		* @returns Object 
		*/
		static getConfig( name?:string ): any;
		/** [Method] Translates a className to a file path by adding the the proper prefix and converting the  s to  s  
		* @param className String 
		* @returns String path 
		*/
		static getPath( className?:string ): string;
		/** [Method] Loads the specified script URL and calls the supplied callbacks  
		* @param options Object/String The options object or simply the URL to load. 
		*/
		static loadScript( options?:any ): void;
		/** [Method] Add a new listener to be executed when all required scripts are fully loaded 
		* @param fn Function The function callback to be executed 
		* @param scope Object The execution scope (this) of the callback function 
		* @param withDomReady Boolean Whether or not to wait for document dom ready as well 
		*/
		static onReady( fn?:any, scope?:any, withDomReady?:boolean ): void;
		/** [Method] Loads all classes by the given names and all their direct dependencies optionally executes the given callback functi  
		* @param expressions String/Array Can either be a string or an array of string 
		* @param fn Function The callback function 
		* @param scope Object The execution scope (this) of the callback function 
		* @param excludes String/Array Classes to be excluded, useful when being used with expressions 
		*/
		static require( expressions?:any, fn?:any, scope?:any, excludes?:any ): void;
		/** [Method] Set the configuration for the loader  
		* @param config Object The config object to override the default values 
		* @returns Ext.Loader this 
		*/
		static setConfig( config?:any ): Ext.ILoader;
		/** [Method] Sets the path of a namespace  
		* @param name String/Object See flexSetter 
		* @param path String See flexSetter 
		* @returns Ext.Loader this 
		*/
		static setPath( name?:any, path?:string ): Ext.ILoader;
		/** [Method] Synchronously loads all classes by the given names and all their direct dependencies optionally executes the given c  
		* @param expressions String/Array Can either be a string or an array of string 
		* @param fn Function The callback function 
		* @param scope Object The execution scope (this) of the callback function 
		* @param excludes String/Array Classes to be excluded, useful when being used with expressions 
		*/
		static syncRequire( expressions?:any, fn?:any, scope?:any, excludes?:any ): void;
	}
}
declare module Ext {
	export interface ILoadMask extends Ext.IComponent,Ext.util.IFloating,Ext.util.IBindable {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String) */
		maskCls?: string;
		/** [Config Option] (String) */
		msg?: string;
		/** [Config Option] (String) */
		msgCls?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Ext.data.Store) */
		store?: Ext.data.IStore;
		/** [Config Option] (Ext.Component) */
		target?: Ext.IComponent;
		/** [Config Option] (Boolean) */
		useMsg?: boolean;
		/** [Config Option] (Boolean) */
		useTargetEl?: boolean;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Invoked after the Component is shown after onShow is called */
		afterShow?(): void;
		/** [Method] Changes the data store bound to this LoadMask  
		* @param store Ext.data.Store The store to bind to this LoadMask 
		*/
		bindStore?( store?:Ext.data.IStore ): void;
		/** [Method] Binds listeners for this component to the store  
		* @param store Ext.data.AbstractStore The store to bind to 
		*/
		bindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
		/** [Method] Center this Component in its container  
		* @returns Ext.Component this 
		*/
		center?(): Ext.IComponent;
		/** [Method] Moves this floating Component into a constrain region  
		* @param constrainTo String/HTMLElement/Ext.Element/Ext.util.Region The Element or Region into which this Component is to be constrained. Defaults to the element into which this floating Component was rendered. 
		*/
		doConstrain?( constrainTo?:any ): void;
		/** [Method] Gets the current store instance  
		* @returns Ext.data.AbstractStore The store, null if one does not exist. 
		*/
		getStore?(): Ext.data.IAbstractStore;
		/** [Method] Gets the listeners to bind to a new store  
		* @param store Object 
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?( store?:any ): any;
		/** [Method] Hides this Component setting it to invisible using the configured hideMode  
		* @returns Ext.Component this 
		*/
		hide?(): Ext.IComponent;
		/** [Method] Template method it is called when a new store is bound to the current instance  
		* @param store Ext.data.AbstractStore The store being bound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onBindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Allows addition of behavior to the disable operation  */
		onDisable?(): void;
		/** [Method] Possibly animates down to a target element  */
		onHide?(): void;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  
		* @param store Ext.data.AbstractStore The store being unbound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onUnbindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] This method is called internally by Ext ZIndexManager to signal that a floating Component has either been moved to th  
		* @param active Boolean True to activate the Component, false to deactivate it. 
		* @param newActive Ext.Component The newly active Component which is taking over topmost zIndex position. 
		*/
		setActive?( active?:boolean, newActive?:Ext.IComponent ): void;
		/** [Method] Shows this Component rendering it first if autoRender or floating are true  
		* @returns Ext.Component this 
		*/
		show?(): Ext.IComponent;
		/** [Method] Sends this Component to the back of lower z index than any other visible windows 
		* @returns Ext.Component this 
		*/
		toBack?(): Ext.IComponent;
		/** [Method] Brings this floating Component to the front of any other visible floating Components managed by the same ZIndexManag  
		* @param preventFocus Boolean Specify true to prevent the Component from being focused. 
		* @returns Ext.Component this 
		*/
		toFront?( preventFocus?:boolean ): Ext.IComponent;
		/** [Method] Unbinds listeners from this component to the store  
		* @param store Ext.data.AbstractStore The store to unbind from 
		*/
		unbindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
	}
}
declare module Ext.menu {
	export interface ICheckItem extends Ext.menu.IItem {
		/** [Config Option] (Boolean) */
		checkChangeDisabled?: boolean;
		/** [Config Option] (Function) */
		checkHandler?: any;
		/** [Config Option] (Boolean) */
		checked?: boolean;
		/** [Config Option] (String) */
		checkedCls?: string;
		/** [Config Option] (String) */
		group?: string;
		/** [Config Option] (String) */
		groupCls?: string;
		/** [Config Option] (Boolean) */
		hideOnClick?: boolean;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (String) */
		uncheckedCls?: string;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Disables just the checkbox functionality of this menu Item  */
		disableCheckChange?(): void;
		/** [Method] Reenables the checkbox functionality of this menu item after having been disabled by disableCheckChange */
		enableCheckChange?(): void;
		/** [Method] The initComponent template method is an important initialization step for a Component  */
		initComponent?(): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Sets the checked state of the item 
		* @param checked Boolean True to check, false to uncheck 
		* @param suppressEvents Boolean True to prevent firing the checkchange events. 
		*/
		setChecked?( checked?:boolean, suppressEvents?:boolean ): void;
	}
}
declare module Ext.menu {
	export interface IColorPicker extends Ext.menu.IMenu {
		/** [Config Option] (Boolean) */
		hideOnClick?: boolean;
		/** [Config Option] (String) */
		pickerId?: string;
		/** [Property] (Ext.picker.Color) */
		picker?: Ext.picker.IColor;
	}
}
declare module Ext.menu {
	export interface IDatePicker extends Ext.menu.IMenu {
		/** [Config Option] (Boolean) */
		hideOnClick?: boolean;
		/** [Config Option] (String) */
		pickerId?: string;
		/** [Property] (Ext.picker.Date) */
		picker?: Ext.picker.IDate;
	}
}
declare module Ext.menu {
	export interface IItem extends Ext.IComponent,Ext.IQueryable {
		/** [Config Option] (String) */
		activeCls?: string;
		/** [Config Option] (Boolean) */
		canActivate?: boolean;
		/** [Config Option] (Number) */
		clickHideDelay?: number;
		/** [Config Option] (Boolean) */
		destroyMenu?: boolean;
		/** [Config Option] (String) */
		disabledCls?: string;
		/** [Config Option] (Number/String) */
		glyph?: any;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (Boolean) */
		hideOnClick?: boolean;
		/** [Config Option] (String) */
		href?: string;
		/** [Config Option] (String) */
		hrefTarget?: string;
		/** [Config Option] (String) */
		icon?: string;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (Ext.menu.Menu/Object) */
		menu?: any;
		/** [Config Option] (String) */
		menuAlign?: string;
		/** [Config Option] (Number) */
		menuExpandDelay?: number;
		/** [Config Option] (Number) */
		menuHideDelay?: number;
		/** [Config Option] (Boolean) */
		plain?: boolean;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (String/Object) */
		tooltip?: any;
		/** [Config Option] (String) */
		tooltipType?: string;
		/** [Property] (Boolean) */
		activated?: boolean;
		/** [Property] (Boolean) */
		maskOnDisable?: boolean;
		/** [Property] (Ext.menu.Menu) */
		parentMenu?: Ext.menu.IMenu;
		/** [Method] Retrieves the first direct child of this container which matches the passed selector or component  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching child Ext.Component (or null if no match was found). 
		*/
		child?( selector?:any ): any;
		/** [Method] Retrieves the first descendant of this container which matches the passed selector  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector or Ext.Component. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching descendant Ext.Component (or null if no match was found). 
		*/
		down?( selector?:any ): any;
		/** [Method] The initComponent template method is an important initialization step for a Component  */
		initComponent?(): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Method to manage awareness of when components are removed from their respective Container firing a removed event  */
		onRemoved?(): void;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
		/** [Method] Retrieves all descendant components which match the passed selector  
		* @param selector String Selector complying to an Ext.ComponentQuery selector. If no selector is specified all items will be returned. 
		* @returns Ext.Component[] Components which matched the selector 
		*/
		query?( selector?:string ): Ext.IComponent[];
		/** [Method] Retrieves all descendant components which match the passed function  
		* @param fn Function The matcher function. It will be called with a single argument, the component being tested. 
		* @param scope Object The scope in which to run the function. If not specified, it will default to the active component. 
		* @returns Ext.Component[] Components matched by the passed function 
		*/
		queryBy?( fn?:any, scope?:any ): Ext.IComponent[];
		/** [Method] Finds a component at any level under this container matching the id itemId  
		* @param id String The id to find 
		* @returns Ext.Component The matching id, null if not found 
		*/
		queryById?( id?:string ): Ext.IComponent;
		/** [Method] Sets the click handler of this item 
		* @param fn Function The handler function 
		* @param scope Object The scope of the handler function 
		*/
		setHandler?( fn?:any, scope?:any ): void;
		/** [Method] Sets the icon on this item  
		* @param icon String The new icon 
		*/
		setIcon?( icon?:string ): void;
		/** [Method] Sets the iconCls of this item 
		* @param iconCls String The CSS class to set to iconCls 
		*/
		setIconCls?( iconCls?:string ): void;
		/** [Method] Set a child menu for this item  
		* @param menu Ext.menu.Menu/Object A menu, or menu configuration. null may be passed to remove the menu. 
		* @param destroyMenu Boolean True to destroy any existing menu. False to prevent destruction. If not specified, the destroyMenu configuration will be used. 
		*/
		setMenu?( menu?:any, destroyMenu?:boolean ): void;
		/** [Method] Sets the text of this item 
		* @param text String The text 
		*/
		setText?( text?:string ): void;
		/** [Method] Sets the tooltip for this menu item  
		* @param tooltip String/Object This may be:  String : A string to be used as innerHTML (html tags are accepted) to show in a tooltip Object : A configuration object for Ext.tip.QuickTipManager.register.  
		* @returns Ext.menu.Item this 
		*/
		setTooltip?( tooltip?:any ): Ext.menu.IItem;
	}
}
declare module Ext.menu {
	export interface ITextItem extends Ext.IComponent,Ext.IQueryable {
		/** [Config Option] (String) */
		activeCls?: string;
		/** [Config Option] (Boolean) */
		canActivate?: boolean;
		/** [Config Option] (Number) */
		clickHideDelay?: number;
		/** [Config Option] (Boolean) */
		destroyMenu?: boolean;
		/** [Config Option] (String) */
		disabledCls?: string;
		/** [Config Option] (Number/String) */
		glyph?: any;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (Boolean) */
		hideOnClick?: boolean;
		/** [Config Option] (String) */
		href?: string;
		/** [Config Option] (String) */
		hrefTarget?: string;
		/** [Config Option] (String) */
		icon?: string;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (Ext.menu.Menu/Object) */
		menu?: any;
		/** [Config Option] (String) */
		menuAlign?: string;
		/** [Config Option] (Number) */
		menuExpandDelay?: number;
		/** [Config Option] (Number) */
		menuHideDelay?: number;
		/** [Config Option] (Boolean) */
		plain?: boolean;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (String/Object) */
		tooltip?: any;
		/** [Config Option] (String) */
		tooltipType?: string;
		/** [Property] (Boolean) */
		activated?: boolean;
		/** [Property] (Boolean) */
		maskOnDisable?: boolean;
		/** [Property] (Ext.menu.Menu) */
		parentMenu?: Ext.menu.IMenu;
		/** [Method] Retrieves the first direct child of this container which matches the passed selector or component  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching child Ext.Component (or null if no match was found). 
		*/
		child?( selector?:any ): any;
		/** [Method] Retrieves the first descendant of this container which matches the passed selector  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector or Ext.Component. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching descendant Ext.Component (or null if no match was found). 
		*/
		down?( selector?:any ): any;
		/** [Method] The initComponent template method is an important initialization step for a Component  */
		initComponent?(): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Method to manage awareness of when components are removed from their respective Container firing a removed event  */
		onRemoved?(): void;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
		/** [Method] Retrieves all descendant components which match the passed selector  
		* @param selector String Selector complying to an Ext.ComponentQuery selector. If no selector is specified all items will be returned. 
		* @returns Ext.Component[] Components which matched the selector 
		*/
		query?( selector?:string ): Ext.IComponent[];
		/** [Method] Retrieves all descendant components which match the passed function  
		* @param fn Function The matcher function. It will be called with a single argument, the component being tested. 
		* @param scope Object The scope in which to run the function. If not specified, it will default to the active component. 
		* @returns Ext.Component[] Components matched by the passed function 
		*/
		queryBy?( fn?:any, scope?:any ): Ext.IComponent[];
		/** [Method] Finds a component at any level under this container matching the id itemId  
		* @param id String The id to find 
		* @returns Ext.Component The matching id, null if not found 
		*/
		queryById?( id?:string ): Ext.IComponent;
		/** [Method] Sets the click handler of this item 
		* @param fn Function The handler function 
		* @param scope Object The scope of the handler function 
		*/
		setHandler?( fn?:any, scope?:any ): void;
		/** [Method] Sets the icon on this item  
		* @param icon String The new icon 
		*/
		setIcon?( icon?:string ): void;
		/** [Method] Sets the iconCls of this item 
		* @param iconCls String The CSS class to set to iconCls 
		*/
		setIconCls?( iconCls?:string ): void;
		/** [Method] Set a child menu for this item  
		* @param menu Ext.menu.Menu/Object A menu, or menu configuration. null may be passed to remove the menu. 
		* @param destroyMenu Boolean True to destroy any existing menu. False to prevent destruction. If not specified, the destroyMenu configuration will be used. 
		*/
		setMenu?( menu?:any, destroyMenu?:boolean ): void;
		/** [Method] Sets the text of this item 
		* @param text String The text 
		*/
		setText?( text?:string ): void;
		/** [Method] Sets the tooltip for this menu item  
		* @param tooltip String/Object This may be:  String : A string to be used as innerHTML (html tags are accepted) to show in a tooltip Object : A configuration object for Ext.tip.QuickTipManager.register.  
		* @returns Ext.menu.Item this 
		*/
		setTooltip?( tooltip?:any ): Ext.menu.IItem;
	}
}
declare module Ext.menu {
	export interface IKeyNav extends Ext.util.IKeyNav {
	}
}
declare module Ext.menu {
	export interface IManager extends Ext.IBase {
	}
	export class Manager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns a Ext menu Menu object 
		* @param menu String/Object The string menu id, an existing menu object reference, or a Menu config that will be used to generate and return a new Menu this. 
		* @returns Ext.menu.Menu The specified menu, or null if none are found 
		*/
		static get( menu?:any ): Ext.menu.IMenu;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Hides all menus that are currently visible 
		* @returns Boolean success True if any active menus were hidden. 
		*/
		static hideAll(): boolean;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.menu {
	export interface IMenuMgr extends Ext.IBase {
	}
	export class MenuMgr {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns a Ext menu Menu object 
		* @param menu String/Object The string menu id, an existing menu object reference, or a Menu config that will be used to generate and return a new Menu this. 
		* @returns Ext.menu.Menu The specified menu, or null if none are found 
		*/
		static get( menu?:any ): Ext.menu.IMenu;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Hides all menus that are currently visible 
		* @returns Boolean success True if any active menus were hidden. 
		*/
		static hideAll(): boolean;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.menu {
	export interface IMenu extends Ext.panel.IPanel {
		/** [Config Option] (Boolean) */
		allowOtherMenus?: boolean;
		/** [Config Option] (Boolean) */
		enableKeyNav?: boolean;
		/** [Config Option] (Boolean) */
		floating?: boolean;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (String) */
		hideMode?: string;
		/** [Config Option] (Boolean) */
		ignoreParentClicks?: boolean;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (Boolean) */
		plain?: boolean;
		/** [Config Option] (Boolean) */
		showSeparator?: boolean;
		/** [Property] (Boolean) */
		isMenu?: boolean;
		/** [Property] (Ext.menu.Menu) */
		parentMenu?: Ext.menu.IMenu;
		/** [Method] Invoked after the Component is shown after onShow is called */
		afterShow?(): void;
		/** [Method] Invoked before the Component is shown  */
		beforeShow?(): void;
		/** [Method] Returns whether a menu item can be activated or not  
		* @param item Object 
		* @returns Boolean 
		*/
		canActivateItem?( item?:any ): boolean;
		/** [Method] Deactivates the current active item on the menu if one exists  
		* @param andBlurFocusedItem Object 
		*/
		deactivateActiveItem?( andBlurFocusedItem?:any ): void;
		/** [Method] Hides this Component setting it to invisible using the configured hideMode  
		* @returns Ext.Component this 
		*/
		hide?(): Ext.IComponent;
		/** [Method] Menus are never contained and must not ascertain their visibility from the ancestor hierarchy 
		* @returns Boolean true if this component is visible, false otherwise. 
		*/
		isVisible?(): boolean;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Shows this component by the specified Component or Element  
		* @param cmp Object 
		* @param pos Object 
		* @param off Object 
		* @returns Ext.Component this 
		*/
		showBy?( cmp?:any, pos?:any, off?:any ): Ext.IComponent;
	}
}
declare module Ext.menu {
	export interface ISeparator extends Ext.menu.IItem {
		/** [Config Option] (String) */
		separatorCls?: string;
	}
}
declare module Ext {
	export interface IMessageBox extends Ext.window.IMessageBox {
	}
	export class MessageBox {
		/** [Method] Adds Component s to this Container  
		* @param component Ext.Component[]|Object[]/Ext.Component.../Object... Either one or more Components to add or an Array of Components to add. See items for additional information. 
		* @returns Ext.Component[]/Ext.Component The Components that were added. 
		*/
		static add( component?:any ): any;
		/** [Method] Adds a CSS class to the body element  
		* @param cls String The class to add 
		* @returns Ext.panel.Panel this 
		*/
		static addBodyCls( cls?:string ): Ext.panel.IPanel;
		/** [Method] Adds each argument passed to this method to the childEls array  */
		static addChildEls(): void;
		/** [Method] Adds a CSS class to the top level element representing this component  
		* @param cls String/String[] The CSS class name to add. 
		* @returns Ext.Component Returns the Component to allow method chaining. 
		*/
		static addClass( cls?:any ): Ext.IComponent;
		/** [Method] Adds a CSS class to the top level element representing this component  
		* @param cls String/String[] The CSS class name to add. 
		* @returns Ext.Component Returns the Component to allow method chaining. 
		*/
		static addCls( cls?:any ): Ext.IComponent;
		/** [Method] Adds a cls to the uiCls array which will also call addUIClsToElement and adds to all elements of this component  
		* @param classes String/String[] A string or an array of strings to add to the uiCls. 
		* @param skip Object (Boolean) skip true to skip adding it to the class and do it later (via the return). 
		*/
		static addClsWithUI( classes?:any, skip?:any ): void;
		/** [Method] Adds docked item s to the container  
		* @param component Object/Object[] The Component or array of components to add. The components must include a 'dock' parameter on each component to indicate where it should be docked ('top', 'right', 'bottom', 'left'). 
		* @param pos Number The index at which the Component will be added 
		* @returns Ext.Component[] The added components. 
		*/
		static addDocked( component?:any, pos?:number ): Ext.IComponent[];
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param element Object 
		* @param listeners Object 
		* @param scope Object 
		* @param options Object 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( element?:any, listeners?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Save a property to the given state object if it is not its default or configured value  
		* @param state Object The state object. 
		* @param propName String The name of the property on this object to save. 
		* @param value String The value of the state property (defaults to this[propName]). 
		* @returns Boolean The state object or a new object if state was null and the property was saved. 
		*/
		static addPropertyToState( state?:any, propName?:string, value?:string ): boolean;
		/** [Method] Add events that will trigger the state to be saved  
		* @param events String/String[] The event name or an array of event names. 
		*/
		static addStateEvents( events?:any ): void;
		/** [Method] Add tools to this panel 
		* @param tools Object[]/Ext.panel.Tool[] The tools to add 
		*/
		static addTool( tools?:any ): void;
		/** [Method] inherit docs 
		* @param cls Object 
		*/
		static addUIClsToElement( cls?:any ): void;
		/** [Method] Invoked after the Panel is Collapsed  */
		static afterCollapse(): void;
		/** [Method] Called by the layout system after the Component has been laid out  */
		static afterComponentLayout(): void;
		/** [Method] Invoked after the Panel is Expanded  */
		static afterExpand(): void;
		/** [Method] Invoked after the Container has laid out and rendered if necessary its child Components  
		* @param layout Ext.layout.container.Container 
		*/
		static afterLayout( layout?:Ext.layout.container.IContainer ): void;
		/** [Method] Template method called after a Component has been positioned  
		* @param ax Object 
		* @param ay Object 
		*/
		static afterSetPosition( ax?:any, ay?:any ): void;
		/** [Method] Invoked after the Component is shown after onShow is called 
		* @param animateTarget String/Ext.Element 
		* @param callback Function 
		* @param scope Object 
		*/
		static afterShow( animateTarget?:any, callback?:any, scope?:any ): void;
		/** [Method] Displays a standard read only message box with an OK button comparable to the basic JavaScript alert prompt 
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param fn Function The callback function invoked after the message box is closed. See show method for details. 
		* @param scope Object The scope (this reference) in which the callback is executed. 
		* @returns Ext.window.MessageBox this 
		*/
		static alert( title?:string, msg?:string, fn?:any, scope?:any ): Ext.window.IMessageBox;
		/** [Method] Aligns the element with another element relative to the specified anchor points  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		static alignTo( element?:any, position?:string, offsets?:number[], animate?:any ): Ext.util.IPositionable;
		/** [Method] Anchors an element to another element and realigns it when the window is resized  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @param monitorScroll Boolean/Number True to monitor body scroll and reposition. If this parameter is a number, it is used as the buffer delay in milliseconds. 
		* @param callback Function The function to call after the animation finishes 
		* @returns Ext.util.Positionable this 
		*/
		static anchorTo( element?:any, position?:string, offsets?:number[], animate?:any, monitorScroll?:any, callback?:any ): Ext.util.IPositionable;
		/** [Method] Performs custom animation on this object  
		* @param animObj Object 
		* @returns Object this 
		*/
		static animate( animObj?:any ): any;
		/** [Method] Applies the state to the object  
		* @param state Object 
		*/
		static applyState( state?:any ): void;
		/** [Method] Template method to do any pre blur processing  
		* @param e Ext.EventObject The event object 
		*/
		static beforeBlur( e?:Ext.IEventObject ): void;
		/** [Method] Occurs before componentLayout is run  
		* @param adjWidth Number The box-adjusted width that was set. 
		* @param adjHeight Number The box-adjusted height that was set. 
		*/
		static beforeComponentLayout( adjWidth?:number, adjHeight?:number ): void;
		/** [Method] Template method to do any pre focus processing  
		* @param e Ext.EventObject The event object 
		*/
		static beforeFocus( e?:Ext.IEventObject ): void;
		/** [Method] Occurs before componentLayout is run  */
		static beforeLayout(): void;
		/** [Method] Invoked before the Component is shown  */
		static beforeShow(): void;
		/** [Method] Bubbles up the component container heirarchy calling the specified function with each component  
		* @param fn Function The function to call 
		* @param scope Object The scope of the function. Defaults to current node. 
		* @param args Array The args to call the function with. Defaults to passing the current component. 
		* @returns Ext.Component this 
		*/
		static bubble( fn?:any, scope?:any, args?:any[] ): Ext.IComponent;
		/** [Method] Calculates the new x y position to move this Positionable into a constrain region  
		* @param constrainTo String/HTMLElement/Ext.Element/Ext.util.Region The Element or Region into which this Component is to be constrained. Defaults to the element into which this Positionable was rendered, or this Component's {@link Ext.Component.constrainTo. 
		* @param proposedPosition Number[] A proposed [X, Y] position to test for validity and to coerce into constraints instead of using this Positionable's current position. 
		* @param local Boolean The proposedPosition is local (relative to floatParent if a floating Component) 
		* @param proposedSize Number[] A proposed [width, height] size to use when calculating constraints instead of using this Positionable's current size. 
		* @returns Number[] If the element needs to be translated, the new [X, Y] position within constraints if possible, giving priority to keeping the top and left edge in the constrain region. Otherwise, false. 
		*/
		static calculateConstrainedPosition( constrainTo?:any, proposedPosition?:number[], local?:boolean, proposedSize?:number[] ): number[];
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Cancel any deferred focus on this component */
		static cancelFocus(): void;
		/** [Method] Cascades down the component container heirarchy from this component passed in the first call  calling the specified  
		* @param fn Function The function to call 
		* @param scope Object The scope of the function (defaults to current component) 
		* @param args Array The args to call the function with. The current component always passed as the last argument. 
		* @returns Ext.Container this 
		*/
		static cascade( fn?:any, scope?:any, args?:any[] ): Ext.IContainer;
		/** [Method] Center this Component in its container  
		* @returns Ext.Component this 
		*/
		static center(): Ext.IComponent;
		/** [Method] Retrieves the first direct child of this container which matches the passed selector or component  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching child Ext.Component (or null if no match was found). 
		*/
		static child( selector?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Clone the current component using the original config values passed into this instance by default  
		* @param overrides Object A new config containing any properties to override in the cloned version. An id property can be passed on this object, otherwise one will be generated to avoid duplicates. 
		* @returns Ext.Component clone The cloned copy of this component 
		*/
		static cloneConfig( overrides?:any ): Ext.IComponent;
		/** [Method] Closes the Panel  */
		static close(): void;
		/** [Method] Collapses the panel body so that the body becomes hidden  
		* @param direction String The direction to collapse towards. Must be one of  Ext.Component.DIRECTION_TOP Ext.Component.DIRECTION_RIGHT Ext.Component.DIRECTION_BOTTOM Ext.Component.DIRECTION_LEFT Defaults to collapseDirection. 
		* @param animate Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config). May also be specified as the animation duration in milliseconds. 
		* @returns Ext.panel.Panel this 
		*/
		static collapse( direction?:string, animate?:boolean ): Ext.panel.IPanel;
		/** [Method] Displays a confirmation message box with Yes and No buttons comparable to JavaScript s confirm 
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param fn Function The callback function invoked after the message box is closed. See show method for details. 
		* @param scope Object The scope (this reference) in which the callback is executed. 
		* @returns Ext.window.MessageBox this 
		*/
		static confirm( title?:string, msg?:string, fn?:any, scope?:any ): Ext.window.IMessageBox;
		/** [Method] Determines whether the passed Component is either an immediate child of this Container or whether it is a descendant  
		* @param comp Ext.Component The Component to test. 
		* @param deep Boolean Pass true to test for the Component being a descendant at any level. 
		* @returns Boolean true if the passed Component is contained at the specified level. 
		*/
		static contains( comp?:Ext.IComponent, deep?:boolean ): boolean;
		/** [Method] converts a collapsdDir into an anchor argument for Element slideIn overridden in rtl mode to switch l and r  
		* @param collapseDir Object 
		*/
		static convertCollapseDir( collapseDir?:any ): void;
		/** [Method] Inherit docs Disable all immediate children that was previously disabled Override disable because onDisable only gets  
		* @returns Ext.container.AbstractContainer this 
		*/
		static disable(): Ext.container.IAbstractContainer;
		/** [Method] Handles autoRender  */
		static doAutoRender(): void;
		/** [Method] This method needs to be called whenever you change something on this component that requires the Component s layout t  
		* @returns Ext.container.Container this 
		*/
		static doComponentLayout(): Ext.container.IContainer;
		/** [Method] Moves this floating Component into a constrain region  
		* @param constrainTo String/HTMLElement/Ext.Element/Ext.util.Region The Element or Region into which this Component is to be constrained. Defaults to the element into which this floating Component was rendered. 
		*/
		static doConstrain( constrainTo?:any ): void;
		/** [Method] Manually force this container s layout to be recalculated  
		* @returns Ext.container.Container this 
		*/
		static doLayout(): Ext.container.IContainer;
		/** [Method] Retrieves the first descendant of this container which matches the passed selector  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector or Ext.Component. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching descendant Ext.Component (or null if no match was found). 
		*/
		static down( selector?:any ): any;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Ensures that this component is attached to document body  
		* @param runLayout Boolean True to run the component's layout. 
		*/
		static ensureAttachedToBody( runLayout?:boolean ): void;
		/** [Method] Expands the panel body so that it becomes visible  
		* @param animate Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config). May also be specified as the animation duration in milliseconds. 
		* @returns Ext.panel.Panel this 
		*/
		static expand( animate?:boolean ): Ext.panel.IPanel;
		/** [Method] Find a container above this component at any level by a custom function  
		* @param fn Function The custom function to call with the arguments (container, this component). 
		* @returns Ext.container.Container The first Container for which the custom function returns true 
		*/
		static findParentBy( fn?:any ): Ext.container.IContainer;
		/** [Method] Find a container above this component at any level by xtype or class See also the up method  
		* @param xtype String/Ext.Class The xtype string for a component, or the class of the component directly 
		* @returns Ext.container.Container The first Container which matches the given xtype or class 
		*/
		static findParentByType( xtype?:any ): Ext.container.IContainer;
		/** [Method] Retrieves plugin from this component s collection by its ptype  
		* @param ptype String The Plugin's ptype as specified by the class's alias configuration. 
		* @returns Ext.AbstractPlugin plugin instance. 
		*/
		static findPlugin( ptype?:string ): Ext.IAbstractPlugin;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Try to focus this component  
		* @param selectText Boolean If applicable, true to also select the text in this component 
		* @param delay Boolean/Number Delay the focus this number of milliseconds (true for 10 milliseconds). 
		* @param callback Function Only needed if the delay parameter is used. A function to call upon focus. 
		* @param scope Function Only needed if the delay parameter is used. The scope (this reference) in which to execute the callback. 
		* @returns Ext.Component The focused Component. Usually this Component. Some Containers may delegate focus to a descendant Component (Windows can do this through their defaultFocus config option. 
		*/
		static focus( selectText?:boolean, delay?:any, callback?:any, scope?:any ): Ext.IComponent;
		/** [Method] Forces this component to redo its componentLayout  */
		static forceComponentLayout(): void;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		static getActiveAnimation(): any;
		/** [Method] Gets the x y coordinates to align this element with another element  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @returns Number[] [x, y] 
		*/
		static getAlignToXY( element?:any, position?:string, offsets?:number[] ): number[];
		/** [Method] Gets the x y coordinates specified by the anchor position on the element  
		* @param anchor String The specified anchor position. See alignTo for details on supported anchor positions. 
		* @param local Boolean True to get the local (element top/left-relative) anchor position instead of page coordinates 
		* @param size Object An object containing the size to use for calculating anchor position {width: (target width), height: (target height)} (defaults to the element's current size) 
		* @returns Number[] [x, y] An array containing the element's x and y coordinates 
		*/
		static getAnchorXY( anchor?:string, local?:boolean, size?:any ): number[];
		/** [Method] Return an object defining the area of this Element which can be passed to setBox to set another Element s size locati  
		* @param contentBox Boolean If true a box for the content of the element is returned. 
		* @param local Boolean If true the element's left and top relative to its offsetParent are returned instead of page x/y. 
		* @returns Object box An object in the format: {  x: &lt;Element's X position&gt;,  y: &lt;Element's Y position&gt;,  left: &lt;Element's X position (an alias for x)&gt;,  top: &lt;Element's Y position (an alias for y)&gt;,  width: &lt;Element's width&gt;,  height: &lt;Element's height&gt;,  bottom: &lt;Element's lower bound&gt;,  right: &lt;Element's rightmost bound&gt; }  The returned object may also be addressed as an Array where index 0 contains the X position and index 1 contains the Y position. The result may also be used for setXY 
		*/
		static getBox( contentBox?:boolean, local?:boolean ): any;
		/** [Method] Implements an upward event bubbling policy  */
		static getBubbleTarget(): void;
		/** [Method] Return the immediate child Component in which the passed element is located  
		* @param el Ext.Element/HTMLElement/String The element to test (or ID of element). 
		* @param deep Boolean If true, returns the deepest descendant Component which contains the passed element. 
		* @returns Ext.Component The child item which contains the passed element. 
		*/
		static getChildByElement( el?:any, deep?:boolean ): Ext.IComponent;
		/** [Method] Returns the current collapsed state of the panel  
		* @returns Boolean/String False when not collapsed, otherwise the value of collapseDirection. 
		*/
		static getCollapsed(): any;
		/** [Method] Attempts a default component lookup see Ext container Container getComponent 
		* @param comp String/Number The component id, itemId or position to find 
		* @returns Ext.Component The component (if found) 
		*/
		static getComponent( comp?:any ): Ext.IComponent;
		/** [Method] Returns the X Y vector by which this Positionable s element must be translated to make a best attempt to constrain  
		* @param constrainTo Ext.util.Positionable/HTMLElement/String/Ext.util.Region The Positionable, HTMLElement, element id, or Region into which the element is to be constrained. 
		* @param proposedPosition Number[] A proposed [X, Y] position to test for validity and to produce a vector for instead of using the element's current position 
		* @param proposedSize Number[] A proposed [width, height] size to constrain instead of using the element's current size 
		* @returns Number[]/Boolean If the element needs to be translated, an [X, Y] vector by which this element must be translated. Otherwise, false. 
		*/
		static getConstrainVector( constrainTo?:any, proposedPosition?:number[], proposedSize?:number[] ): any;
		/** [Method] Gets the configured default focus item  */
		static getDefaultFocus(): void;
		/** [Method] Finds a docked component by id itemId or position  
		* @param comp String/Number The id, itemId or position of the docked component (see getComponent for details) 
		* @returns Ext.Component The docked component (if found) 
		*/
		static getDockedComponent( comp?:any ): Ext.IComponent;
		/** [Method] Retrieves an array of all currently docked Components  
		* @param selector String A ComponentQuery selector string to filter the returned items. 
		* @param beforeBody Boolean An optional flag to limit the set of items to only those before the body (true) or after the body (false). All components are returned by default. 
		* @returns Ext.Component[] The array of docked components meeting the specified criteria. 
		*/
		static getDockedItems( selector?:string, beforeBody?:boolean ): Ext.IComponent[];
		/** [Method] Retrieves the top level element representing this component  
		* @returns Ext.dom.Element 
		*/
		static getEl(): Ext.dom.IElement;
		/** [Method] Gets the Header for this panel  */
		static getHeader(): void;
		/** [Method] Gets the current height of the component s underlying element  
		* @returns Number 
		*/
		static getHeight(): number;
		/** [Method] Retrieves the id of this component  
		* @returns String 
		*/
		static getId(): string;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] This function takes the position argument passed to onRender and returns a DOM element that you can use in the insert  
		* @param position String/Number/Ext.dom.Element/HTMLElement Index, element id or element you want to put this component before. 
		* @returns HTMLElement DOM element that you can use in the insertBefore 
		*/
		static getInsertPosition( position?:any ): HTMLElement;
		/** [Method] Returns the value of itemId assigned to this component or when that is not set returns the value of id  
		* @returns String 
		*/
		static getItemId(): string;
		/** [Method] Returns the layout instance currently associated with this Container  
		* @returns Ext.layout.container.Container The layout 
		*/
		static getLayout(): Ext.layout.container.IContainer;
		/** [Method] Gets the Ext ComponentLoader for this Component  
		* @returns Ext.ComponentLoader The loader instance, null if it doesn't exist. 
		*/
		static getLoader(): Ext.IComponentLoader;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @returns Number The local x coordinate 
		*/
		static getLocalX(): number;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @returns Number[] The local XY position of the element 
		*/
		static getLocalXY(): number[];
		/** [Method] Returns the y coordinate of this element reletive to its offsetParent  
		* @returns Number The local y coordinate 
		*/
		static getLocalY(): number;
		/** [Method] Returns the offsets of this element from the passed element  
		* @param offsetsTo Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or element id to get get the offsets from. 
		* @returns Number[] The XY page offsets (e.g. [100, -200]) 
		*/
		static getOffsetsTo( offsetsTo?:any ): number[];
		/** [Method] Retrieves a plugin from this component s collection by its pluginId  
		* @param pluginId String 
		* @returns Ext.AbstractPlugin plugin instance. 
		*/
		static getPlugin( pluginId?:string ): Ext.IAbstractPlugin;
		/** [Method] Gets the current XY position of the component s underlying element  
		* @param local Boolean If true the element's left and top are returned instead of page XY. 
		* @returns Number[] The XY position of the element (e.g., [100, 200]) 
		*/
		static getPosition( local?:boolean ): number[];
		/** [Method] Used by ComponentQuery child and down to retrieve all of the items which can potentially be considered a child of th  
		* @param deep Object 
		*/
		static getRefItems( deep?:any ): void;
		/** [Method] Returns a region object that defines the area of this element  
		* @returns Ext.util.Region A Region containing "top, left, bottom, right" properties. 
		*/
		static getRegion(): Ext.util.IRegion;
		/** [Method] Gets the current size of the component s underlying element  
		* @returns Object An object containing the element's size {width: (element width), height: (element height)} 
		*/
		static getSize(): any;
		/** [Method] Returns an object that describes how this component s width and height are managed  
		* @param ownerCtSizeModel Object 
		* @returns Object The size model for this component. 
		*/
		static getSizeModel( ownerCtSizeModel?:any ): any;
		/** [Method] Returns the content region of this element  
		* @returns Ext.util.Region A Region containing "top, left, bottom, right" member data. 
		*/
		static getViewRegion(): Ext.util.IRegion;
		/** [Method] Gets the current width of the component s underlying element  
		* @returns Number 
		*/
		static getWidth(): number;
		/** [Method] Gets the current X position of the DOM element based on page coordinates  
		* @returns Number The X position of the element 
		*/
		static getX(): number;
		/** [Method] Gets the xtype for this component as registered with Ext ComponentManager  
		* @returns String The xtype 
		*/
		static getXType(): string;
		/** [Method] Returns this Component s xtype hierarchy as a slash delimited string  
		* @returns String The xtype hierarchy string 
		*/
		static getXTypes(): string;
		/** [Method] Gets the current position of the DOM element based on page coordinates  
		* @returns Number[] The XY position of the element 
		*/
		static getXY(): number[];
		/** [Method] Gets the current Y position of the DOM element based on page coordinates  
		* @returns Number The Y position of the element 
		*/
		static getY(): number;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		static hasActiveFx(): any;
		/** [Method] Checks if the specified CSS class exists on this element s DOM node  
		* @param className String The CSS class to check for. 
		* @returns Boolean true if the class exists, else false. 
		*/
		static hasCls( className?:string ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Checks if there is currently a specified uiCls  
		* @param cls String The cls to check. 
		*/
		static hasUICls( cls?:string ): void;
		/** [Method] Hides this Component setting it to invisible using the configured hideMode  
		* @returns Ext.Component this 
		*/
		static hide(): Ext.IComponent;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Initialize any events on this component */
		static initEvents(): void;
		/** [Method] Inserts a Component into this Container at a specified index  
		* @param index Number The index at which the Component will be inserted into the Container's items collection 
		* @param component Ext.Component/Object The child Component to insert. Ext uses lazy rendering, and will only render the inserted Component should it become necessary. A Component config object may be passed in order to avoid the overhead of constructing a real Component object if lazy rendering might mean that the inserted Component will not be rendered immediately. To take advantage of this 'lazy instantiation', set the Ext.Component.xtype config property to the registered type of the Component wanted. For a list of all available xtypes, see Ext.enums.Widget. 
		* @returns Ext.Component component The Component (or config object) that was inserted with the Container's default config values applied. 
		*/
		static insert( index?:number, component?:any ): Ext.IComponent;
		/** [Method] Inserts docked item s to the panel at the indicated position  
		* @param pos Number The index at which the Component will be inserted 
		* @param component Object/Object[] The Component or array of components to add. The components must include a 'dock' paramater on each component to indicate where it should be docked ('top', 'right', 'bottom', 'left'). 
		*/
		static insertDocked( pos?:number, component?:any ): void;
		/** [Method] Tests whether this Component matches the selector string  
		* @param selector String The selector string to test against. 
		* @returns Boolean true if this Component matches the selector. 
		*/
		static is( selector?:string ): boolean;
		/** [Method] Determines whether this Container is an ancestor of the passed Component  
		* @param possibleDescendant Ext.Component The Component to test for presence within this Container's subtree. 
		*/
		static isAncestor( possibleDescendant?:Ext.IComponent ): void;
		/** [Method] Determines whether this component is the descendant of a particular container  
		* @param container Ext.Container 
		* @returns Boolean true if the component is the descendant of a particular container, otherwise false. 
		*/
		static isDescendantOf( container?:Ext.IContainer ): boolean;
		/** [Method] Method to determine whether this Component is currently disabled  
		* @returns Boolean the disabled state of this Component. 
		*/
		static isDisabled(): boolean;
		/** [Method] Method to determine whether this Component is draggable  
		* @returns Boolean the draggable state of this component. 
		*/
		static isDraggable(): boolean;
		/** [Method] Method to determine whether this Component is droppable  
		* @returns Boolean the droppable state of this component. 
		*/
		static isDroppable(): boolean;
		/** [Method] Method to determine whether this Component is floating  
		* @returns Boolean the floating state of this component. 
		*/
		static isFloating(): boolean;
		/** [Method] Method to determine whether this Component is currently set to hidden  
		* @returns Boolean the hidden state of this Component. 
		*/
		static isHidden(): boolean;
		/** [Method] Determines whether this Component is the root of a layout  */
		static isLayoutRoot(): void;
		/** [Method] Returns true if layout is suspended for this component  
		* @returns Boolean true layout of this component is suspended. 
		*/
		static isLayoutSuspended(): boolean;
		/** [Method] Returns true if this component is visible  
		* @param deep Object 
		* @returns Boolean true if this component is visible, false otherwise. 
		*/
		static isVisible( deep?:any ): boolean;
		/** [Method] Tests whether or not this Component is of a specific xtype  
		* @param xtype String The xtype to check for this Component 
		* @param shallow Boolean true to check whether this Component is directly of the specified xtype, false to check whether this Component is descended from the xtype. 
		* @returns Boolean true if this component descends from the specified xtype, false otherwise. 
		*/
		static isXType( xtype?:string, shallow?:boolean ): boolean;
		/** [Method] Fits the window within its current container and automatically replaces the maximize tool button with the restore 
		* @param animate Boolean true to animate this Window to full size. 
		* @returns Ext.window.Window this 
		*/
		static maximize( animate?:boolean ): Ext.window.IWindow;
		/** [Method] Placeholder method for minimizing the window  
		* @returns Ext.window.Window this 
		*/
		static minimize(): Ext.window.IWindow;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Moves a Component within the Container 
		* @param fromIdx Number/Ext.Component The index/component to move. 
		* @param toIdx Number The new index for the Component. 
		* @returns Ext.Component component The Component that was moved. 
		*/
		static move( fromIdx?:any, toIdx?:number ): Ext.IComponent;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Returns the next node in the Component tree in tree traversal order  
		* @param selector String A ComponentQuery selector to filter the following nodes. 
		* @returns Ext.Component The next node (or the next node which matches the selector). Returns null if there is no matching node. 
		*/
		static nextNode( selector?:string ): Ext.IComponent;
		/** [Method] Returns the next sibling of this Component  
		* @param selector String A ComponentQuery selector to filter the following items. 
		* @returns Ext.Component The next sibling (or the next sibling which matches the selector). Returns null if there is no matching sibling. 
		*/
		static nextSibling( selector?:string ): Ext.IComponent;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] This method is invoked after a new Component has been added  
		* @param component Ext.Component 
		* @param position Number 
		*/
		static onAdd( component?:Ext.IComponent, position?:number ): void;
		/** [Method] Method to manage awareness of when components are added to their respective Container firing an added event  */
		static onAdded(): void;
		/** [Method] This method is invoked before adding a new child Component  
		* @param item Ext.Component 
		*/
		static onBeforeAdd( item?:Ext.IComponent ): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		static onDestroy(): void;
		/** [Method] Allows addition of behavior to the disable operation  */
		static onDisable(): void;
		/** [Method] Invoked after a docked item is added to the Panel  
		* @param component Ext.Component 
		*/
		static onDockedAdd( component?:Ext.IComponent ): void;
		/** [Method] Invoked after a docked item is removed from the Panel  
		* @param component Ext.Component 
		*/
		static onDockedRemove( component?:Ext.IComponent ): void;
		/** [Method] Allows addition of behavior to the enable operation  */
		static onEnable(): void;
		/** [Method] Possibly animates down to a target element  */
		static onHide(): void;
		/** [Method] Called after the component is moved this method is empty by default but can be implemented by any subclass that need  */
		static onPosition(): void;
		/** [Method] This method is invoked after a new Component has been removed  
		* @param component Ext.Component 
		* @param autoDestroy Boolean 
		*/
		static onRemove( component?:Ext.IComponent, autoDestroy?:boolean ): void;
		/** [Method] Method to manage awareness of when components are removed from their respective Container firing a removed event  
		* @param destroying Object 
		*/
		static onRemoved( destroying?:any ): void;
		/** [Method] Allows addition of behavior to the resize operation  */
		static onResize(): void;
		/** [Method] Allows addition of behavior to the show operation  */
		static onShow(): void;
		/** [Method] Invoked after the afterShow method is complete  
		* @param callback Function 
		* @param scope Object 
		*/
		static onShowComplete( callback?:any, scope?:any ): void;
		/** [Method] Template method to do any post blur processing  
		* @param e Ext.EventObject The event object 
		*/
		static postBlur( e?:Ext.IEventObject ): void;
		/** [Method] Returns the previous node in the Component tree in tree traversal order  
		* @param selector String A ComponentQuery selector to filter the preceding nodes. 
		* @returns Ext.Component The previous node (or the previous node which matches the selector). Returns null if there is no matching node. 
		*/
		static previousNode( selector?:string ): Ext.IComponent;
		/** [Method] Returns the previous sibling of this Component  
		* @param selector String A ComponentQuery selector to filter the preceding items. 
		* @returns Ext.Component The previous sibling (or the previous sibling which matches the selector). Returns null if there is no matching sibling. 
		*/
		static previousSibling( selector?:string ): Ext.IComponent;
		/** [Method] Displays a message box with a progress bar  
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param progressText String The text to display inside the progress bar 
		* @returns Ext.window.MessageBox this 
		*/
		static progress( title?:string, msg?:string, progressText?:string ): Ext.window.IMessageBox;
		/** [Method] Displays a message box with OK and Cancel buttons prompting the user to enter some text comparable to JavaScript s p  
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param fn Function The callback function invoked after the message box is closed. See show method for details. 
		* @param scope Object The scope (this reference) in which the callback is executed. 
		* @param multiline Boolean/Number True to create a multiline textbox using the defaultTextHeight property, or the height in pixels to create the textbox/ 
		* @param value String Default value of the text input element 
		* @returns Ext.window.MessageBox this 
		*/
		static prompt( title?:string, msg?:string, fn?:any, scope?:any, multiline?:any, value?:string ): Ext.window.IMessageBox;
		/** [Method] Retrieves all descendant components which match the passed selector  
		* @param selector String Selector complying to an Ext.ComponentQuery selector. If no selector is specified all items will be returned. 
		* @returns Ext.Component[] Components which matched the selector 
		*/
		static query( selector?:string ): Ext.IComponent[];
		/** [Method] Retrieves all descendant components which match the passed function  
		* @param fn Function The matcher function. It will be called with a single argument, the component being tested. 
		* @param scope Object The scope in which to run the function. If not specified, it will default to the active component. 
		* @returns Ext.Component[] Components matched by the passed function 
		*/
		static queryBy( fn?:any, scope?:any ): Ext.IComponent[];
		/** [Method] Finds a component at any level under this container matching the id itemId  
		* @param id String The id to find 
		* @returns Ext.Component The matching id, null if not found 
		*/
		static queryById( id?:string ): Ext.IComponent;
		/** [Method] Called by Component doAutoRender Register a Container configured floating true with this Component s ZIndexManager  
		* @param cmp Object 
		*/
		static registerFloatingItem( cmp?:any ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes a component from this container  
		* @param component Ext.Component/String The component reference or id to remove. 
		* @param autoDestroy Boolean True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config. 
		* @returns Ext.Component component The Component that was removed. 
		*/
		static remove( component?:any, autoDestroy?:boolean ): Ext.IComponent;
		/** [Method] Removes all components from this container  
		* @param autoDestroy Boolean True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config. 
		* @returns Ext.Component[] Array of the removed components 
		*/
		static removeAll( autoDestroy?:boolean ): Ext.IComponent[];
		/** [Method] Remove any anchor to this element  
		* @returns Ext.util.Positionable this 
		*/
		static removeAnchor(): Ext.util.IPositionable;
		/** [Method] Removes a CSS class from the body element  
		* @param cls String The class to remove 
		* @returns Ext.panel.Panel this 
		*/
		static removeBodyCls( cls?:string ): Ext.panel.IPanel;
		/** [Method] Removes items in the childEls array based on the return value of a supplied test function  
		* @param testFn Function The test function. 
		*/
		static removeChildEls( testFn?:any ): void;
		/** [Method] Removes a CSS class from the top level element representing this component  
		* @param cls String/String[] The CSS class name to remove. 
		* @returns Ext.Component Returns the Component to allow method chaining. 
		*/
		static removeCls( cls?:any ): Ext.IComponent;
		/** [Method] Removes a cls to the uiCls array which will also call removeUIClsFromElement and removes it from all elements of thi  
		* @param cls String/String[] A string or an array of strings to remove to the uiCls. 
		*/
		static removeClsWithUI( cls?:any ): void;
		/** [Method] Removes the docked item from the panel  
		* @param item Ext.Component The Component to remove. 
		* @param autoDestroy Boolean Destroy the component after removal. 
		*/
		static removeDocked( item?:Ext.IComponent, autoDestroy?:boolean ): void;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] inherit docs 
		* @param cls Object 
		*/
		static removeUIClsFromElement( cls?:any ): void;
		/** [Method] Renders the Component into the passed HTML element  
		* @param container Ext.Element/HTMLElement/String The element this Component should be rendered into. If it is being created from existing markup, this should be omitted. 
		* @param position String/Number The element ID or DOM node index within the container before which this component will be inserted (defaults to appending to the end of the container) 
		*/
		static render( container?:any, position?:any ): void;
		/** [Method] Restores a maximized window back to its original size and position prior to being maximized and also replaces the re  
		* @param animate Object 
		* @returns Ext.window.Window this 
		*/
		static restore( animate?:any ): Ext.window.IWindow;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Conditionally saves a single property from this object to the given state object  
		* @param propName String The name of the property to save. 
		* @param state Object The state object in to which to save the property. 
		* @param stateName String The name to use for the property in state. 
		* @returns Boolean True if the property was saved, false if not. 
		*/
		static savePropToState( propName?:string, state?:any, stateName?:string ): boolean;
		/** [Method] Gathers additional named properties of the instance and adds their current values to the passed state object  
		* @param propNames String/String[] The name (or array of names) of the property to save. 
		* @param state Object The state object in to which to save the property values. 
		* @returns Object state 
		*/
		static savePropsToState( propNames?:any, state?:any ): any;
		/** [Method] Saves the state of the object to the persistence store  */
		static saveState(): void;
		/** [Method] Scrolls this Component s target element by the passed delta values optionally animating  
		* @param deltaX Number/Number[]/Object Either the x delta, an Array specifying x and y deltas or an object with "x" and "y" properties. 
		* @param deltaY Number/Boolean/Object Either the y delta, or an animate flag or config object. 
		* @param animate Boolean/Object Animate flag/config object if the delta values were passed separately. 
		*/
		static scrollBy( deltaX?:any, deltaY?:any, animate?:any ): void;
		/** [Method] Ensures that all effects queued after sequenceFx is called on this object are run in sequence  
		* @returns Object this 
		*/
		static sequenceFx(): any;
		/** [Method] This method is called internally by Ext ZIndexManager to signal that a floating Component has either been moved to th  
		* @param active Boolean True to activate the Component, false to deactivate it. 
		* @param newActive Ext.Component The newly active Component which is taking over topmost zIndex position. 
		*/
		static setActive( active?:boolean, newActive?:Ext.IComponent ): void;
		/** [Method] Sets the overflow on the content element of the component  
		* @param scroll Boolean True to allow the Component to auto scroll. 
		* @returns Ext.Component this 
		*/
		static setAutoScroll( scroll?:boolean ): Ext.IComponent;
		/** [Method] Sets the body style according to the passed parameters  
		* @param style Mixed A full style specification string, or object, or the name of a style property to set. 
		* @param value String If the first param was a style property name, the style property value. 
		* @returns Ext.panel.Panel this 
		*/
		static setBodyStyle( style?:any, value?:string ): Ext.panel.IPanel;
		/** [Method]  
		* @param border Object 
		* @param targetEl Object 
		*/
		static setBorder( border?:any, targetEl?:any ): void;
		/** [Method] This method changes the region config property for this border region  
		* @param region String The new region value ("north", "south", "east" or "west"). 
		* @returns String The previous value of the region property. 
		*/
		static setBorderRegion( region?:string ): string;
		/** [Method] Sets the element s box  
		* @param box Object The box to fill {x, y, width, height} 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		static setBox( box?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Enable or disable the component  
		* @param disabled Boolean true to disable. 
		*/
		static setDisabled( disabled?:boolean ): void;
		/** [Method] Sets the dock position of this component in its parent panel  
		* @param dock Object The dock position. 
		* @param layoutParent Boolean true to re-layout parent. 
		* @returns Ext.Component this 
		*/
		static setDocked( dock?:any, layoutParent?:boolean ): Ext.IComponent;
		/** [Method] Set the glyph for the panel s header  
		* @param newGlyph Number/String The new glyph This parameter expects a format consistent with that of glyph 
		*/
		static setGlyph( newGlyph?:any ): void;
		/** [Method] Sets the height of the component  
		* @param height Number The new height to set. This may be one of:  A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS height style. undefined to leave the height unchanged.  
		* @returns Ext.Component this 
		*/
		static setHeight( height?:number ): Ext.IComponent;
		/** [Method] Adds the specified icon to the dialog  
		* @param icon String A CSS classname specifying the icon's background image url, or empty string to clear the icon 
		* @param width Number The width of the icon. If not specified, the default is used 
		* @param height Number The height of the icon. If not specified, the default is used 
		* @returns Ext.window.MessageBox this 
		*/
		static setIcon( icon?:string, width?:number, height?:number ): Ext.window.IMessageBox;
		/** [Method] Set the iconCls for the panel s header  
		* @param newIconCls String The new CSS class name 
		*/
		static setIconCls( newIconCls?:string ): void;
		/** [Method] This method allows you to show or hide a LoadMask on top of this component  
		* @param load Boolean/Object/String True to show the default LoadMask, a config object that will be passed to the LoadMask constructor, or a message String to show. False to hide the current LoadMask. 
		* @param targetEl Boolean True to mask the targetEl of this Component instead of the this.el. For example, setting this to true on a Panel will cause only the body to be masked. 
		* @returns Ext.LoadMask The LoadMask instance that has just been shown. 
		*/
		static setLoading( load?:any, targetEl?:boolean ): Ext.ILoadMask;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @param x Object 
		* @returns Ext.util.Positionable this 
		*/
		static setLocalX( x?:any ): Ext.util.IPositionable;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @param x Object 
		* @param y Object 
		* @returns Ext.util.Positionable this 
		*/
		static setLocalXY( x?:any, y?:any ): Ext.util.IPositionable;
		/** [Method] Sets the local y coordinate of this element using CSS style  
		* @param y Object 
		* @returns Ext.util.Positionable this 
		*/
		static setLocalY( y?:any ): Ext.util.IPositionable;
		/** [Method] Sets the margin on the target element  
		* @param margin Number/String The margin to set. See the margin config. 
		*/
		static setMargin( margin?:any ): void;
		/** [Method] Sets the overflow x y on the content element of the component  
		* @param overflowX String The overflow-x value. 
		* @param overflowY String The overflow-y value. 
		* @returns Ext.Component this 
		*/
		static setOverflowXY( overflowX?:string, overflowY?:string ): Ext.IComponent;
		/** [Method] Sets the page XY position of the component  
		* @param x Number/Number[] The new x position or an array of [x,y]. 
		* @param y Number The new y position. 
		* @param animate Boolean/Object True to animate the Component into its new position. You may also pass an animation configuration. 
		* @returns Ext.Component this 
		*/
		static setPagePosition( x?:any, y?:number, animate?:any ): Ext.IComponent;
		/** [Method] Sets the left and top of the component  
		* @param x Number/Number[]/Object The new left, an array of [x,y], or animation config object containing x and y properties. 
		* @param y Number The new top. 
		* @param animate Boolean/Object If true, the Component is animated into its new position. You may also pass an animation configuration. 
		* @returns Ext.Component this 
		*/
		static setPosition( x?:any, y?:number, animate?:any ): Ext.IComponent;
		/** [Method] Sets the element s position and size to the specified region  
		* @param region Ext.util.Region The region to fill 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		static setRegion( region?:Ext.util.IRegion, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the weight config property for this component  
		* @param weight Number The new weight value. 
		* @returns Number The previous value of the weight property. 
		*/
		static setRegionWeight( weight?:number ): number;
		/** [Method] Sets the width and height of this Component  
		* @param width Number/String/Object The new width to set. This may be one of:  A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS width style. A size object in the format {width: widthValue, height: heightValue}. undefined to leave the width unchanged.  
		* @param height Number/String The new height to set (not required if a size object is passed as the first arg). This may be one of:  A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS height style. Animation may not be used. undefined to leave the height unchanged.  
		* @returns Ext.Component this 
		*/
		static setSize( width?:any, height?:any ): Ext.IComponent;
		/** [Method] Set a title for the panel s header  
		* @param newTitle String 
		*/
		static setTitle( newTitle?:string ): void;
		/** [Method] Sets the UI for the component  
		* @param ui Object 
		*/
		static setUI( ui?:any ): void;
		/** [Method] Convenience function to hide or show this component by Boolean  
		* @param visible Boolean true to show, false to hide. 
		* @returns Ext.Component this 
		*/
		static setVisible( visible?:boolean ): Ext.IComponent;
		/** [Method] Sets the width of the component  
		* @param width Number The new width to setThis may be one of:  A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS width style.  
		* @returns Ext.Component this 
		*/
		static setWidth( width?:number ): Ext.IComponent;
		/** [Method] Sets the X position of the DOM element based on page coordinates  
		* @param x Object 
		* @param animate Object 
		* @returns Ext.util.Positionable this 
		*/
		static setX( x?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the position of the DOM element in page coordinates  
		* @param xy Object 
		* @param animate Object 
		* @returns Ext.util.Positionable this 
		*/
		static setXY( xy?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the Y position of the DOM element based on page coordinates  
		* @param y Object 
		* @param animate Object 
		* @returns Ext.util.Positionable this 
		*/
		static setY( y?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Displays a new message box or reinitializes an existing message box based on the config options passed in  
		* @param config Object The following config options are supported: 
		* @returns Ext.window.MessageBox this 
		*/
		static show( config?:any ): Ext.window.IMessageBox;
		/** [Method] Displays component at specific xy position  
		* @param x Number/Number[] The new x position or array of [x,y]. 
		* @param y Number The new y position 
		* @param animate Boolean/Object True to animate the Component into its new position. You may also pass an animation configuration. 
		* @returns Ext.Component this 
		*/
		static showAt( x?:any, y?:number, animate?:any ): Ext.IComponent;
		/** [Method] Shows this component by the specified Component or Element  
		* @param component Ext.Component/Ext.dom.Element The Ext.Component or Ext.Element to show the component by. 
		* @param position String Alignment position as used by Ext.util.Positionable.getAlignToXY. Defaults to defaultAlign. 
		* @param offsets Number[] Alignment offsets as used by Ext.util.Positionable.getAlignToXY. 
		* @returns Ext.Component this 
		*/
		static showBy( component?:any, position?:string, offsets?:number[] ): Ext.IComponent;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		static stopAnimation(): Ext.IElement;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		static stopFx(): Ext.IElement;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Ensures that all effects queued after syncFx is called on this object are run concurrently  
		* @returns Object this 
		*/
		static syncFx(): any;
		/** [Method] Sends this Component to the back of lower z index than any other visible windows 
		* @returns Ext.Component this 
		*/
		static toBack(): Ext.IComponent;
		/** [Method] Brings this floating Component to the front of any other visible floating Components managed by the same ZIndexManag  
		* @param preventFocus Boolean Specify true to prevent the Component from being focused. 
		* @returns Ext.Component this 
		*/
		static toFront( preventFocus?:boolean ): Ext.IComponent;
		/** [Method] Shortcut for performing an expand or collapse based on the current state of the panel  
		* @returns Ext.panel.Panel this 
		*/
		static toggleCollapse(): Ext.panel.IPanel;
		/** [Method] A shortcut method for toggling between maximize and restore based on the current maximized state of the window  
		* @returns Ext.window.Window this 
		*/
		static toggleMaximize(): Ext.window.IWindow;
		/** [Method] Translates the passed page coordinates into left top css values for the element 
		* @param x Number/Array The page x or an array containing [x, y] 
		* @param y Number The page y, required if x is not an array 
		* @returns Object An object with left and top properties. e.g. {left: (value), top: (value)} 
		*/
		static translatePoints( x?:any, y?:number ): any;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Navigates up the ownership hierarchy searching for an ancestor Container which matches any passed simple selector or 
		* @param selector String/Ext.Component The simple selector component or actual component to test. If not passed the immediate owner/activater is returned. 
		* @param limit String/Number/Ext.Component This may be a selector upon which to stop the upward scan, or a limit of teh number of steps, or Component reference to stop on. 
		* @returns Ext.container.Container The matching ancestor Container (or undefined if no match was found). 
		*/
		static up( selector?:any, limit?:any ): Ext.container.IContainer;
		/** [Method] Update the content area of a component  
		* @param htmlOrData String/Object If this component has been configured with a template via the tpl config then it will use this argument as data to populate the template. If this component was not configured with a template, the components content area will be updated via Ext.Element update. 
		* @param loadScripts Boolean Only legitimate when using the html configuration. 
		* @param callback Function Only legitimate when using the html configuration. Callback to execute when scripts have finished loading. 
		*/
		static update( htmlOrData?:any, loadScripts?:boolean, callback?:any ): void;
		/** [Method] Sets the current box measurements of the component s underlying element  
		* @param box Object An object in the format {x, y, width, height} 
		* @returns Ext.Component this 
		*/
		static updateBox( box?:any ): Ext.IComponent;
		/** [Method] Updates this component s layout  
		* @param options Object An object with layout options. 
		*/
		static updateLayout( options?:any ): void;
		/** [Method] Updates a progress style message box s text and progress bar  
		* @param value Number Any number between 0 and 1 (e.g., .5) 
		* @param progressText String The progress text to display inside the progress bar. 
		* @param msg String The message box's body text is replaced with the specified string (defaults to undefined so that any existing body text will not get overwritten by default unless a new value is passed in) 
		* @returns Ext.window.MessageBox this 
		*/
		static updateProgress( value?:number, progressText?:string, msg?:string ): Ext.window.IMessageBox;
		/** [Method] Displays a message box with an infinitely auto updating progress bar  
		* @param msg String The message box body text 
		* @param title String The title bar text 
		* @param config Object A Ext.ProgressBar.wait config object 
		* @returns Ext.window.MessageBox this 
		*/
		static wait( msg?:string, title?:string, config?:any ): Ext.window.IMessageBox;
	}
}
declare module Ext {
	export interface IMsg extends Ext.window.IMessageBox {
	}
	export class Msg {
		/** [Method] Adds Component s to this Container  
		* @param component Ext.Component[]|Object[]/Ext.Component.../Object... Either one or more Components to add or an Array of Components to add. See items for additional information. 
		* @returns Ext.Component[]/Ext.Component The Components that were added. 
		*/
		static add( component?:any ): any;
		/** [Method] Adds a CSS class to the body element  
		* @param cls String The class to add 
		* @returns Ext.panel.Panel this 
		*/
		static addBodyCls( cls?:string ): Ext.panel.IPanel;
		/** [Method] Adds each argument passed to this method to the childEls array  */
		static addChildEls(): void;
		/** [Method] Adds a CSS class to the top level element representing this component  
		* @param cls String/String[] The CSS class name to add. 
		* @returns Ext.Component Returns the Component to allow method chaining. 
		*/
		static addClass( cls?:any ): Ext.IComponent;
		/** [Method] Adds a CSS class to the top level element representing this component  
		* @param cls String/String[] The CSS class name to add. 
		* @returns Ext.Component Returns the Component to allow method chaining. 
		*/
		static addCls( cls?:any ): Ext.IComponent;
		/** [Method] Adds a cls to the uiCls array which will also call addUIClsToElement and adds to all elements of this component  
		* @param classes String/String[] A string or an array of strings to add to the uiCls. 
		* @param skip Object (Boolean) skip true to skip adding it to the class and do it later (via the return). 
		*/
		static addClsWithUI( classes?:any, skip?:any ): void;
		/** [Method] Adds docked item s to the container  
		* @param component Object/Object[] The Component or array of components to add. The components must include a 'dock' parameter on each component to indicate where it should be docked ('top', 'right', 'bottom', 'left'). 
		* @param pos Number The index at which the Component will be added 
		* @returns Ext.Component[] The added components. 
		*/
		static addDocked( component?:any, pos?:number ): Ext.IComponent[];
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param element Object 
		* @param listeners Object 
		* @param scope Object 
		* @param options Object 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( element?:any, listeners?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Save a property to the given state object if it is not its default or configured value  
		* @param state Object The state object. 
		* @param propName String The name of the property on this object to save. 
		* @param value String The value of the state property (defaults to this[propName]). 
		* @returns Boolean The state object or a new object if state was null and the property was saved. 
		*/
		static addPropertyToState( state?:any, propName?:string, value?:string ): boolean;
		/** [Method] Add events that will trigger the state to be saved  
		* @param events String/String[] The event name or an array of event names. 
		*/
		static addStateEvents( events?:any ): void;
		/** [Method] Add tools to this panel 
		* @param tools Object[]/Ext.panel.Tool[] The tools to add 
		*/
		static addTool( tools?:any ): void;
		/** [Method] inherit docs 
		* @param cls Object 
		*/
		static addUIClsToElement( cls?:any ): void;
		/** [Method] Invoked after the Panel is Collapsed  */
		static afterCollapse(): void;
		/** [Method] Called by the layout system after the Component has been laid out  */
		static afterComponentLayout(): void;
		/** [Method] Invoked after the Panel is Expanded  */
		static afterExpand(): void;
		/** [Method] Invoked after the Container has laid out and rendered if necessary its child Components  
		* @param layout Ext.layout.container.Container 
		*/
		static afterLayout( layout?:Ext.layout.container.IContainer ): void;
		/** [Method] Template method called after a Component has been positioned  
		* @param ax Object 
		* @param ay Object 
		*/
		static afterSetPosition( ax?:any, ay?:any ): void;
		/** [Method] Invoked after the Component is shown after onShow is called 
		* @param animateTarget String/Ext.Element 
		* @param callback Function 
		* @param scope Object 
		*/
		static afterShow( animateTarget?:any, callback?:any, scope?:any ): void;
		/** [Method] Displays a standard read only message box with an OK button comparable to the basic JavaScript alert prompt 
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param fn Function The callback function invoked after the message box is closed. See show method for details. 
		* @param scope Object The scope (this reference) in which the callback is executed. 
		* @returns Ext.window.MessageBox this 
		*/
		static alert( title?:string, msg?:string, fn?:any, scope?:any ): Ext.window.IMessageBox;
		/** [Method] Aligns the element with another element relative to the specified anchor points  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		static alignTo( element?:any, position?:string, offsets?:number[], animate?:any ): Ext.util.IPositionable;
		/** [Method] Anchors an element to another element and realigns it when the window is resized  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @param monitorScroll Boolean/Number True to monitor body scroll and reposition. If this parameter is a number, it is used as the buffer delay in milliseconds. 
		* @param callback Function The function to call after the animation finishes 
		* @returns Ext.util.Positionable this 
		*/
		static anchorTo( element?:any, position?:string, offsets?:number[], animate?:any, monitorScroll?:any, callback?:any ): Ext.util.IPositionable;
		/** [Method] Performs custom animation on this object  
		* @param animObj Object 
		* @returns Object this 
		*/
		static animate( animObj?:any ): any;
		/** [Method] Applies the state to the object  
		* @param state Object 
		*/
		static applyState( state?:any ): void;
		/** [Method] Template method to do any pre blur processing  
		* @param e Ext.EventObject The event object 
		*/
		static beforeBlur( e?:Ext.IEventObject ): void;
		/** [Method] Occurs before componentLayout is run  
		* @param adjWidth Number The box-adjusted width that was set. 
		* @param adjHeight Number The box-adjusted height that was set. 
		*/
		static beforeComponentLayout( adjWidth?:number, adjHeight?:number ): void;
		/** [Method] Template method to do any pre focus processing  
		* @param e Ext.EventObject The event object 
		*/
		static beforeFocus( e?:Ext.IEventObject ): void;
		/** [Method] Occurs before componentLayout is run  */
		static beforeLayout(): void;
		/** [Method] Invoked before the Component is shown  */
		static beforeShow(): void;
		/** [Method] Bubbles up the component container heirarchy calling the specified function with each component  
		* @param fn Function The function to call 
		* @param scope Object The scope of the function. Defaults to current node. 
		* @param args Array The args to call the function with. Defaults to passing the current component. 
		* @returns Ext.Component this 
		*/
		static bubble( fn?:any, scope?:any, args?:any[] ): Ext.IComponent;
		/** [Method] Calculates the new x y position to move this Positionable into a constrain region  
		* @param constrainTo String/HTMLElement/Ext.Element/Ext.util.Region The Element or Region into which this Component is to be constrained. Defaults to the element into which this Positionable was rendered, or this Component's {@link Ext.Component.constrainTo. 
		* @param proposedPosition Number[] A proposed [X, Y] position to test for validity and to coerce into constraints instead of using this Positionable's current position. 
		* @param local Boolean The proposedPosition is local (relative to floatParent if a floating Component) 
		* @param proposedSize Number[] A proposed [width, height] size to use when calculating constraints instead of using this Positionable's current size. 
		* @returns Number[] If the element needs to be translated, the new [X, Y] position within constraints if possible, giving priority to keeping the top and left edge in the constrain region. Otherwise, false. 
		*/
		static calculateConstrainedPosition( constrainTo?:any, proposedPosition?:number[], local?:boolean, proposedSize?:number[] ): number[];
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Cancel any deferred focus on this component */
		static cancelFocus(): void;
		/** [Method] Cascades down the component container heirarchy from this component passed in the first call  calling the specified  
		* @param fn Function The function to call 
		* @param scope Object The scope of the function (defaults to current component) 
		* @param args Array The args to call the function with. The current component always passed as the last argument. 
		* @returns Ext.Container this 
		*/
		static cascade( fn?:any, scope?:any, args?:any[] ): Ext.IContainer;
		/** [Method] Center this Component in its container  
		* @returns Ext.Component this 
		*/
		static center(): Ext.IComponent;
		/** [Method] Retrieves the first direct child of this container which matches the passed selector or component  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching child Ext.Component (or null if no match was found). 
		*/
		static child( selector?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Clone the current component using the original config values passed into this instance by default  
		* @param overrides Object A new config containing any properties to override in the cloned version. An id property can be passed on this object, otherwise one will be generated to avoid duplicates. 
		* @returns Ext.Component clone The cloned copy of this component 
		*/
		static cloneConfig( overrides?:any ): Ext.IComponent;
		/** [Method] Closes the Panel  */
		static close(): void;
		/** [Method] Collapses the panel body so that the body becomes hidden  
		* @param direction String The direction to collapse towards. Must be one of  Ext.Component.DIRECTION_TOP Ext.Component.DIRECTION_RIGHT Ext.Component.DIRECTION_BOTTOM Ext.Component.DIRECTION_LEFT Defaults to collapseDirection. 
		* @param animate Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config). May also be specified as the animation duration in milliseconds. 
		* @returns Ext.panel.Panel this 
		*/
		static collapse( direction?:string, animate?:boolean ): Ext.panel.IPanel;
		/** [Method] Displays a confirmation message box with Yes and No buttons comparable to JavaScript s confirm 
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param fn Function The callback function invoked after the message box is closed. See show method for details. 
		* @param scope Object The scope (this reference) in which the callback is executed. 
		* @returns Ext.window.MessageBox this 
		*/
		static confirm( title?:string, msg?:string, fn?:any, scope?:any ): Ext.window.IMessageBox;
		/** [Method] Determines whether the passed Component is either an immediate child of this Container or whether it is a descendant  
		* @param comp Ext.Component The Component to test. 
		* @param deep Boolean Pass true to test for the Component being a descendant at any level. 
		* @returns Boolean true if the passed Component is contained at the specified level. 
		*/
		static contains( comp?:Ext.IComponent, deep?:boolean ): boolean;
		/** [Method] converts a collapsdDir into an anchor argument for Element slideIn overridden in rtl mode to switch l and r  
		* @param collapseDir Object 
		*/
		static convertCollapseDir( collapseDir?:any ): void;
		/** [Method] Inherit docs Disable all immediate children that was previously disabled Override disable because onDisable only gets  
		* @returns Ext.container.AbstractContainer this 
		*/
		static disable(): Ext.container.IAbstractContainer;
		/** [Method] Handles autoRender  */
		static doAutoRender(): void;
		/** [Method] This method needs to be called whenever you change something on this component that requires the Component s layout t  
		* @returns Ext.container.Container this 
		*/
		static doComponentLayout(): Ext.container.IContainer;
		/** [Method] Moves this floating Component into a constrain region  
		* @param constrainTo String/HTMLElement/Ext.Element/Ext.util.Region The Element or Region into which this Component is to be constrained. Defaults to the element into which this floating Component was rendered. 
		*/
		static doConstrain( constrainTo?:any ): void;
		/** [Method] Manually force this container s layout to be recalculated  
		* @returns Ext.container.Container this 
		*/
		static doLayout(): Ext.container.IContainer;
		/** [Method] Retrieves the first descendant of this container which matches the passed selector  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector or Ext.Component. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching descendant Ext.Component (or null if no match was found). 
		*/
		static down( selector?:any ): any;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Ensures that this component is attached to document body  
		* @param runLayout Boolean True to run the component's layout. 
		*/
		static ensureAttachedToBody( runLayout?:boolean ): void;
		/** [Method] Expands the panel body so that it becomes visible  
		* @param animate Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config). May also be specified as the animation duration in milliseconds. 
		* @returns Ext.panel.Panel this 
		*/
		static expand( animate?:boolean ): Ext.panel.IPanel;
		/** [Method] Find a container above this component at any level by a custom function  
		* @param fn Function The custom function to call with the arguments (container, this component). 
		* @returns Ext.container.Container The first Container for which the custom function returns true 
		*/
		static findParentBy( fn?:any ): Ext.container.IContainer;
		/** [Method] Find a container above this component at any level by xtype or class See also the up method  
		* @param xtype String/Ext.Class The xtype string for a component, or the class of the component directly 
		* @returns Ext.container.Container The first Container which matches the given xtype or class 
		*/
		static findParentByType( xtype?:any ): Ext.container.IContainer;
		/** [Method] Retrieves plugin from this component s collection by its ptype  
		* @param ptype String The Plugin's ptype as specified by the class's alias configuration. 
		* @returns Ext.AbstractPlugin plugin instance. 
		*/
		static findPlugin( ptype?:string ): Ext.IAbstractPlugin;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Try to focus this component  
		* @param selectText Boolean If applicable, true to also select the text in this component 
		* @param delay Boolean/Number Delay the focus this number of milliseconds (true for 10 milliseconds). 
		* @param callback Function Only needed if the delay parameter is used. A function to call upon focus. 
		* @param scope Function Only needed if the delay parameter is used. The scope (this reference) in which to execute the callback. 
		* @returns Ext.Component The focused Component. Usually this Component. Some Containers may delegate focus to a descendant Component (Windows can do this through their defaultFocus config option. 
		*/
		static focus( selectText?:boolean, delay?:any, callback?:any, scope?:any ): Ext.IComponent;
		/** [Method] Forces this component to redo its componentLayout  */
		static forceComponentLayout(): void;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		static getActiveAnimation(): any;
		/** [Method] Gets the x y coordinates to align this element with another element  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @returns Number[] [x, y] 
		*/
		static getAlignToXY( element?:any, position?:string, offsets?:number[] ): number[];
		/** [Method] Gets the x y coordinates specified by the anchor position on the element  
		* @param anchor String The specified anchor position. See alignTo for details on supported anchor positions. 
		* @param local Boolean True to get the local (element top/left-relative) anchor position instead of page coordinates 
		* @param size Object An object containing the size to use for calculating anchor position {width: (target width), height: (target height)} (defaults to the element's current size) 
		* @returns Number[] [x, y] An array containing the element's x and y coordinates 
		*/
		static getAnchorXY( anchor?:string, local?:boolean, size?:any ): number[];
		/** [Method] Return an object defining the area of this Element which can be passed to setBox to set another Element s size locati  
		* @param contentBox Boolean If true a box for the content of the element is returned. 
		* @param local Boolean If true the element's left and top relative to its offsetParent are returned instead of page x/y. 
		* @returns Object box An object in the format: {  x: &lt;Element's X position&gt;,  y: &lt;Element's Y position&gt;,  left: &lt;Element's X position (an alias for x)&gt;,  top: &lt;Element's Y position (an alias for y)&gt;,  width: &lt;Element's width&gt;,  height: &lt;Element's height&gt;,  bottom: &lt;Element's lower bound&gt;,  right: &lt;Element's rightmost bound&gt; }  The returned object may also be addressed as an Array where index 0 contains the X position and index 1 contains the Y position. The result may also be used for setXY 
		*/
		static getBox( contentBox?:boolean, local?:boolean ): any;
		/** [Method] Implements an upward event bubbling policy  */
		static getBubbleTarget(): void;
		/** [Method] Return the immediate child Component in which the passed element is located  
		* @param el Ext.Element/HTMLElement/String The element to test (or ID of element). 
		* @param deep Boolean If true, returns the deepest descendant Component which contains the passed element. 
		* @returns Ext.Component The child item which contains the passed element. 
		*/
		static getChildByElement( el?:any, deep?:boolean ): Ext.IComponent;
		/** [Method] Returns the current collapsed state of the panel  
		* @returns Boolean/String False when not collapsed, otherwise the value of collapseDirection. 
		*/
		static getCollapsed(): any;
		/** [Method] Attempts a default component lookup see Ext container Container getComponent 
		* @param comp String/Number The component id, itemId or position to find 
		* @returns Ext.Component The component (if found) 
		*/
		static getComponent( comp?:any ): Ext.IComponent;
		/** [Method] Returns the X Y vector by which this Positionable s element must be translated to make a best attempt to constrain  
		* @param constrainTo Ext.util.Positionable/HTMLElement/String/Ext.util.Region The Positionable, HTMLElement, element id, or Region into which the element is to be constrained. 
		* @param proposedPosition Number[] A proposed [X, Y] position to test for validity and to produce a vector for instead of using the element's current position 
		* @param proposedSize Number[] A proposed [width, height] size to constrain instead of using the element's current size 
		* @returns Number[]/Boolean If the element needs to be translated, an [X, Y] vector by which this element must be translated. Otherwise, false. 
		*/
		static getConstrainVector( constrainTo?:any, proposedPosition?:number[], proposedSize?:number[] ): any;
		/** [Method] Gets the configured default focus item  */
		static getDefaultFocus(): void;
		/** [Method] Finds a docked component by id itemId or position  
		* @param comp String/Number The id, itemId or position of the docked component (see getComponent for details) 
		* @returns Ext.Component The docked component (if found) 
		*/
		static getDockedComponent( comp?:any ): Ext.IComponent;
		/** [Method] Retrieves an array of all currently docked Components  
		* @param selector String A ComponentQuery selector string to filter the returned items. 
		* @param beforeBody Boolean An optional flag to limit the set of items to only those before the body (true) or after the body (false). All components are returned by default. 
		* @returns Ext.Component[] The array of docked components meeting the specified criteria. 
		*/
		static getDockedItems( selector?:string, beforeBody?:boolean ): Ext.IComponent[];
		/** [Method] Retrieves the top level element representing this component  
		* @returns Ext.dom.Element 
		*/
		static getEl(): Ext.dom.IElement;
		/** [Method] Gets the Header for this panel  */
		static getHeader(): void;
		/** [Method] Gets the current height of the component s underlying element  
		* @returns Number 
		*/
		static getHeight(): number;
		/** [Method] Retrieves the id of this component  
		* @returns String 
		*/
		static getId(): string;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] This function takes the position argument passed to onRender and returns a DOM element that you can use in the insert  
		* @param position String/Number/Ext.dom.Element/HTMLElement Index, element id or element you want to put this component before. 
		* @returns HTMLElement DOM element that you can use in the insertBefore 
		*/
		static getInsertPosition( position?:any ): HTMLElement;
		/** [Method] Returns the value of itemId assigned to this component or when that is not set returns the value of id  
		* @returns String 
		*/
		static getItemId(): string;
		/** [Method] Returns the layout instance currently associated with this Container  
		* @returns Ext.layout.container.Container The layout 
		*/
		static getLayout(): Ext.layout.container.IContainer;
		/** [Method] Gets the Ext ComponentLoader for this Component  
		* @returns Ext.ComponentLoader The loader instance, null if it doesn't exist. 
		*/
		static getLoader(): Ext.IComponentLoader;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @returns Number The local x coordinate 
		*/
		static getLocalX(): number;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @returns Number[] The local XY position of the element 
		*/
		static getLocalXY(): number[];
		/** [Method] Returns the y coordinate of this element reletive to its offsetParent  
		* @returns Number The local y coordinate 
		*/
		static getLocalY(): number;
		/** [Method] Returns the offsets of this element from the passed element  
		* @param offsetsTo Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or element id to get get the offsets from. 
		* @returns Number[] The XY page offsets (e.g. [100, -200]) 
		*/
		static getOffsetsTo( offsetsTo?:any ): number[];
		/** [Method] Retrieves a plugin from this component s collection by its pluginId  
		* @param pluginId String 
		* @returns Ext.AbstractPlugin plugin instance. 
		*/
		static getPlugin( pluginId?:string ): Ext.IAbstractPlugin;
		/** [Method] Gets the current XY position of the component s underlying element  
		* @param local Boolean If true the element's left and top are returned instead of page XY. 
		* @returns Number[] The XY position of the element (e.g., [100, 200]) 
		*/
		static getPosition( local?:boolean ): number[];
		/** [Method] Used by ComponentQuery child and down to retrieve all of the items which can potentially be considered a child of th  
		* @param deep Object 
		*/
		static getRefItems( deep?:any ): void;
		/** [Method] Returns a region object that defines the area of this element  
		* @returns Ext.util.Region A Region containing "top, left, bottom, right" properties. 
		*/
		static getRegion(): Ext.util.IRegion;
		/** [Method] Gets the current size of the component s underlying element  
		* @returns Object An object containing the element's size {width: (element width), height: (element height)} 
		*/
		static getSize(): any;
		/** [Method] Returns an object that describes how this component s width and height are managed  
		* @param ownerCtSizeModel Object 
		* @returns Object The size model for this component. 
		*/
		static getSizeModel( ownerCtSizeModel?:any ): any;
		/** [Method] Returns the content region of this element  
		* @returns Ext.util.Region A Region containing "top, left, bottom, right" member data. 
		*/
		static getViewRegion(): Ext.util.IRegion;
		/** [Method] Gets the current width of the component s underlying element  
		* @returns Number 
		*/
		static getWidth(): number;
		/** [Method] Gets the current X position of the DOM element based on page coordinates  
		* @returns Number The X position of the element 
		*/
		static getX(): number;
		/** [Method] Gets the xtype for this component as registered with Ext ComponentManager  
		* @returns String The xtype 
		*/
		static getXType(): string;
		/** [Method] Returns this Component s xtype hierarchy as a slash delimited string  
		* @returns String The xtype hierarchy string 
		*/
		static getXTypes(): string;
		/** [Method] Gets the current position of the DOM element based on page coordinates  
		* @returns Number[] The XY position of the element 
		*/
		static getXY(): number[];
		/** [Method] Gets the current Y position of the DOM element based on page coordinates  
		* @returns Number The Y position of the element 
		*/
		static getY(): number;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		static hasActiveFx(): any;
		/** [Method] Checks if the specified CSS class exists on this element s DOM node  
		* @param className String The CSS class to check for. 
		* @returns Boolean true if the class exists, else false. 
		*/
		static hasCls( className?:string ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Checks if there is currently a specified uiCls  
		* @param cls String The cls to check. 
		*/
		static hasUICls( cls?:string ): void;
		/** [Method] Hides this Component setting it to invisible using the configured hideMode  
		* @returns Ext.Component this 
		*/
		static hide(): Ext.IComponent;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Initialize any events on this component */
		static initEvents(): void;
		/** [Method] Inserts a Component into this Container at a specified index  
		* @param index Number The index at which the Component will be inserted into the Container's items collection 
		* @param component Ext.Component/Object The child Component to insert. Ext uses lazy rendering, and will only render the inserted Component should it become necessary. A Component config object may be passed in order to avoid the overhead of constructing a real Component object if lazy rendering might mean that the inserted Component will not be rendered immediately. To take advantage of this 'lazy instantiation', set the Ext.Component.xtype config property to the registered type of the Component wanted. For a list of all available xtypes, see Ext.enums.Widget. 
		* @returns Ext.Component component The Component (or config object) that was inserted with the Container's default config values applied. 
		*/
		static insert( index?:number, component?:any ): Ext.IComponent;
		/** [Method] Inserts docked item s to the panel at the indicated position  
		* @param pos Number The index at which the Component will be inserted 
		* @param component Object/Object[] The Component or array of components to add. The components must include a 'dock' paramater on each component to indicate where it should be docked ('top', 'right', 'bottom', 'left'). 
		*/
		static insertDocked( pos?:number, component?:any ): void;
		/** [Method] Tests whether this Component matches the selector string  
		* @param selector String The selector string to test against. 
		* @returns Boolean true if this Component matches the selector. 
		*/
		static is( selector?:string ): boolean;
		/** [Method] Determines whether this Container is an ancestor of the passed Component  
		* @param possibleDescendant Ext.Component The Component to test for presence within this Container's subtree. 
		*/
		static isAncestor( possibleDescendant?:Ext.IComponent ): void;
		/** [Method] Determines whether this component is the descendant of a particular container  
		* @param container Ext.Container 
		* @returns Boolean true if the component is the descendant of a particular container, otherwise false. 
		*/
		static isDescendantOf( container?:Ext.IContainer ): boolean;
		/** [Method] Method to determine whether this Component is currently disabled  
		* @returns Boolean the disabled state of this Component. 
		*/
		static isDisabled(): boolean;
		/** [Method] Method to determine whether this Component is draggable  
		* @returns Boolean the draggable state of this component. 
		*/
		static isDraggable(): boolean;
		/** [Method] Method to determine whether this Component is droppable  
		* @returns Boolean the droppable state of this component. 
		*/
		static isDroppable(): boolean;
		/** [Method] Method to determine whether this Component is floating  
		* @returns Boolean the floating state of this component. 
		*/
		static isFloating(): boolean;
		/** [Method] Method to determine whether this Component is currently set to hidden  
		* @returns Boolean the hidden state of this Component. 
		*/
		static isHidden(): boolean;
		/** [Method] Determines whether this Component is the root of a layout  */
		static isLayoutRoot(): void;
		/** [Method] Returns true if layout is suspended for this component  
		* @returns Boolean true layout of this component is suspended. 
		*/
		static isLayoutSuspended(): boolean;
		/** [Method] Returns true if this component is visible  
		* @param deep Object 
		* @returns Boolean true if this component is visible, false otherwise. 
		*/
		static isVisible( deep?:any ): boolean;
		/** [Method] Tests whether or not this Component is of a specific xtype  
		* @param xtype String The xtype to check for this Component 
		* @param shallow Boolean true to check whether this Component is directly of the specified xtype, false to check whether this Component is descended from the xtype. 
		* @returns Boolean true if this component descends from the specified xtype, false otherwise. 
		*/
		static isXType( xtype?:string, shallow?:boolean ): boolean;
		/** [Method] Fits the window within its current container and automatically replaces the maximize tool button with the restore 
		* @param animate Boolean true to animate this Window to full size. 
		* @returns Ext.window.Window this 
		*/
		static maximize( animate?:boolean ): Ext.window.IWindow;
		/** [Method] Placeholder method for minimizing the window  
		* @returns Ext.window.Window this 
		*/
		static minimize(): Ext.window.IWindow;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Moves a Component within the Container 
		* @param fromIdx Number/Ext.Component The index/component to move. 
		* @param toIdx Number The new index for the Component. 
		* @returns Ext.Component component The Component that was moved. 
		*/
		static move( fromIdx?:any, toIdx?:number ): Ext.IComponent;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Returns the next node in the Component tree in tree traversal order  
		* @param selector String A ComponentQuery selector to filter the following nodes. 
		* @returns Ext.Component The next node (or the next node which matches the selector). Returns null if there is no matching node. 
		*/
		static nextNode( selector?:string ): Ext.IComponent;
		/** [Method] Returns the next sibling of this Component  
		* @param selector String A ComponentQuery selector to filter the following items. 
		* @returns Ext.Component The next sibling (or the next sibling which matches the selector). Returns null if there is no matching sibling. 
		*/
		static nextSibling( selector?:string ): Ext.IComponent;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] This method is invoked after a new Component has been added  
		* @param component Ext.Component 
		* @param position Number 
		*/
		static onAdd( component?:Ext.IComponent, position?:number ): void;
		/** [Method] Method to manage awareness of when components are added to their respective Container firing an added event  */
		static onAdded(): void;
		/** [Method] This method is invoked before adding a new child Component  
		* @param item Ext.Component 
		*/
		static onBeforeAdd( item?:Ext.IComponent ): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		static onDestroy(): void;
		/** [Method] Allows addition of behavior to the disable operation  */
		static onDisable(): void;
		/** [Method] Invoked after a docked item is added to the Panel  
		* @param component Ext.Component 
		*/
		static onDockedAdd( component?:Ext.IComponent ): void;
		/** [Method] Invoked after a docked item is removed from the Panel  
		* @param component Ext.Component 
		*/
		static onDockedRemove( component?:Ext.IComponent ): void;
		/** [Method] Allows addition of behavior to the enable operation  */
		static onEnable(): void;
		/** [Method] Possibly animates down to a target element  */
		static onHide(): void;
		/** [Method] Called after the component is moved this method is empty by default but can be implemented by any subclass that need  */
		static onPosition(): void;
		/** [Method] This method is invoked after a new Component has been removed  
		* @param component Ext.Component 
		* @param autoDestroy Boolean 
		*/
		static onRemove( component?:Ext.IComponent, autoDestroy?:boolean ): void;
		/** [Method] Method to manage awareness of when components are removed from their respective Container firing a removed event  
		* @param destroying Object 
		*/
		static onRemoved( destroying?:any ): void;
		/** [Method] Allows addition of behavior to the resize operation  */
		static onResize(): void;
		/** [Method] Allows addition of behavior to the show operation  */
		static onShow(): void;
		/** [Method] Invoked after the afterShow method is complete  
		* @param callback Function 
		* @param scope Object 
		*/
		static onShowComplete( callback?:any, scope?:any ): void;
		/** [Method] Template method to do any post blur processing  
		* @param e Ext.EventObject The event object 
		*/
		static postBlur( e?:Ext.IEventObject ): void;
		/** [Method] Returns the previous node in the Component tree in tree traversal order  
		* @param selector String A ComponentQuery selector to filter the preceding nodes. 
		* @returns Ext.Component The previous node (or the previous node which matches the selector). Returns null if there is no matching node. 
		*/
		static previousNode( selector?:string ): Ext.IComponent;
		/** [Method] Returns the previous sibling of this Component  
		* @param selector String A ComponentQuery selector to filter the preceding items. 
		* @returns Ext.Component The previous sibling (or the previous sibling which matches the selector). Returns null if there is no matching sibling. 
		*/
		static previousSibling( selector?:string ): Ext.IComponent;
		/** [Method] Displays a message box with a progress bar  
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param progressText String The text to display inside the progress bar 
		* @returns Ext.window.MessageBox this 
		*/
		static progress( title?:string, msg?:string, progressText?:string ): Ext.window.IMessageBox;
		/** [Method] Displays a message box with OK and Cancel buttons prompting the user to enter some text comparable to JavaScript s p  
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param fn Function The callback function invoked after the message box is closed. See show method for details. 
		* @param scope Object The scope (this reference) in which the callback is executed. 
		* @param multiline Boolean/Number True to create a multiline textbox using the defaultTextHeight property, or the height in pixels to create the textbox/ 
		* @param value String Default value of the text input element 
		* @returns Ext.window.MessageBox this 
		*/
		static prompt( title?:string, msg?:string, fn?:any, scope?:any, multiline?:any, value?:string ): Ext.window.IMessageBox;
		/** [Method] Retrieves all descendant components which match the passed selector  
		* @param selector String Selector complying to an Ext.ComponentQuery selector. If no selector is specified all items will be returned. 
		* @returns Ext.Component[] Components which matched the selector 
		*/
		static query( selector?:string ): Ext.IComponent[];
		/** [Method] Retrieves all descendant components which match the passed function  
		* @param fn Function The matcher function. It will be called with a single argument, the component being tested. 
		* @param scope Object The scope in which to run the function. If not specified, it will default to the active component. 
		* @returns Ext.Component[] Components matched by the passed function 
		*/
		static queryBy( fn?:any, scope?:any ): Ext.IComponent[];
		/** [Method] Finds a component at any level under this container matching the id itemId  
		* @param id String The id to find 
		* @returns Ext.Component The matching id, null if not found 
		*/
		static queryById( id?:string ): Ext.IComponent;
		/** [Method] Called by Component doAutoRender Register a Container configured floating true with this Component s ZIndexManager  
		* @param cmp Object 
		*/
		static registerFloatingItem( cmp?:any ): void;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes a component from this container  
		* @param component Ext.Component/String The component reference or id to remove. 
		* @param autoDestroy Boolean True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config. 
		* @returns Ext.Component component The Component that was removed. 
		*/
		static remove( component?:any, autoDestroy?:boolean ): Ext.IComponent;
		/** [Method] Removes all components from this container  
		* @param autoDestroy Boolean True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config. 
		* @returns Ext.Component[] Array of the removed components 
		*/
		static removeAll( autoDestroy?:boolean ): Ext.IComponent[];
		/** [Method] Remove any anchor to this element  
		* @returns Ext.util.Positionable this 
		*/
		static removeAnchor(): Ext.util.IPositionable;
		/** [Method] Removes a CSS class from the body element  
		* @param cls String The class to remove 
		* @returns Ext.panel.Panel this 
		*/
		static removeBodyCls( cls?:string ): Ext.panel.IPanel;
		/** [Method] Removes items in the childEls array based on the return value of a supplied test function  
		* @param testFn Function The test function. 
		*/
		static removeChildEls( testFn?:any ): void;
		/** [Method] Removes a CSS class from the top level element representing this component  
		* @param cls String/String[] The CSS class name to remove. 
		* @returns Ext.Component Returns the Component to allow method chaining. 
		*/
		static removeCls( cls?:any ): Ext.IComponent;
		/** [Method] Removes a cls to the uiCls array which will also call removeUIClsFromElement and removes it from all elements of thi  
		* @param cls String/String[] A string or an array of strings to remove to the uiCls. 
		*/
		static removeClsWithUI( cls?:any ): void;
		/** [Method] Removes the docked item from the panel  
		* @param item Ext.Component The Component to remove. 
		* @param autoDestroy Boolean Destroy the component after removal. 
		*/
		static removeDocked( item?:Ext.IComponent, autoDestroy?:boolean ): void;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] inherit docs 
		* @param cls Object 
		*/
		static removeUIClsFromElement( cls?:any ): void;
		/** [Method] Renders the Component into the passed HTML element  
		* @param container Ext.Element/HTMLElement/String The element this Component should be rendered into. If it is being created from existing markup, this should be omitted. 
		* @param position String/Number The element ID or DOM node index within the container before which this component will be inserted (defaults to appending to the end of the container) 
		*/
		static render( container?:any, position?:any ): void;
		/** [Method] Restores a maximized window back to its original size and position prior to being maximized and also replaces the re  
		* @param animate Object 
		* @returns Ext.window.Window this 
		*/
		static restore( animate?:any ): Ext.window.IWindow;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Conditionally saves a single property from this object to the given state object  
		* @param propName String The name of the property to save. 
		* @param state Object The state object in to which to save the property. 
		* @param stateName String The name to use for the property in state. 
		* @returns Boolean True if the property was saved, false if not. 
		*/
		static savePropToState( propName?:string, state?:any, stateName?:string ): boolean;
		/** [Method] Gathers additional named properties of the instance and adds their current values to the passed state object  
		* @param propNames String/String[] The name (or array of names) of the property to save. 
		* @param state Object The state object in to which to save the property values. 
		* @returns Object state 
		*/
		static savePropsToState( propNames?:any, state?:any ): any;
		/** [Method] Saves the state of the object to the persistence store  */
		static saveState(): void;
		/** [Method] Scrolls this Component s target element by the passed delta values optionally animating  
		* @param deltaX Number/Number[]/Object Either the x delta, an Array specifying x and y deltas or an object with "x" and "y" properties. 
		* @param deltaY Number/Boolean/Object Either the y delta, or an animate flag or config object. 
		* @param animate Boolean/Object Animate flag/config object if the delta values were passed separately. 
		*/
		static scrollBy( deltaX?:any, deltaY?:any, animate?:any ): void;
		/** [Method] Ensures that all effects queued after sequenceFx is called on this object are run in sequence  
		* @returns Object this 
		*/
		static sequenceFx(): any;
		/** [Method] This method is called internally by Ext ZIndexManager to signal that a floating Component has either been moved to th  
		* @param active Boolean True to activate the Component, false to deactivate it. 
		* @param newActive Ext.Component The newly active Component which is taking over topmost zIndex position. 
		*/
		static setActive( active?:boolean, newActive?:Ext.IComponent ): void;
		/** [Method] Sets the overflow on the content element of the component  
		* @param scroll Boolean True to allow the Component to auto scroll. 
		* @returns Ext.Component this 
		*/
		static setAutoScroll( scroll?:boolean ): Ext.IComponent;
		/** [Method] Sets the body style according to the passed parameters  
		* @param style Mixed A full style specification string, or object, or the name of a style property to set. 
		* @param value String If the first param was a style property name, the style property value. 
		* @returns Ext.panel.Panel this 
		*/
		static setBodyStyle( style?:any, value?:string ): Ext.panel.IPanel;
		/** [Method]  
		* @param border Object 
		* @param targetEl Object 
		*/
		static setBorder( border?:any, targetEl?:any ): void;
		/** [Method] This method changes the region config property for this border region  
		* @param region String The new region value ("north", "south", "east" or "west"). 
		* @returns String The previous value of the region property. 
		*/
		static setBorderRegion( region?:string ): string;
		/** [Method] Sets the element s box  
		* @param box Object The box to fill {x, y, width, height} 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		static setBox( box?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Enable or disable the component  
		* @param disabled Boolean true to disable. 
		*/
		static setDisabled( disabled?:boolean ): void;
		/** [Method] Sets the dock position of this component in its parent panel  
		* @param dock Object The dock position. 
		* @param layoutParent Boolean true to re-layout parent. 
		* @returns Ext.Component this 
		*/
		static setDocked( dock?:any, layoutParent?:boolean ): Ext.IComponent;
		/** [Method] Set the glyph for the panel s header  
		* @param newGlyph Number/String The new glyph This parameter expects a format consistent with that of glyph 
		*/
		static setGlyph( newGlyph?:any ): void;
		/** [Method] Sets the height of the component  
		* @param height Number The new height to set. This may be one of:  A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS height style. undefined to leave the height unchanged.  
		* @returns Ext.Component this 
		*/
		static setHeight( height?:number ): Ext.IComponent;
		/** [Method] Adds the specified icon to the dialog  
		* @param icon String A CSS classname specifying the icon's background image url, or empty string to clear the icon 
		* @param width Number The width of the icon. If not specified, the default is used 
		* @param height Number The height of the icon. If not specified, the default is used 
		* @returns Ext.window.MessageBox this 
		*/
		static setIcon( icon?:string, width?:number, height?:number ): Ext.window.IMessageBox;
		/** [Method] Set the iconCls for the panel s header  
		* @param newIconCls String The new CSS class name 
		*/
		static setIconCls( newIconCls?:string ): void;
		/** [Method] This method allows you to show or hide a LoadMask on top of this component  
		* @param load Boolean/Object/String True to show the default LoadMask, a config object that will be passed to the LoadMask constructor, or a message String to show. False to hide the current LoadMask. 
		* @param targetEl Boolean True to mask the targetEl of this Component instead of the this.el. For example, setting this to true on a Panel will cause only the body to be masked. 
		* @returns Ext.LoadMask The LoadMask instance that has just been shown. 
		*/
		static setLoading( load?:any, targetEl?:boolean ): Ext.ILoadMask;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @param x Object 
		* @returns Ext.util.Positionable this 
		*/
		static setLocalX( x?:any ): Ext.util.IPositionable;
		/** [Method] Overridden in Ext rtl AbstractComponent  
		* @param x Object 
		* @param y Object 
		* @returns Ext.util.Positionable this 
		*/
		static setLocalXY( x?:any, y?:any ): Ext.util.IPositionable;
		/** [Method] Sets the local y coordinate of this element using CSS style  
		* @param y Object 
		* @returns Ext.util.Positionable this 
		*/
		static setLocalY( y?:any ): Ext.util.IPositionable;
		/** [Method] Sets the margin on the target element  
		* @param margin Number/String The margin to set. See the margin config. 
		*/
		static setMargin( margin?:any ): void;
		/** [Method] Sets the overflow x y on the content element of the component  
		* @param overflowX String The overflow-x value. 
		* @param overflowY String The overflow-y value. 
		* @returns Ext.Component this 
		*/
		static setOverflowXY( overflowX?:string, overflowY?:string ): Ext.IComponent;
		/** [Method] Sets the page XY position of the component  
		* @param x Number/Number[] The new x position or an array of [x,y]. 
		* @param y Number The new y position. 
		* @param animate Boolean/Object True to animate the Component into its new position. You may also pass an animation configuration. 
		* @returns Ext.Component this 
		*/
		static setPagePosition( x?:any, y?:number, animate?:any ): Ext.IComponent;
		/** [Method] Sets the left and top of the component  
		* @param x Number/Number[]/Object The new left, an array of [x,y], or animation config object containing x and y properties. 
		* @param y Number The new top. 
		* @param animate Boolean/Object If true, the Component is animated into its new position. You may also pass an animation configuration. 
		* @returns Ext.Component this 
		*/
		static setPosition( x?:any, y?:number, animate?:any ): Ext.IComponent;
		/** [Method] Sets the element s position and size to the specified region  
		* @param region Ext.util.Region The region to fill 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		static setRegion( region?:Ext.util.IRegion, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the weight config property for this component  
		* @param weight Number The new weight value. 
		* @returns Number The previous value of the weight property. 
		*/
		static setRegionWeight( weight?:number ): number;
		/** [Method] Sets the width and height of this Component  
		* @param width Number/String/Object The new width to set. This may be one of:  A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS width style. A size object in the format {width: widthValue, height: heightValue}. undefined to leave the width unchanged.  
		* @param height Number/String The new height to set (not required if a size object is passed as the first arg). This may be one of:  A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS height style. Animation may not be used. undefined to leave the height unchanged.  
		* @returns Ext.Component this 
		*/
		static setSize( width?:any, height?:any ): Ext.IComponent;
		/** [Method] Set a title for the panel s header  
		* @param newTitle String 
		*/
		static setTitle( newTitle?:string ): void;
		/** [Method] Sets the UI for the component  
		* @param ui Object 
		*/
		static setUI( ui?:any ): void;
		/** [Method] Convenience function to hide or show this component by Boolean  
		* @param visible Boolean true to show, false to hide. 
		* @returns Ext.Component this 
		*/
		static setVisible( visible?:boolean ): Ext.IComponent;
		/** [Method] Sets the width of the component  
		* @param width Number The new width to setThis may be one of:  A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS width style.  
		* @returns Ext.Component this 
		*/
		static setWidth( width?:number ): Ext.IComponent;
		/** [Method] Sets the X position of the DOM element based on page coordinates  
		* @param x Object 
		* @param animate Object 
		* @returns Ext.util.Positionable this 
		*/
		static setX( x?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the position of the DOM element in page coordinates  
		* @param xy Object 
		* @param animate Object 
		* @returns Ext.util.Positionable this 
		*/
		static setXY( xy?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the Y position of the DOM element based on page coordinates  
		* @param y Object 
		* @param animate Object 
		* @returns Ext.util.Positionable this 
		*/
		static setY( y?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Displays a new message box or reinitializes an existing message box based on the config options passed in  
		* @param config Object The following config options are supported: 
		* @returns Ext.window.MessageBox this 
		*/
		static show( config?:any ): Ext.window.IMessageBox;
		/** [Method] Displays component at specific xy position  
		* @param x Number/Number[] The new x position or array of [x,y]. 
		* @param y Number The new y position 
		* @param animate Boolean/Object True to animate the Component into its new position. You may also pass an animation configuration. 
		* @returns Ext.Component this 
		*/
		static showAt( x?:any, y?:number, animate?:any ): Ext.IComponent;
		/** [Method] Shows this component by the specified Component or Element  
		* @param component Ext.Component/Ext.dom.Element The Ext.Component or Ext.Element to show the component by. 
		* @param position String Alignment position as used by Ext.util.Positionable.getAlignToXY. Defaults to defaultAlign. 
		* @param offsets Number[] Alignment offsets as used by Ext.util.Positionable.getAlignToXY. 
		* @returns Ext.Component this 
		*/
		static showBy( component?:any, position?:string, offsets?:number[] ): Ext.IComponent;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		static stopAnimation(): Ext.IElement;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		static stopFx(): Ext.IElement;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Ensures that all effects queued after syncFx is called on this object are run concurrently  
		* @returns Object this 
		*/
		static syncFx(): any;
		/** [Method] Sends this Component to the back of lower z index than any other visible windows 
		* @returns Ext.Component this 
		*/
		static toBack(): Ext.IComponent;
		/** [Method] Brings this floating Component to the front of any other visible floating Components managed by the same ZIndexManag  
		* @param preventFocus Boolean Specify true to prevent the Component from being focused. 
		* @returns Ext.Component this 
		*/
		static toFront( preventFocus?:boolean ): Ext.IComponent;
		/** [Method] Shortcut for performing an expand or collapse based on the current state of the panel  
		* @returns Ext.panel.Panel this 
		*/
		static toggleCollapse(): Ext.panel.IPanel;
		/** [Method] A shortcut method for toggling between maximize and restore based on the current maximized state of the window  
		* @returns Ext.window.Window this 
		*/
		static toggleMaximize(): Ext.window.IWindow;
		/** [Method] Translates the passed page coordinates into left top css values for the element 
		* @param x Number/Array The page x or an array containing [x, y] 
		* @param y Number The page y, required if x is not an array 
		* @returns Object An object with left and top properties. e.g. {left: (value), top: (value)} 
		*/
		static translatePoints( x?:any, y?:number ): any;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Navigates up the ownership hierarchy searching for an ancestor Container which matches any passed simple selector or 
		* @param selector String/Ext.Component The simple selector component or actual component to test. If not passed the immediate owner/activater is returned. 
		* @param limit String/Number/Ext.Component This may be a selector upon which to stop the upward scan, or a limit of teh number of steps, or Component reference to stop on. 
		* @returns Ext.container.Container The matching ancestor Container (or undefined if no match was found). 
		*/
		static up( selector?:any, limit?:any ): Ext.container.IContainer;
		/** [Method] Update the content area of a component  
		* @param htmlOrData String/Object If this component has been configured with a template via the tpl config then it will use this argument as data to populate the template. If this component was not configured with a template, the components content area will be updated via Ext.Element update. 
		* @param loadScripts Boolean Only legitimate when using the html configuration. 
		* @param callback Function Only legitimate when using the html configuration. Callback to execute when scripts have finished loading. 
		*/
		static update( htmlOrData?:any, loadScripts?:boolean, callback?:any ): void;
		/** [Method] Sets the current box measurements of the component s underlying element  
		* @param box Object An object in the format {x, y, width, height} 
		* @returns Ext.Component this 
		*/
		static updateBox( box?:any ): Ext.IComponent;
		/** [Method] Updates this component s layout  
		* @param options Object An object with layout options. 
		*/
		static updateLayout( options?:any ): void;
		/** [Method] Updates a progress style message box s text and progress bar  
		* @param value Number Any number between 0 and 1 (e.g., .5) 
		* @param progressText String The progress text to display inside the progress bar. 
		* @param msg String The message box's body text is replaced with the specified string (defaults to undefined so that any existing body text will not get overwritten by default unless a new value is passed in) 
		* @returns Ext.window.MessageBox this 
		*/
		static updateProgress( value?:number, progressText?:string, msg?:string ): Ext.window.IMessageBox;
		/** [Method] Displays a message box with an infinitely auto updating progress bar  
		* @param msg String The message box body text 
		* @param title String The title bar text 
		* @param config Object A Ext.ProgressBar.wait config object 
		* @returns Ext.window.MessageBox this 
		*/
		static wait( msg?:string, title?:string, config?:any ): Ext.window.IMessageBox;
	}
}
declare module Ext {
	export interface IModelManager extends Ext.IAbstractManager {
	}
	export class ModelManager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Creates a new instance of a Model using the given data  
		* @param data Object Data to initialize the Model's fields with 
		* @param name String The name of the model to create 
		* @param id Number unique id of the Model instance (see Ext.data.Model) 
		*/
		static create( data?:any, name?:string, id?:number ): void;
		/** [Method] Executes the specified function once for each item in the collection  
		* @param fn Function The function to execute. 
		* @param scope Object The scope to execute in. Defaults to this. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Returns an item by id  
		* @param id String The id of the item 
		* @returns Object The item, undefined if not found. 
		*/
		static get( id?:string ): any;
		/** [Method] Gets the number of items in the collection  
		* @returns Number The number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Returns the Ext data Model class for a given model name 
		* @param id String/Object The classname of the model or the model class itself. 
		* @returns Ext.data.Model a model class. 
		*/
		static getModel( id?:any ): Ext.data.IModel;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Checks if an item type is registered  
		* @param type String The mnemonic string by which the class may be looked up 
		* @returns Boolean Whether the type is registered. 
		*/
		static isRegistered( type?:string ): boolean;
		/** [Method] Registers a function that will be called when an item with the specified id is added to the manager  
		* @param id String The item id 
		* @param fn Function The callback function. Called with a single parameter, the item. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to the item. 
		*/
		static onAvailable( id?:string, fn?:any, scope?:any ): void;
		/** [Method] Registers an item to be managed 
		* @param item Object The item to register 
		*/
		static register( item?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Unregisters an item by removing it from this manager 
		* @param item Object The item to unregister 
		*/
		static unregister( item?:any ): void;
	}
}
declare module Ext {
	export interface IModelMgr extends Ext.IAbstractManager {
	}
	export class ModelMgr {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Creates a new instance of a Model using the given data  
		* @param data Object Data to initialize the Model's fields with 
		* @param name String The name of the model to create 
		* @param id Number unique id of the Model instance (see Ext.data.Model) 
		*/
		static create( data?:any, name?:string, id?:number ): void;
		/** [Method] Executes the specified function once for each item in the collection  
		* @param fn Function The function to execute. 
		* @param scope Object The scope to execute in. Defaults to this. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Returns an item by id  
		* @param id String The id of the item 
		* @returns Object The item, undefined if not found. 
		*/
		static get( id?:string ): any;
		/** [Method] Gets the number of items in the collection  
		* @returns Number The number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Returns the Ext data Model class for a given model name 
		* @param id String/Object The classname of the model or the model class itself. 
		* @returns Ext.data.Model a model class. 
		*/
		static getModel( id?:any ): Ext.data.IModel;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Checks if an item type is registered  
		* @param type String The mnemonic string by which the class may be looked up 
		* @returns Boolean Whether the type is registered. 
		*/
		static isRegistered( type?:string ): boolean;
		/** [Method] Registers a function that will be called when an item with the specified id is added to the manager  
		* @param id String The item id 
		* @param fn Function The callback function. Called with a single parameter, the item. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to the item. 
		*/
		static onAvailable( id?:string, fn?:any, scope?:any ): void;
		/** [Method] Registers an item to be managed 
		* @param item Object The item to register 
		*/
		static register( item?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Unregisters an item by removing it from this manager 
		* @param item Object The item to unregister 
		*/
		static unregister( item?:any ): void;
	}
}
declare module Ext {
	export interface INumber {
	}
	export class Number {
		/** [Method] Checks whether or not the passed number is within a desired range  
		* @param number Number The number to check 
		* @param min Number The minimum number in the range 
		* @param max Number The maximum number in the range 
		* @returns Number The constrained value if outside the range, otherwise the current value 
		*/
		static constrain( number?:number, min?:number, max?:number ): number;
		/** [Method] Corrects floating point numbers that overflow to a non precise value because of their floating nature for example 0 
		* @param The Number number 
		* @returns Number The correctly rounded number 
		*/
		static correctFloat( The?:number ): number;
		/** [Method] Validate that a value is numeric and convert it to a number if necessary  
		* @param value Object 
		* @param defaultValue Number The value to return if the original value is non-numeric 
		* @returns Number value, if numeric, defaultValue otherwise 
		*/
		static from( value?:any, defaultValue?:number ): number;
		/** [Method] Returns a random integer between the specified range inclusive  
		* @param from Number Lowest value to return. 
		* @param to Number Highst value to return. 
		* @returns Number A random integer within the specified range. 
		*/
		static randomInt( from?:number, to?:number ): number;
		/** [Method] Snaps the passed number between stopping points based upon a passed increment value  
		* @param value Number The unsnapped value. 
		* @param increment Number The increment by which the value must move. 
		* @param minValue Number The minimum value to which the returned value must be constrained. Overrides the increment. 
		* @param maxValue Number The maximum value to which the returned value must be constrained. Overrides the increment. 
		* @returns Number The value of the nearest snap target. 
		*/
		static snap( value?:number, increment?:number, minValue?:number, maxValue?:number ): number;
		/** [Method] Snaps the passed number between stopping points based upon a passed increment value  
		* @param value Number The unsnapped value. 
		* @param increment Number The increment by which the value must move. 
		* @param minValue Number The minimum value to which the returned value must be constrained. 
		* @param maxValue Number The maximum value to which the returned value must be constrained. 
		* @returns Number The value of the nearest snap target. 
		*/
		static snapInRange( value?:number, increment?:number, minValue?:number, maxValue?:number ): number;
		/** [Method] Formats a number using fixed point notation 
		* @param value Number The number to format 
		* @param precision Number The number of digits to show after the decimal point 
		*/
		static toFixed( value?:number, precision?:number ): void;
	}
}
declare module Ext {
	export interface IObject {
	}
	export class Object {
		/** [Method] Returns a new object with the given object as the prototype chain  
		* @param object Object The prototype chain for the new object. 
		*/
		static chain( object?:any ): void;
		/** [Method] Iterates through an object and invokes the given callback function for each iteration  
		* @param object Object The object to iterate 
		* @param fn Function The callback function. 
		* @param scope Object The execution scope (this) of the callback function 
		*/
		static each( object?:any, fn?:any, scope?:any ): void;
		/** [Method] Shallow compares the contents of 2 objects using strict equality  
		* @param object1 Object 
		* @param object2 Object 
		* @returns Boolean true if the objects are equal. 
		*/
		static equals( object1?:any, object2?:any ): boolean;
		/** [Method] Converts a query string back into an object  
		* @param queryString String The query string to decode 
		* @param recursive Boolean Whether or not to recursively decode the string. This format is supported by PHP / Ruby on Rails servers and similar. 
		* @returns Object 
		*/
		static fromQueryString( queryString?:string, recursive?:boolean ): any;
		/** [Method] Returns the first matching key corresponding to the given value  
		* @param object Object 
		* @param value Object The value to find 
		*/
		static getKey( object?:any, value?:any ): void;
		/** [Method] Gets all keys of the given object as an array  
		* @param object Object 
		* @returns String[] An array of keys from the object 
		*/
		static getKeys( object?:any ): string[];
		/** [Method] Gets the total number of this object s own properties var size  Ext Object getSize  name  Jacky  loves  
		* @param object Object 
		* @returns Number size 
		*/
		static getSize( object?:any ): number;
		/** [Method] Gets all values of the given object as an array  
		* @param object Object 
		* @returns Array An array of values from the object 
		*/
		static getValues( object?:any ): any[];
		/** [Method] Checks if there are any properties on this object  
		* @param object Object 
		* @returns Boolean true if there no properties on the object. 
		*/
		static isEmpty( object?:any ): boolean;
		/** [Method] Merges any number of objects recursively without referencing them or their children  
		* @param destination Object The object into which all subsequent objects are merged. 
		* @param object Object... Any number of objects to merge into the destination. 
		* @returns Object merged The destination object with all passed objects merged in. 
		*/
		static merge( destination:any, ...object:any[] ): any;
		/** [Method] Converts a name  value pair to an array of objects with support for nested structures  
		* @param name String 
		* @param value Object/Array 
		* @param recursive Boolean True to traverse object recursively 
		* @returns Array 
		*/
		static toQueryObjects( name?:string, value?:any, recursive?:boolean ): any[];
		/** [Method] Takes an object and converts it to an encoded query string  
		* @param object Object The object to encode 
		* @param recursive Boolean Whether or not to interpret the object in recursive format. (PHP / Ruby on Rails servers and similar). 
		* @returns String queryString 
		*/
		static toQueryString( object?:any, recursive?:boolean ): string;
	}
}
declare module Ext.panel {
	export interface IAbstractPanel extends Ext.container.IContainer,Ext.container.IDockingContainer {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Boolean) */
		bodyBorder?: boolean;
		/** [Config Option] (String/String[]) */
		bodyCls?: any;
		/** [Config Option] (Number/String) */
		bodyPadding?: any;
		/** [Config Option] (String/Object/Function) */
		bodyStyle?: any;
		/** [Config Option] (Number/String/Boolean) */
		border?: any;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Object/Object[]) */
		dockedItems?: any;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Boolean/Number) */
		shrinkWrapDock?: any;
		/** [Property] (Ext.dom.Element) */
		body?: Ext.dom.IElement;
		/** [Property] (String) */
		contentPaddingProperty?: string;
		/** [Property] (Boolean) */
		isPanel?: boolean;
		/** [Method] Adds a CSS class to the body element  
		* @param cls String The class to add 
		* @returns Ext.panel.Panel this 
		*/
		addBodyCls?( cls?:string ): Ext.panel.IPanel;
		/** [Method] Adds docked item s to the container  
		* @param component Object/Object[] The Component or array of components to add. The components must include a 'dock' parameter on each component to indicate where it should be docked ('top', 'right', 'bottom', 'left'). 
		* @param pos Number The index at which the Component will be added 
		* @returns Ext.Component[] The added components. 
		*/
		addDocked?( component?:any, pos?:number ): Ext.IComponent[];
		/** [Method] inherit docs 
		* @param cls Object 
		*/
		addUIClsToElement?( cls?:any ): void;
		/** [Method] Attempts a default component lookup see Ext container Container getComponent 
		* @param comp String/Number The component id, itemId or position to find 
		* @returns Ext.Component The component (if found) 
		*/
		getComponent?( comp?:any ): Ext.IComponent;
		/** [Method] Finds a docked component by id itemId or position  
		* @param comp String/Number The id, itemId or position of the docked component (see getComponent for details) 
		* @returns Ext.Component The docked component (if found) 
		*/
		getDockedComponent?( comp?:any ): Ext.IComponent;
		/** [Method] Retrieves an array of all currently docked Components  
		* @param selector String A ComponentQuery selector string to filter the returned items. 
		* @param beforeBody Boolean An optional flag to limit the set of items to only those before the body (true) or after the body (false). All components are returned by default. 
		* @returns Ext.Component[] The array of docked components meeting the specified criteria. 
		*/
		getDockedItems?( selector?:string, beforeBody?:boolean ): Ext.IComponent[];
		/** [Method] Used by ComponentQuery child and down to retrieve all of the items which can potentially be considered a child of th  
		* @param deep Object 
		*/
		getRefItems?( deep?:any ): void;
		/** [Method] Inserts docked item s to the panel at the indicated position  
		* @param pos Number The index at which the Component will be inserted 
		* @param component Object/Object[] The Component or array of components to add. The components must include a 'dock' paramater on each component to indicate where it should be docked ('top', 'right', 'bottom', 'left'). 
		*/
		insertDocked?( pos?:number, component?:any ): void;
		/** [Method] Invoked after a docked item is added to the Panel  
		* @param component Ext.Component 
		*/
		onDockedAdd?( component?:Ext.IComponent ): void;
		/** [Method] Invoked after a docked item is removed from the Panel  
		* @param component Ext.Component 
		*/
		onDockedRemove?( component?:Ext.IComponent ): void;
		/** [Method] Removes a CSS class from the body element  
		* @param cls String The class to remove 
		* @returns Ext.panel.Panel this 
		*/
		removeBodyCls?( cls?:string ): Ext.panel.IPanel;
		/** [Method] Removes the docked item from the panel  
		* @param item Ext.Component The Component to remove. 
		* @param autoDestroy Boolean Destroy the component after removal. 
		*/
		removeDocked?( item?:Ext.IComponent, autoDestroy?:boolean ): void;
		/** [Method] inherit docs 
		* @param cls Object 
		*/
		removeUIClsFromElement?( cls?:any ): void;
		/** [Method] Sets the body style according to the passed parameters  
		* @param style Mixed A full style specification string, or object, or the name of a style property to set. 
		* @param value String If the first param was a style property name, the style property value. 
		* @returns Ext.panel.Panel this 
		*/
		setBodyStyle?( style?:any, value?:string ): Ext.panel.IPanel;
	}
}
declare module Ext.panel {
	export interface IDD extends Ext.dd.IDragSource {
		/** [Method] An empty function by default but provided so that you can perform a custom action after an invalid drop has occurred  
		* @param e Event The event object 
		* @param id String The id of the dropped element 
		*/
		afterInvalidDrop?( e?:Event, id?:string ): void;
		/** [Method] overrides Ext dd DragDrop 
		* @param e Object 
		*/
		b4MouseDown?( e?:any ): void;
		/** [Method] Creates the proxy element if it does not yet exist */
		createFrame?(): void;
		/** [Method] Returns a reference to the actual element to drag  
		* @param e Object 
		* @returns HTMLElement the html element 
		*/
		getDragEl?( e?:any ): HTMLElement;
	}
}
declare module Ext.panel {
	export interface IHeader extends Ext.container.IContainer {
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		defaultType?: string;
		/** [Config Option] (Number/String) */
		glyph?: any;
		/** [Config Option] (String) */
		icon?: string;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Boolean/Number) */
		shrinkWrap?: any;
		/** [Config Option] (String) */
		title?: string;
		/** [Config Option] (String) */
		titleAlign?: string;
		/** [Config Option] (Number) */
		titlePosition?: number;
		/** [Property] (Boolean) */
		isHeader?: boolean;
		/** [Method] Add a tool to the header 
		* @param tool Object 
		*/
		addTool?( tool?:any ): void;
		/** [Method] inherit docs 
		* @param cls Object 
		*/
		addUIClsToElement?( cls?:any ): void;
		/** [Method] Invoked after the Container has laid out and rendered if necessary its child Components  */
		afterLayout?(): void;
		/** [Method] Occurs before componentLayout is run  */
		beforeLayout?(): void;
		/** [Method] Gets the tools for this header  
		* @returns Ext.panel.Tool[] The tools 
		*/
		getTools?(): Ext.panel.ITool[];
		/** [Method] Set up the tools lt tool type gt link in the owning Panel  
		* @param component Object 
		* @param index Object 
		*/
		onAdd?( component?:any, index?:any ): void;
		/** [Method] inherit docs 
		* @param cls Object 
		*/
		removeUIClsFromElement?( cls?:any ): void;
		/** [Method] Sets glyph that provides the icon image for this header  
		* @param glyph Number/String the numeric charCode or string charCode/font-family. This parameter expects a format consistent with that of glyph 
		*/
		setGlyph?( glyph?:any ): void;
		/** [Method] Sets the image path that provides the icon image for this header  
		* @param icon String The new icon path 
		*/
		setIcon?( icon?:string ): void;
		/** [Method] Sets the CSS class that provides the icon image for this header  
		* @param cls String The new CSS class name 
		*/
		setIconCls?( cls?:string ): void;
		/** [Method] Sets the title of the header  
		* @param title String The title to be set 
		*/
		setTitle?( title?:string ): void;
	}
}
declare module Ext.panel {
	export interface IPanel extends Ext.panel.IAbstractPanel {
		/** [Config Option] (Boolean) */
		animCollapse?: boolean;
		/** [Config Option] (Object/Object[]) */
		bbar?: any;
		/** [Config Option] (String) */
		buttonAlign?: string;
		/** [Config Option] (Object/Object[]) */
		buttons?: any;
		/** [Config Option] (Boolean) */
		closable?: boolean;
		/** [Config Option] (String) */
		closeAction?: string;
		/** [Config Option] (String) */
		collapseDirection?: string;
		/** [Config Option] (Boolean) */
		collapseFirst?: boolean;
		/** [Config Option] (String) */
		collapseMode?: string;
		/** [Config Option] (Boolean) */
		collapsed?: boolean;
		/** [Config Option] (String) */
		collapsedCls?: string;
		/** [Config Option] (Boolean) */
		collapsible?: boolean;
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Boolean) */
		constrainHeader?: boolean;
		/** [Config Option] (Object/Object[]) */
		dockedItems?: any;
		/** [Config Option] (Object/Object[]) */
		fbar?: any;
		/** [Config Option] (Boolean) */
		floatable?: boolean;
		/** [Config Option] (Boolean) */
		frame?: boolean;
		/** [Config Option] (Boolean) */
		frameHeader?: boolean;
		/** [Config Option] (Number/String) */
		glyph?: any;
		/** [Config Option] (Boolean/Object) */
		header?: any;
		/** [Config Option] (String) */
		headerOverCls?: string;
		/** [Config Option] (String) */
		headerPosition?: string;
		/** [Config Option] (Boolean) */
		hideCollapseTool?: boolean;
		/** [Config Option] (String) */
		icon?: string;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (Object/Object[]) */
		lbar?: any;
		/** [Config Option] (Boolean) */
		manageHeight?: boolean;
		/** [Config Option] (Number) */
		minButtonWidth?: number;
		/** [Config Option] (Boolean) */
		overlapHeader?: boolean;
		/** [Config Option] (Ext.Component/Object) */
		placeholder?: any;
		/** [Config Option] (Number) */
		placeholderCollapseHideMode?: number;
		/** [Config Option] (Boolean) */
		preventHeader?: boolean;
		/** [Config Option] (Object/Object[]) */
		rbar?: any;
		/** [Config Option] (Boolean) */
		simpleDrag?: boolean;
		/** [Config Option] (Object/Object[]) */
		tbar?: any;
		/** [Config Option] (String) */
		title?: string;
		/** [Config Option] (String) */
		titleAlign?: string;
		/** [Config Option] (Boolean) */
		titleCollapse?: boolean;
		/** [Config Option] (Object[]/Ext.panel.Tool[]) */
		tools?: any;
		/** [Property] (Ext.dd.DragSource/Ext.util.ComponentDragger) */
		dd?: any;
		/** [Method] Add tools to this panel 
		* @param tools Object[]/Ext.panel.Tool[] The tools to add 
		*/
		addTool?( tools?:any ): void;
		/** [Method] Invoked after the Panel is Collapsed  
		* @param animated Boolean 
		*/
		afterCollapse?( animated?:boolean ): void;
		/** [Method] Invoked after the Panel is Expanded  
		* @param animated Boolean 
		*/
		afterExpand?( animated?:boolean ): void;
		/** [Method] Closes the Panel  */
		close?(): void;
		/** [Method] Collapses the panel body so that the body becomes hidden  
		* @param direction String The direction to collapse towards. Must be one of  Ext.Component.DIRECTION_TOP Ext.Component.DIRECTION_RIGHT Ext.Component.DIRECTION_BOTTOM Ext.Component.DIRECTION_LEFT Defaults to collapseDirection. 
		* @param animate Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config). May also be specified as the animation duration in milliseconds. 
		* @returns Ext.panel.Panel this 
		*/
		collapse?( direction?:string, animate?:boolean ): Ext.panel.IPanel;
		/** [Method] converts a collapsdDir into an anchor argument for Element slideIn overridden in rtl mode to switch l and r  
		* @param collapseDir Object 
		*/
		convertCollapseDir?( collapseDir?:any ): void;
		/** [Method] Expands the panel body so that it becomes visible  
		* @param animate Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config). May also be specified as the animation duration in milliseconds. 
		* @returns Ext.panel.Panel this 
		*/
		expand?( animate?:boolean ): Ext.panel.IPanel;
		/** [Method] Returns the current collapsed state of the panel  
		* @returns Boolean/String False when not collapsed, otherwise the value of collapseDirection. 
		*/
		getCollapsed?(): any;
		/** [Method] Gets the Header for this panel  */
		getHeader?(): void;
		/** [Method] The supplied default state gathering method for the AbstractComponent class  
		* @returns Object 
		*/
		getState?(): any;
		/** [Method] Determines whether this Component is the root of a layout  */
		isLayoutRoot?(): void;
		/** [Method] Returns true if this component is visible  
		* @param deep Object 
		* @returns Boolean true if this component is visible, false otherwise. 
		*/
		isVisible?( deep?:any ): boolean;
		/** [Method] Possibly animates down to a target element  */
		onHide?(): void;
		/** [Method] Method to manage awareness of when components are removed from their respective Container firing a removed event  
		* @param destroying Object 
		*/
		onRemoved?( destroying?:any ): void;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method]  
		* @param border Object 
		* @param targetEl Object 
		*/
		setBorder?( border?:any, targetEl?:any ): void;
		/** [Method] Set the glyph for the panel s header  
		* @param newGlyph Number/String The new glyph This parameter expects a format consistent with that of glyph 
		*/
		setGlyph?( newGlyph?:any ): void;
		/** [Method] Set the icon for the panel s header  
		* @param newIcon String The new icon path 
		*/
		setIcon?( newIcon?:string ): void;
		/** [Method] Set the iconCls for the panel s header  
		* @param newIconCls String The new CSS class name 
		*/
		setIconCls?( newIconCls?:string ): void;
		/** [Method] Set a title for the panel s header  
		* @param newTitle String 
		*/
		setTitle?( newTitle?:string ): void;
		/** [Method] Sets the UI for the component  
		* @param ui Object 
		*/
		setUI?( ui?:any ): void;
		/** [Method] Shortcut for performing an expand or collapse based on the current state of the panel  
		* @returns Ext.panel.Panel this 
		*/
		toggleCollapse?(): Ext.panel.IPanel;
	}
}
declare module Ext {
	export interface IPanel extends Ext.panel.IAbstractPanel {
		/** [Config Option] (Boolean) */
		animCollapse?: boolean;
		/** [Config Option] (Object/Object[]) */
		bbar?: any;
		/** [Config Option] (String) */
		buttonAlign?: string;
		/** [Config Option] (Object/Object[]) */
		buttons?: any;
		/** [Config Option] (Boolean) */
		closable?: boolean;
		/** [Config Option] (String) */
		closeAction?: string;
		/** [Config Option] (String) */
		collapseDirection?: string;
		/** [Config Option] (Boolean) */
		collapseFirst?: boolean;
		/** [Config Option] (String) */
		collapseMode?: string;
		/** [Config Option] (Boolean) */
		collapsed?: boolean;
		/** [Config Option] (String) */
		collapsedCls?: string;
		/** [Config Option] (Boolean) */
		collapsible?: boolean;
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Boolean) */
		constrainHeader?: boolean;
		/** [Config Option] (Object/Object[]) */
		dockedItems?: any;
		/** [Config Option] (Object/Object[]) */
		fbar?: any;
		/** [Config Option] (Boolean) */
		floatable?: boolean;
		/** [Config Option] (Boolean) */
		frame?: boolean;
		/** [Config Option] (Boolean) */
		frameHeader?: boolean;
		/** [Config Option] (Number/String) */
		glyph?: any;
		/** [Config Option] (Boolean/Object) */
		header?: any;
		/** [Config Option] (String) */
		headerOverCls?: string;
		/** [Config Option] (String) */
		headerPosition?: string;
		/** [Config Option] (Boolean) */
		hideCollapseTool?: boolean;
		/** [Config Option] (String) */
		icon?: string;
		/** [Config Option] (String) */
		iconCls?: string;
		/** [Config Option] (Object/Object[]) */
		lbar?: any;
		/** [Config Option] (Boolean) */
		manageHeight?: boolean;
		/** [Config Option] (Number) */
		minButtonWidth?: number;
		/** [Config Option] (Boolean) */
		overlapHeader?: boolean;
		/** [Config Option] (Ext.Component/Object) */
		placeholder?: any;
		/** [Config Option] (Number) */
		placeholderCollapseHideMode?: number;
		/** [Config Option] (Boolean) */
		preventHeader?: boolean;
		/** [Config Option] (Object/Object[]) */
		rbar?: any;
		/** [Config Option] (Boolean) */
		simpleDrag?: boolean;
		/** [Config Option] (Object/Object[]) */
		tbar?: any;
		/** [Config Option] (String) */
		title?: string;
		/** [Config Option] (String) */
		titleAlign?: string;
		/** [Config Option] (Boolean) */
		titleCollapse?: boolean;
		/** [Config Option] (Object[]/Ext.panel.Tool[]) */
		tools?: any;
		/** [Property] (Ext.dd.DragSource/Ext.util.ComponentDragger) */
		dd?: any;
		/** [Method] Add tools to this panel 
		* @param tools Object[]/Ext.panel.Tool[] The tools to add 
		*/
		addTool?( tools?:any ): void;
		/** [Method] Invoked after the Panel is Collapsed  
		* @param animated Boolean 
		*/
		afterCollapse?( animated?:boolean ): void;
		/** [Method] Invoked after the Panel is Expanded  
		* @param animated Boolean 
		*/
		afterExpand?( animated?:boolean ): void;
		/** [Method] Closes the Panel  */
		close?(): void;
		/** [Method] Collapses the panel body so that the body becomes hidden  
		* @param direction String The direction to collapse towards. Must be one of  Ext.Component.DIRECTION_TOP Ext.Component.DIRECTION_RIGHT Ext.Component.DIRECTION_BOTTOM Ext.Component.DIRECTION_LEFT Defaults to collapseDirection. 
		* @param animate Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config). May also be specified as the animation duration in milliseconds. 
		* @returns Ext.panel.Panel this 
		*/
		collapse?( direction?:string, animate?:boolean ): Ext.panel.IPanel;
		/** [Method] converts a collapsdDir into an anchor argument for Element slideIn overridden in rtl mode to switch l and r  
		* @param collapseDir Object 
		*/
		convertCollapseDir?( collapseDir?:any ): void;
		/** [Method] Expands the panel body so that it becomes visible  
		* @param animate Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config). May also be specified as the animation duration in milliseconds. 
		* @returns Ext.panel.Panel this 
		*/
		expand?( animate?:boolean ): Ext.panel.IPanel;
		/** [Method] Returns the current collapsed state of the panel  
		* @returns Boolean/String False when not collapsed, otherwise the value of collapseDirection. 
		*/
		getCollapsed?(): any;
		/** [Method] Gets the Header for this panel  */
		getHeader?(): void;
		/** [Method] The supplied default state gathering method for the AbstractComponent class  
		* @returns Object 
		*/
		getState?(): any;
		/** [Method] Determines whether this Component is the root of a layout  */
		isLayoutRoot?(): void;
		/** [Method] Returns true if this component is visible  
		* @param deep Object 
		* @returns Boolean true if this component is visible, false otherwise. 
		*/
		isVisible?( deep?:any ): boolean;
		/** [Method] Possibly animates down to a target element  */
		onHide?(): void;
		/** [Method] Method to manage awareness of when components are removed from their respective Container firing a removed event  
		* @param destroying Object 
		*/
		onRemoved?( destroying?:any ): void;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method]  
		* @param border Object 
		* @param targetEl Object 
		*/
		setBorder?( border?:any, targetEl?:any ): void;
		/** [Method] Set the glyph for the panel s header  
		* @param newGlyph Number/String The new glyph This parameter expects a format consistent with that of glyph 
		*/
		setGlyph?( newGlyph?:any ): void;
		/** [Method] Set the icon for the panel s header  
		* @param newIcon String The new icon path 
		*/
		setIcon?( newIcon?:string ): void;
		/** [Method] Set the iconCls for the panel s header  
		* @param newIconCls String The new CSS class name 
		*/
		setIconCls?( newIconCls?:string ): void;
		/** [Method] Set a title for the panel s header  
		* @param newTitle String 
		*/
		setTitle?( newTitle?:string ): void;
		/** [Method] Sets the UI for the component  
		* @param ui Object 
		*/
		setUI?( ui?:any ): void;
		/** [Method] Shortcut for performing an expand or collapse based on the current state of the panel  
		* @returns Ext.panel.Panel this 
		*/
		toggleCollapse?(): Ext.panel.IPanel;
	}
}
declare module Ext.panel {
	export interface IProxy extends Ext.IBase {
		/** [Config Option] (Boolean) */
		insertProxy?: boolean;
		/** [Config Option] (Boolean) */
		moveOnDrag?: boolean;
		/** [Property] (Ext.panel.Panel) */
		panel?: Ext.panel.IPanel;
		/** [Method] Gets the proxy s element 
		* @returns Ext.Element The proxy's element 
		*/
		getEl?(): Ext.IElement;
		/** [Method] Gets the proxy s ghost Panel 
		* @returns Ext.panel.Panel The proxy's ghost Panel 
		*/
		getGhost?(): Ext.panel.IPanel;
		/** [Method] Gets the proxy element  
		* @returns Ext.Element The proxy's element 
		*/
		getProxy?(): Ext.IElement;
		/** [Method] Hides the proxy */
		hide?(): void;
		/** [Method] Moves the proxy to a different position in the DOM  
		* @param parentNode HTMLElement The proxy's parent DOM node 
		* @param before HTMLElement The sibling node before which the proxy should be inserted. Defaults to the parent's last child if not specified. 
		*/
		moveProxy?( parentNode?:HTMLElement, before?:HTMLElement ): void;
		/** [Method] Shows the proxy */
		show?(): void;
	}
}
declare module Ext.dd {
	export interface IPanelProxy extends Ext.IBase {
		/** [Config Option] (Boolean) */
		insertProxy?: boolean;
		/** [Config Option] (Boolean) */
		moveOnDrag?: boolean;
		/** [Property] (Ext.panel.Panel) */
		panel?: Ext.panel.IPanel;
		/** [Method] Gets the proxy s element 
		* @returns Ext.Element The proxy's element 
		*/
		getEl?(): Ext.IElement;
		/** [Method] Gets the proxy s ghost Panel 
		* @returns Ext.panel.Panel The proxy's ghost Panel 
		*/
		getGhost?(): Ext.panel.IPanel;
		/** [Method] Gets the proxy element  
		* @returns Ext.Element The proxy's element 
		*/
		getProxy?(): Ext.IElement;
		/** [Method] Hides the proxy */
		hide?(): void;
		/** [Method] Moves the proxy to a different position in the DOM  
		* @param parentNode HTMLElement The proxy's parent DOM node 
		* @param before HTMLElement The sibling node before which the proxy should be inserted. Defaults to the parent's last child if not specified. 
		*/
		moveProxy?( parentNode?:HTMLElement, before?:HTMLElement ): void;
		/** [Method] Shows the proxy */
		show?(): void;
	}
}
declare module Ext.panel {
	export interface ITable extends Ext.panel.IPanel,Ext.grid.locking.ILockable {
		/** [Config Option] (Boolean) */
		allowDeselect?: boolean;
		/** [Config Option] (Boolean) */
		columnLines?: boolean;
		/** [Config Option] (Ext.grid.column.Column[]/Object) */
		columns?: any;
		/** [Config Option] (Boolean) */
		deferRowRender?: boolean;
		/** [Config Option] (Boolean) */
		disableSelection?: boolean;
		/** [Config Option] (String) */
		emptyText?: string;
		/** [Config Option] (Boolean) */
		enableColumnHide?: boolean;
		/** [Config Option] (Boolean) */
		enableColumnMove?: boolean;
		/** [Config Option] (Boolean) */
		enableColumnResize?: boolean;
		/** [Config Option] (Boolean) */
		enableLocking?: boolean;
		/** [Config Option] (Ext.grid.feature.Feature[]/Object[]/Ext.enums.Feature[]) */
		features?: any;
		/** [Config Option] (Boolean) */
		forceFit?: boolean;
		/** [Config Option] (Boolean) */
		hideHeaders?: boolean;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Boolean) */
		multiSelect?: boolean;
		/** [Config Option] (Boolean) */
		rowLines?: boolean;
		/** [Config Option] (String/Boolean) */
		scroll?: any;
		/** [Config Option] (Boolean) */
		sealedColumns?: boolean;
		/** [Config Option] (Ext.selection.Model/Object) */
		selModel?: any;
		/** [Config Option] (String) */
		selType?: string;
		/** [Config Option] (Boolean) */
		simpleSelect?: boolean;
		/** [Config Option] (Boolean) */
		sortableColumns?: boolean;
		/** [Config Option] (Ext.data.Store) */
		store?: Ext.data.IStore;
		/** [Config Option] (Object) */
		verticalScroller?: any;
		/** [Config Option] (Ext.view.Table) */
		view?: Ext.view.ITable;
		/** [Config Option] (Object) */
		viewConfig?: any;
		/** [Config Option] (String) */
		viewType?: string;
		/** [Property] (Boolean) */
		hasView?: boolean;
		/** [Property] (Boolean) */
		optimizedColumnMove?: boolean;
		/** [Method] Invoked after the Panel is Collapsed  */
		afterCollapse?(): void;
		/** [Method] Invoked after the Panel is Expanded  */
		afterExpand?(): void;
		/** [Method] Applies the state to the object  
		* @param state Object 
		*/
		applyState?( state?:any ): void;
		/** [Method] This method is obsolete in 4 1  */
		determineScrollbars?(): void;
		/** [Method] Returns the selection model being used and creates it via the configuration if it has not been created already  
		* @returns Ext.selection.Model selModel 
		*/
		getSelectionModel?(): Ext.selection.IModel;
		/** [Method] The supplied default state gathering method for the AbstractComponent class  
		* @returns Object 
		*/
		getState?(): any;
		/** [Method] Returns the store associated with this Panel  
		* @returns Ext.data.Store The store 
		*/
		getStore?(): Ext.data.IStore;
		/** [Method] Gets the view for this panel  
		* @returns Ext.view.Table 
		*/
		getView?(): Ext.view.ITable;
		/** [Method] This method is obsolete in 4 1  */
		invalidateScroller?(): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Synchronizes the row heights between the locked and non locked portion of the grid for each row  */
		syncRowHeights?(): void;
	}
}
declare module Ext.panel {
	export interface ITool extends Ext.IComponent {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Function) */
		callback?: any;
		/** [Config Option] (String) */
		disabledCls?: string;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (Number) */
		height?: number;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (Boolean) */
		stopEvent?: boolean;
		/** [Config Option] (Ext.Component) */
		toolOwner?: Ext.IComponent;
		/** [Config Option] (String/Object) */
		tooltip?: any;
		/** [Config Option] (String) */
		tooltipType?: string;
		/** [Config Option] (String) */
		type?: string;
		/** [Config Option] (Number) */
		width?: number;
		/** [Property] (Boolean) */
		isTool?: boolean;
		/** [Method] inherit docs */
		afterRender?(): void;
		/** [Method]  */
		initComponent?(): void;
		/** [Method] inherit docs */
		onDestroy?(): void;
		/** [Method] Sets the type of the tool  
		* @param type String The new type. See the type config. 
		* @returns Ext.panel.Tool this 
		*/
		setType?( type?:string ): Ext.panel.ITool;
	}
}
declare module Ext.perf {
	export interface IAccumulator extends Ext.IBase {
	}
}
declare module Ext.perf {
	export interface IMonitor extends Ext.IBase {
	}
	export class Monitor {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext {
	export interface IPerf extends Ext.IBase {
	}
	export class Perf {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.picker {
	export interface IColor extends Ext.IComponent {
		/** [Config Option] (Boolean) */
		allowReselect?: boolean;
		/** [Config Option] (String) */
		clickEvent?: string;
		/** [Config Option] (String) */
		componentCls?: string;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (String) */
		selectedCls?: string;
		/** [Config Option] (String) */
		value?: string;
		/** [Property] (String[]) */
		colors?: string[];
		/** [Method] Clears any selection and sets the value to null  */
		clear?(): void;
		/** [Method] Get the currently selected color value  
		* @returns String value The selected value. Null if nothing is selected. 
		*/
		getValue?(): string;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
		/** [Method] Selects the specified color in the picker fires the select event  
		* @param color String A valid 6-digit color hex code (# will be stripped if included) 
		* @param suppressEvent Boolean True to stop the select event from firing. 
		*/
		select?( color?:string, suppressEvent?:boolean ): void;
	}
}
declare module Ext {
	export interface IColorPalette extends Ext.IComponent {
		/** [Config Option] (Boolean) */
		allowReselect?: boolean;
		/** [Config Option] (String) */
		clickEvent?: string;
		/** [Config Option] (String) */
		componentCls?: string;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (String) */
		selectedCls?: string;
		/** [Config Option] (String) */
		value?: string;
		/** [Property] (String[]) */
		colors?: string[];
		/** [Method] Clears any selection and sets the value to null  */
		clear?(): void;
		/** [Method] Get the currently selected color value  
		* @returns String value The selected value. Null if nothing is selected. 
		*/
		getValue?(): string;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
		/** [Method] Selects the specified color in the picker fires the select event  
		* @param color String A valid 6-digit color hex code (# will be stripped if included) 
		* @param suppressEvent Boolean True to stop the select event from firing. 
		*/
		select?( color?:string, suppressEvent?:boolean ): void;
	}
}
declare module Ext.picker {
	export interface IDate extends Ext.IComponent {
		/** [Config Option] (String) */
		ariaTitle?: string;
		/** [Config Option] (String) */
		ariaTitleDateFormat?: string;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number/String/Boolean) */
		border?: any;
		/** [Config Option] (String[]) */
		dayNames?: string[];
		/** [Config Option] (Boolean) */
		disableAnim?: boolean;
		/** [Config Option] (String) */
		disabledCellCls?: string;
		/** [Config Option] (String[]) */
		disabledDates?: string[];
		/** [Config Option] (RegExp) */
		disabledDatesRE?: RegExp;
		/** [Config Option] (String) */
		disabledDatesText?: string;
		/** [Config Option] (Number[]) */
		disabledDays?: number[];
		/** [Config Option] (String) */
		disabledDaysText?: string;
		/** [Config Option] (Boolean) */
		focusOnShow?: boolean;
		/** [Config Option] (String) */
		format?: string;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (Object) */
		keyNavConfig?: any;
		/** [Config Option] (String) */
		longDayFormat?: string;
		/** [Config Option] (Date) */
		maxDate?: any;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Date) */
		minDate?: any;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (String[]) */
		monthNames?: string[];
		/** [Config Option] (String) */
		monthYearFormat?: string;
		/** [Config Option] (String) */
		monthYearText?: string;
		/** [Config Option] (String) */
		nextText?: string;
		/** [Config Option] (String) */
		prevText?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (String) */
		selectedCls?: string;
		/** [Config Option] (Boolean) */
		showToday?: boolean;
		/** [Config Option] (Number) */
		startDay?: number;
		/** [Config Option] (String) */
		todayText?: string;
		/** [Config Option] (String) */
		todayTip?: string;
		/** [Method] Gets a single character to represent the day of the week 
		* @param value Object 
		* @returns String The character 
		*/
		getDayInitial?( value?:any ): string;
		/** [Method] Gets the current selected value of the date field 
		* @returns Date The selected date 
		*/
		getValue?(): any;
		/** [Method] Hides the month picker if it s visible  
		* @param animate Boolean Indicates whether to animate this action. If the animate parameter is not specified, the behavior will use disableAnim to determine whether to animate or not. 
		* @returns Ext.picker.Date this 
		*/
		hideMonthPicker?( animate?:boolean ): Ext.picker.IDate;
		/** [Method] private inherit docs */
		initComponent?(): void;
		/** [Method] Sets the current value to today  
		* @returns Ext.picker.Date this 
		*/
		selectToday?(): Ext.picker.IDate;
		/** [Method] Replaces any existing disabled dates with new values and refreshes the DatePicker  
		* @param disabledDates String[]/RegExp An array of date strings (see the disabledDates config for details on supported values), or a JavaScript regular expression used to disable a pattern of dates. 
		* @returns Ext.picker.Date this 
		*/
		setDisabledDates?( disabledDates?:any ): Ext.picker.IDate;
		/** [Method] Replaces any existing disabled days by index 0 6 with new values and refreshes the DatePicker  
		* @param disabledDays Number[] An array of disabled day indexes. See the disabledDays config for details on supported values. 
		* @returns Ext.picker.Date this 
		*/
		setDisabledDays?( disabledDays?:number[] ): Ext.picker.IDate;
		/** [Method] Replaces any existing maxDate with the new value and refreshes the DatePicker  
		* @param value Date The maximum date that can be selected 
		* @returns Ext.picker.Date this 
		*/
		setMaxDate?( value?:any ): Ext.picker.IDate;
		/** [Method] Replaces any existing minDate with the new value and refreshes the DatePicker  
		* @param value Date The minimum date that can be selected 
		* @returns Ext.picker.Date this 
		*/
		setMinDate?( value?:any ): Ext.picker.IDate;
		/** [Method] Sets the value of the date field 
		* @param value Date The date to set 
		* @returns Ext.picker.Date this 
		*/
		setValue?( value?:any ): Ext.picker.IDate;
		/** [Method] Show the month picker 
		* @param animate Boolean Indicates whether to animate this action. If the animate parameter is not specified, the behavior will use disableAnim to determine whether to animate or not. 
		* @returns Ext.picker.Date this 
		*/
		showMonthPicker?( animate?:boolean ): Ext.picker.IDate;
		/** [Method] Show the next month  
		* @param e Object 
		* @returns Ext.picker.Date this 
		*/
		showNextMonth?( e?:any ): Ext.picker.IDate;
		/** [Method] Show the next year  
		* @returns Ext.picker.Date this 
		*/
		showNextYear?(): Ext.picker.IDate;
		/** [Method] Show the previous month  
		* @param e Object 
		* @returns Ext.picker.Date this 
		*/
		showPrevMonth?( e?:any ): Ext.picker.IDate;
		/** [Method] Show the previous year  
		* @returns Ext.picker.Date this 
		*/
		showPrevYear?(): Ext.picker.IDate;
	}
}
declare module Ext {
	export interface IDatePicker extends Ext.IComponent {
		/** [Config Option] (String) */
		ariaTitle?: string;
		/** [Config Option] (String) */
		ariaTitleDateFormat?: string;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number/String/Boolean) */
		border?: any;
		/** [Config Option] (String[]) */
		dayNames?: string[];
		/** [Config Option] (Boolean) */
		disableAnim?: boolean;
		/** [Config Option] (String) */
		disabledCellCls?: string;
		/** [Config Option] (String[]) */
		disabledDates?: string[];
		/** [Config Option] (RegExp) */
		disabledDatesRE?: RegExp;
		/** [Config Option] (String) */
		disabledDatesText?: string;
		/** [Config Option] (Number[]) */
		disabledDays?: number[];
		/** [Config Option] (String) */
		disabledDaysText?: string;
		/** [Config Option] (Boolean) */
		focusOnShow?: boolean;
		/** [Config Option] (String) */
		format?: string;
		/** [Config Option] (Function) */
		handler?: any;
		/** [Config Option] (Object) */
		keyNavConfig?: any;
		/** [Config Option] (String) */
		longDayFormat?: string;
		/** [Config Option] (Date) */
		maxDate?: any;
		/** [Config Option] (String) */
		maxText?: string;
		/** [Config Option] (Date) */
		minDate?: any;
		/** [Config Option] (String) */
		minText?: string;
		/** [Config Option] (String[]) */
		monthNames?: string[];
		/** [Config Option] (String) */
		monthYearFormat?: string;
		/** [Config Option] (String) */
		monthYearText?: string;
		/** [Config Option] (String) */
		nextText?: string;
		/** [Config Option] (String) */
		prevText?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Object) */
		scope?: any;
		/** [Config Option] (String) */
		selectedCls?: string;
		/** [Config Option] (Boolean) */
		showToday?: boolean;
		/** [Config Option] (Number) */
		startDay?: number;
		/** [Config Option] (String) */
		todayText?: string;
		/** [Config Option] (String) */
		todayTip?: string;
		/** [Method] Gets a single character to represent the day of the week 
		* @param value Object 
		* @returns String The character 
		*/
		getDayInitial?( value?:any ): string;
		/** [Method] Gets the current selected value of the date field 
		* @returns Date The selected date 
		*/
		getValue?(): any;
		/** [Method] Hides the month picker if it s visible  
		* @param animate Boolean Indicates whether to animate this action. If the animate parameter is not specified, the behavior will use disableAnim to determine whether to animate or not. 
		* @returns Ext.picker.Date this 
		*/
		hideMonthPicker?( animate?:boolean ): Ext.picker.IDate;
		/** [Method] private inherit docs */
		initComponent?(): void;
		/** [Method] Sets the current value to today  
		* @returns Ext.picker.Date this 
		*/
		selectToday?(): Ext.picker.IDate;
		/** [Method] Replaces any existing disabled dates with new values and refreshes the DatePicker  
		* @param disabledDates String[]/RegExp An array of date strings (see the disabledDates config for details on supported values), or a JavaScript regular expression used to disable a pattern of dates. 
		* @returns Ext.picker.Date this 
		*/
		setDisabledDates?( disabledDates?:any ): Ext.picker.IDate;
		/** [Method] Replaces any existing disabled days by index 0 6 with new values and refreshes the DatePicker  
		* @param disabledDays Number[] An array of disabled day indexes. See the disabledDays config for details on supported values. 
		* @returns Ext.picker.Date this 
		*/
		setDisabledDays?( disabledDays?:number[] ): Ext.picker.IDate;
		/** [Method] Replaces any existing maxDate with the new value and refreshes the DatePicker  
		* @param value Date The maximum date that can be selected 
		* @returns Ext.picker.Date this 
		*/
		setMaxDate?( value?:any ): Ext.picker.IDate;
		/** [Method] Replaces any existing minDate with the new value and refreshes the DatePicker  
		* @param value Date The minimum date that can be selected 
		* @returns Ext.picker.Date this 
		*/
		setMinDate?( value?:any ): Ext.picker.IDate;
		/** [Method] Sets the value of the date field 
		* @param value Date The date to set 
		* @returns Ext.picker.Date this 
		*/
		setValue?( value?:any ): Ext.picker.IDate;
		/** [Method] Show the month picker 
		* @param animate Boolean Indicates whether to animate this action. If the animate parameter is not specified, the behavior will use disableAnim to determine whether to animate or not. 
		* @returns Ext.picker.Date this 
		*/
		showMonthPicker?( animate?:boolean ): Ext.picker.IDate;
		/** [Method] Show the next month  
		* @param e Object 
		* @returns Ext.picker.Date this 
		*/
		showNextMonth?( e?:any ): Ext.picker.IDate;
		/** [Method] Show the next year  
		* @returns Ext.picker.Date this 
		*/
		showNextYear?(): Ext.picker.IDate;
		/** [Method] Show the previous month  
		* @param e Object 
		* @returns Ext.picker.Date this 
		*/
		showPrevMonth?( e?:any ): Ext.picker.IDate;
		/** [Method] Show the previous year  
		* @returns Ext.picker.Date this 
		*/
		showPrevYear?(): Ext.picker.IDate;
	}
}
declare module Ext.picker {
	export interface IMonth extends Ext.IComponent {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String) */
		cancelText?: string;
		/** [Config Option] (String) */
		okText?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String) */
		selectedCls?: string;
		/** [Config Option] (Boolean) */
		showButtons?: boolean;
		/** [Config Option] (Date/Number[]) */
		value?: any;
		/** [Method] Modify the year display by passing an offset  
		* @param offset Number The offset to move by. 
		*/
		adjustYear?( offset?:number ): void;
		/** [Method] Gets the selected value  
		* @returns Number[] The selected value 
		*/
		getValue?(): number[];
		/** [Method] Checks whether the picker has a selection 
		* @returns Boolean Returns true if both a month and year have been selected 
		*/
		hasSelection?(): boolean;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Set the value for the picker  
		* @param value Date/Number[] The value to set. It can be a Date object, where the month/year will be extracted, or it can be an array, with the month as the first index and the year as the second. 
		* @returns Ext.picker.Month this 
		*/
		setValue?( value?:any ): Ext.picker.IMonth;
	}
}
declare module Ext {
	export interface IMonthPicker extends Ext.IComponent {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String) */
		cancelText?: string;
		/** [Config Option] (String) */
		okText?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String) */
		selectedCls?: string;
		/** [Config Option] (Boolean) */
		showButtons?: boolean;
		/** [Config Option] (Date/Number[]) */
		value?: any;
		/** [Method] Modify the year display by passing an offset  
		* @param offset Number The offset to move by. 
		*/
		adjustYear?( offset?:number ): void;
		/** [Method] Gets the selected value  
		* @returns Number[] The selected value 
		*/
		getValue?(): number[];
		/** [Method] Checks whether the picker has a selection 
		* @returns Boolean Returns true if both a month and year have been selected 
		*/
		hasSelection?(): boolean;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Set the value for the picker  
		* @param value Date/Number[] The value to set. It can be a Date object, where the month/year will be extracted, or it can be an array, with the month as the first index and the year as the second. 
		* @returns Ext.picker.Month this 
		*/
		setValue?( value?:any ): Ext.picker.IMonth;
	}
}
declare module Ext.picker {
	export interface ITime extends Ext.view.IBoundList {
		/** [Config Option] (String) */
		componentCls?: string;
		/** [Config Option] (String) */
		format?: string;
		/** [Config Option] (Number) */
		increment?: number;
		/** [Config Option] (Date) */
		maxValue?: any;
		/** [Config Option] (Date) */
		minValue?: any;
		/** [Method] Focuses a node in the view  
		* @param rec Object 
		*/
		focusNode?( rec?:any ): void;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] Set the maxValue and update the list of available times  
		* @param value Date 
		*/
		setMaxValue?( value?:any ): void;
		/** [Method] Set the minValue and update the list of available times  
		* @param value Date 
		*/
		setMinValue?( value?:any ): void;
		/** [Method] Update the list of available times in the list to be constrained within the minValue and maxValue  */
		updateList?(): void;
	}
}
declare module Ext {
	export interface IPluginManager extends Ext.IAbstractManager {
	}
	export class PluginManager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Creates a new Plugin from the specified config object using the config object s ptype to determine the class to insta  
		* @param config Object A configuration object for the Plugin you wish to create. 
		* @param defaultType Function The constructor to provide the default Plugin type if the config object does not contain a ptype. (Optional if the config contains a ptype). 
		* @returns Ext.Component The newly instantiated Plugin. 
		*/
		static create( config?:any, defaultType?:any ): Ext.IComponent;
		/** [Method] Executes the specified function once for each item in the collection  
		* @param fn Function The function to execute. 
		* @param scope Object The scope to execute in. Defaults to this. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Returns all plugins registered with the given type  
		* @param type String The type to search for 
		* @param defaultsOnly Boolean True to only return plugins of this type where the plugin's isDefault property is truthy 
		* @returns Ext.AbstractPlugin[] All matching plugins 
		*/
		static findByType( type?:string, defaultsOnly?:boolean ): Ext.IAbstractPlugin[];
		/** [Method] Returns an item by id  
		* @param id String The id of the item 
		* @returns Object The item, undefined if not found. 
		*/
		static get( id?:string ): any;
		/** [Method] Gets the number of items in the collection  
		* @returns Number The number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Checks if an item type is registered  
		* @param type String The mnemonic string by which the class may be looked up 
		* @returns Boolean Whether the type is registered. 
		*/
		static isRegistered( type?:string ): boolean;
		/** [Method] Registers a function that will be called when an item with the specified id is added to the manager  
		* @param id String The item id 
		* @param fn Function The callback function. Called with a single parameter, the item. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to the item. 
		*/
		static onAvailable( id?:string, fn?:any, scope?:any ): void;
		/** [Method] Registers an item to be managed 
		* @param item Object The item to register 
		*/
		static register( item?:any ): void;
		/** [Method] Registers a new item constructor keyed by a type key  
		* @param type String The mnemonic string by which the class may be looked up. 
		* @param cls Function The new instance class. 
		*/
		static registerType( type?:string, cls?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Unregisters an item by removing it from this manager 
		* @param item Object The item to unregister 
		*/
		static unregister( item?:any ): void;
	}
}
declare module Ext {
	export interface IPluginMgr extends Ext.IAbstractManager {
	}
	export class PluginMgr {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Creates a new Plugin from the specified config object using the config object s ptype to determine the class to insta  
		* @param config Object A configuration object for the Plugin you wish to create. 
		* @param defaultType Function The constructor to provide the default Plugin type if the config object does not contain a ptype. (Optional if the config contains a ptype). 
		* @returns Ext.Component The newly instantiated Plugin. 
		*/
		static create( config?:any, defaultType?:any ): Ext.IComponent;
		/** [Method] Executes the specified function once for each item in the collection  
		* @param fn Function The function to execute. 
		* @param scope Object The scope to execute in. Defaults to this. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Returns all plugins registered with the given type  
		* @param type String The type to search for 
		* @param defaultsOnly Boolean True to only return plugins of this type where the plugin's isDefault property is truthy 
		* @returns Ext.AbstractPlugin[] All matching plugins 
		*/
		static findByType( type?:string, defaultsOnly?:boolean ): Ext.IAbstractPlugin[];
		/** [Method] Returns an item by id  
		* @param id String The id of the item 
		* @returns Object The item, undefined if not found. 
		*/
		static get( id?:string ): any;
		/** [Method] Gets the number of items in the collection  
		* @returns Number The number of items in the collection. 
		*/
		static getCount(): number;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Checks if an item type is registered  
		* @param type String The mnemonic string by which the class may be looked up 
		* @returns Boolean Whether the type is registered. 
		*/
		static isRegistered( type?:string ): boolean;
		/** [Method] Registers a function that will be called when an item with the specified id is added to the manager  
		* @param id String The item id 
		* @param fn Function The callback function. Called with a single parameter, the item. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to the item. 
		*/
		static onAvailable( id?:string, fn?:any, scope?:any ): void;
		/** [Method] Registers an item to be managed 
		* @param item Object The item to register 
		*/
		static register( item?:any ): void;
		/** [Method] Registers a new item constructor keyed by a type key  
		* @param type String The mnemonic string by which the class may be looked up. 
		* @param cls Function The new instance class. 
		*/
		static registerType( type?:string, cls?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Unregisters an item by removing it from this manager 
		* @param item Object The item to unregister 
		*/
		static unregister( item?:any ): void;
	}
}
declare module Ext {
	export interface IProgressBar extends Ext.IComponent {
		/** [Config Option] (Boolean/Object) */
		animate?: any;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (String) */
		id?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String) */
		text?: string;
		/** [Config Option] (String/HTMLElement/Ext.Element) */
		textEl?: any;
		/** [Config Option] (Number) */
		value?: number;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] Initialized the renderData to be used when rendering the renderTpl  
		* @returns Object Object with keys and values that are going to be applied to the renderTpl 
		*/
		initRenderData?(): any;
		/** [Method] Returns true if the progress bar is currently in a wait operation 
		* @returns Boolean True if waiting, else false 
		*/
		isWaiting?(): boolean;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
		/** [Method] Resets the progress bar value to 0 and text to empty string  
		* @param hide Boolean True to hide the progress bar. 
		* @returns Ext.ProgressBar this 
		*/
		reset?( hide?:boolean ): Ext.IProgressBar;
		/** [Method] Updates the progress bar value and optionally its text  
		* @param value Number A floating point value between 0 and 1 (e.g., .5) 
		* @param text String The string to display in the progress text element 
		* @param animate Boolean Whether to animate the transition of the progress bar. If this value is not specified, the default for the class is used 
		* @returns Ext.ProgressBar this 
		*/
		updateProgress?( value?:number, text?:string, animate?:boolean ): Ext.IProgressBar;
		/** [Method] Updates the progress bar text  
		* @param text String The string to display in the progress text element 
		* @returns Ext.ProgressBar this 
		*/
		updateText?( text?:string ): Ext.IProgressBar;
		/** [Method] Initiates an auto updating progress bar  
		* @param config Object Configuration options 
		* @returns Ext.ProgressBar this 
		*/
		wait?( config?:any ): Ext.IProgressBar;
	}
}
declare module Ext {
	export interface IQueryable extends Ext.IBase {
		/** [Method] Retrieves the first direct child of this container which matches the passed selector or component  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching child Ext.Component (or null if no match was found). 
		*/
		child?( selector?:any ): any;
		/** [Method] Retrieves the first descendant of this container which matches the passed selector  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector or Ext.Component. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching descendant Ext.Component (or null if no match was found). 
		*/
		down?( selector?:any ): any;
		/** [Method] Retrieves all descendant components which match the passed selector  
		* @param selector String Selector complying to an Ext.ComponentQuery selector. If no selector is specified all items will be returned. 
		* @returns Ext.Component[] Components which matched the selector 
		*/
		query?( selector?:string ): Ext.IComponent[];
		/** [Method] Retrieves all descendant components which match the passed function  
		* @param fn Function The matcher function. It will be called with a single argument, the component being tested. 
		* @param scope Object The scope in which to run the function. If not specified, it will default to the active component. 
		* @returns Ext.Component[] Components matched by the passed function 
		*/
		queryBy?( fn?:any, scope?:any ): Ext.IComponent[];
		/** [Method] Finds a component at any level under this container matching the id itemId  
		* @param id String The id to find 
		* @returns Ext.Component The matching id, null if not found 
		*/
		queryById?( id?:string ): Ext.IComponent;
	}
}
declare module Ext.resizer {
	export interface IBorderSplitter extends Ext.resizer.ISplitter {
		/** [Config Option] (String/Ext.panel.Panel) */
		collapseTarget?: any;
		/** [Method] Returns the config object with an xclass property for the splitter tracker  */
		getTrackerConfig?(): void;
	}
}
declare module Ext.resizer {
	export interface IBorderSplitterTracker extends Ext.resizer.ISplitterTracker {
		/** [Method] ensure the tracker is enabled store boxes of previous and next components and calculate the constrain region 
		* @param e Object 
		*/
		onBeforeStart?( e?:any ): void;
	}
}
declare module Ext.resizer {
	export interface IHandle extends Ext.IComponent {
		/** [Config Option] ("north"/"south"/"east"/"west"/"center") */
		region?: any;
	}
}
declare module Ext.resizer {
	export interface IResizer extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Ext.Element/Ext.util.Region) */
		constrainTo?: any;
		/** [Config Option] (Boolean) */
		dynamic?: boolean;
		/** [Config Option] (String) */
		handles?: string;
		/** [Config Option] (Number) */
		height?: number;
		/** [Config Option] (Number) */
		heightIncrement?: number;
		/** [Config Option] (Number) */
		maxHeight?: number;
		/** [Config Option] (Number) */
		maxWidth?: number;
		/** [Config Option] (Number) */
		minHeight?: number;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (Boolean) */
		pinned?: boolean;
		/** [Config Option] (Boolean) */
		preserveRatio?: boolean;
		/** [Config Option] (Ext.Element/Ext.Component) */
		target?: any;
		/** [Config Option] (Boolean) */
		transparent?: boolean;
		/** [Config Option] (Number) */
		width?: number;
		/** [Config Option] (Number) */
		widthIncrement?: number;
		/** [Property] (Ext.Element) */
		el?: Ext.IElement;
		/** [Property] (Ext.Element/Ext.Component) */
		originalTarget?: any;
		/** [Property] (Ext.resizer.ResizeTracker) */
		resizeTracker?: Ext.resizer.IResizeTracker;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the element that was configured with the el or target config property  
		* @returns Ext.Element element 
		*/
		getEl?(): Ext.IElement;
		/** [Method] Returns the element or component that was configured with the target config property  
		* @returns Ext.Element/Ext.Component 
		*/
		getTarget?(): any;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Perform a manual resize and fires the resize event  
		* @param width Number 
		* @param height Number 
		*/
		resizeTo?( width?:number, height?:number ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext {
	export interface IResizable extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Ext.Element/Ext.util.Region) */
		constrainTo?: any;
		/** [Config Option] (Boolean) */
		dynamic?: boolean;
		/** [Config Option] (String) */
		handles?: string;
		/** [Config Option] (Number) */
		height?: number;
		/** [Config Option] (Number) */
		heightIncrement?: number;
		/** [Config Option] (Number) */
		maxHeight?: number;
		/** [Config Option] (Number) */
		maxWidth?: number;
		/** [Config Option] (Number) */
		minHeight?: number;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (Boolean) */
		pinned?: boolean;
		/** [Config Option] (Boolean) */
		preserveRatio?: boolean;
		/** [Config Option] (Ext.Element/Ext.Component) */
		target?: any;
		/** [Config Option] (Boolean) */
		transparent?: boolean;
		/** [Config Option] (Number) */
		width?: number;
		/** [Config Option] (Number) */
		widthIncrement?: number;
		/** [Property] (Ext.Element) */
		el?: Ext.IElement;
		/** [Property] (Ext.Element/Ext.Component) */
		originalTarget?: any;
		/** [Property] (Ext.resizer.ResizeTracker) */
		resizeTracker?: Ext.resizer.IResizeTracker;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the element that was configured with the el or target config property  
		* @returns Ext.Element element 
		*/
		getEl?(): Ext.IElement;
		/** [Method] Returns the element or component that was configured with the target config property  
		* @returns Ext.Element/Ext.Component 
		*/
		getTarget?(): any;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Perform a manual resize and fires the resize event  
		* @param width Number 
		* @param height Number 
		*/
		resizeTo?( width?:number, height?:number ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.resizer {
	export interface IResizeTracker extends Ext.dd.IDragTracker {
		/** [Config Option] (Ext.util.Region/Ext.Element) */
		constrainTo?: any;
		/** [Method] Create a proxy for this resizer 
		* @param target Ext.Component/Ext.Element The target 
		* @returns Ext.Element A proxy element 
		*/
		createProxy?( target?:any ): Ext.IElement;
		/** [Method] Template method which should be overridden by each DragTracker instance  
		* @param e Object 
		*/
		onBeforeStart?( e?:any ): void;
		/** [Method] Template method which should be overridden by each DragTracker instance  
		* @param e Object 
		*/
		onDrag?( e?:any ): void;
		/** [Method] Template method which should be overridden by each DragTracker instance  
		* @param e Object 
		*/
		onEnd?( e?:any ): void;
		/** [Method] Template method which should be overridden by each DragTracker instance  
		* @param e Object 
		*/
		onStart?( e?:any ): void;
	}
}
declare module Ext.resizer {
	export interface ISplitter extends Ext.IComponent {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Boolean) */
		collapseOnDblClick?: boolean;
		/** [Config Option] (String/Ext.panel.Panel) */
		collapseTarget?: any;
		/** [Config Option] (String) */
		collapsedCls?: string;
		/** [Config Option] (Boolean) */
		collapsible?: boolean;
		/** [Config Option] (Number) */
		defaultSplitMax?: number;
		/** [Config Option] (Number) */
		defaultSplitMin?: number;
		/** [Config Option] (Boolean) */
		performCollapse?: boolean;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (Number) */
		size?: number;
		/** [Property] (String) */
		orientation?: string;
		/** [Method] Invoked before the Component is destroyed  */
		beforeDestroy?(): void;
		/** [Method] Returns the config object with an xclass property for the splitter tracker  */
		getTrackerConfig?(): void;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
		/** [Method] Work around IE bug  
		* @returns Ext.Component this 
		*/
		setSize?(): Ext.IComponent;
	}
}
declare module Ext.resizer {
	export interface ISplitterTracker extends Ext.dd.IDragTracker {
		/** [Method] ensure the tracker is enabled store boxes of previous and next components and calculate the constrain region 
		* @param e Object 
		*/
		onBeforeStart?( e?:any ): void;
		/** [Method] Track the proxy and set the proper XY coordinates while constraining the drag 
		* @param e Object 
		*/
		onDrag?( e?:any ): void;
		/** [Method] perform the resize and remove the proxy class from the splitter el 
		* @param e Object 
		*/
		onEnd?( e?:any ): void;
		/** [Method] We move the splitter el  
		* @param e Object 
		*/
		onStart?( e?:any ): void;
	}
}
declare module Ext.selection {
	export interface ICellModel extends Ext.selection.IModel {
		/** [Config Option] (Boolean) */
		enableKeyNav?: boolean;
		/** [Config Option] ("SINGLE") */
		mode?: string;
		/** [Config Option] (Boolean) */
		preventWrap?: boolean;
		/** [Method] Deselects a record instance by record instance or index  
		* @param record Object 
		* @param suppressEvent Object 
		*/
		deselect?( record?:any, suppressEvent?:any ): void;
		/** [Method] Returns the current position in the format row row column column  */
		getCurrentPosition?(): void;
		/** [Method] Selects a record instance by record instance or index  
		* @param pos Object 
		* @param keepExisting Object 
		* @param suppressEvent Object 
		*/
		select?( pos?:any, keepExisting?:any, suppressEvent?:any ): void;
		/** [Method] Sets the current position 
		* @param position Object The position to set. 
		* @param suppressEvent Boolean True to suppress selection events 
		*/
		setCurrentPosition?( position?:any, suppressEvent?:boolean ): void;
	}
}
declare module Ext.selection {
	export interface ICheckboxModel extends Ext.selection.IRowModel {
		/** [Config Option] (Boolean) */
		checkOnly?: boolean;
		/** [Config Option] (String) */
		checkSelector?: string;
		/** [Config Option] (Number/String) */
		injectCheckbox?: any;
		/** [Config Option] ("SINGLE"/"SIMPLE"/"MULTI") */
		mode?: any;
		/** [Config Option] (Boolean) */
		showHeaderCheckbox?: boolean;
		/** [Method] Retrieve a configuration to be used in a HeaderContainer  */
		getHeaderConfig?(): void;
		/** [Method] Toggle between selecting all and deselecting all when clicking on a checkbox header  
		* @param headerCt Object 
		* @param header Object 
		* @param e Object 
		*/
		onHeaderClick?( headerCt?:any, header?:any, e?:any ): void;
		/** [Method] Generates the HTML to be rendered in the injected checkbox column for each row  
		* @param value Object 
		* @param metaData Object 
		* @param record Object 
		* @param rowIndex Object 
		* @param colIndex Object 
		* @param store Object 
		* @param view Object 
		*/
		renderer?( value?:any, metaData?:any, record?:any, rowIndex?:any, colIndex?:any, store?:any, view?:any ): void;
	}
}
declare module Ext.selection {
	export interface IDataViewModel extends Ext.selection.IModel {
		/** [Config Option] (Boolean) */
		enableKeyNav?: boolean;
	}
}
declare module Ext.selection {
	export interface IModel extends Ext.util.IObservable,Ext.util.IBindable {
		/** [Config Option] (Boolean) */
		allowDeselect?: boolean;
		/** [Config Option] ("SINGLE"/"SIMPLE"/"MULTI") */
		mode?: any;
		/** [Config Option] (Boolean) */
		pruneRemoved?: boolean;
		/** [Config Option] (Boolean) */
		toggleOnClick?: boolean;
		/** [Property] (Ext.util.MixedCollection) */
		selected?: Ext.util.IMixedCollection;
		/** [Method] binds the store to the selModel  
		* @param store Object 
		* @param initial Object 
		*/
		bindStore?( store?:any, initial?:any ): void;
		/** [Method] Binds listeners for this component to the store  
		* @param store Ext.data.AbstractStore The store to bind to 
		*/
		bindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
		/** [Method] Deselects a record instance by record instance or index  
		* @param records Ext.data.Model[]/Number An array of records or an index 
		* @param suppressEvent Boolean True to not fire a deselect event 
		*/
		deselect?( records?:any, suppressEvent?:boolean ): void;
		/** [Method] Deselects all records in the view  
		* @param suppressEvent Boolean True to suppress any deselect events 
		*/
		deselectAll?( suppressEvent?:boolean ): void;
		/** [Method] Deselects a range of rows if the selection model is not locked  
		* @param startRow Ext.data.Model/Number The record or index of the first row in the range 
		* @param endRow Ext.data.Model/Number The record or index of the last row in the range 
		*/
		deselectRange?( startRow?:any, endRow?:any ): void;
		/** [Method] Returns the count of selected records  
		* @returns Number The number of selected records 
		*/
		getCount?(): number;
		/** [Method]  
		* @returns Ext.data.Model Returns the last selected record. 
		*/
		getLastSelected?(): Ext.data.IModel;
		/** [Method] Returns an array of the currently selected records  
		* @returns Ext.data.Model[] The selected records 
		*/
		getSelection?(): Ext.data.IModel[];
		/** [Method] Returns the current selectionMode  
		* @returns String The selectionMode: 'SINGLE', 'MULTI' or 'SIMPLE'. 
		*/
		getSelectionMode?(): string;
		/** [Method] Gets the current store instance  
		* @returns Ext.data.AbstractStore The store, null if one does not exist. 
		*/
		getStore?(): Ext.data.IAbstractStore;
		/** [Method] Gets the listeners to bind to a new store  
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?(): any;
		/** [Method] Returns true if there are any a selected records  
		* @returns Boolean 
		*/
		hasSelection?(): boolean;
		/** [Method] Determines if this record is currently focused  
		* @param record Ext.data.Model 
		*/
		isFocused?( record?:Ext.data.IModel ): void;
		/** [Method] Returns true if the selections are locked  
		* @returns Boolean 
		*/
		isLocked?(): boolean;
		/** [Method] Returns true if the specified row is selected  
		* @param from Ext.data.Model/Number The start of the range to check. 
		* @param to Ext.data.Model/Number The end of the range to check. 
		* @returns Boolean 
		*/
		isRangeSelected?( from?:any, to?:any ): boolean;
		/** [Method] Returns true if the specified row is selected  
		* @param record Ext.data.Model/Number The record or index of the record to check 
		* @returns Boolean 
		*/
		isSelected?( record?:any ): boolean;
		/** [Method] Template method it is called when a new store is bound to the current instance  
		* @param store Ext.data.AbstractStore The store being bound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onBindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  
		* @param store Ext.data.AbstractStore The store being unbound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onUnbindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Selects a record instance by record instance or index  
		* @param records Ext.data.Model[]/Number An array of records or an index 
		* @param keepExisting Boolean True to retain existing selections 
		* @param suppressEvent Boolean True to not fire a select event 
		*/
		select?( records?:any, keepExisting?:boolean, suppressEvent?:boolean ): void;
		/** [Method] Selects all records in the view  
		* @param suppressEvent Boolean True to suppress any select events 
		*/
		selectAll?( suppressEvent?:boolean ): void;
		/** [Method] Selects a range of rows if the selection model is not locked  
		* @param startRow Ext.data.Model/Number The record or index of the first row in the range 
		* @param endRow Ext.data.Model/Number The record or index of the last row in the range 
		* @param keepExisting Boolean True to retain existing selections 
		*/
		selectRange?( startRow?:any, endRow?:any, keepExisting?:boolean ): void;
		/** [Method] Sets a record as the last focused record  
		* @param record Ext.data.Model 
		*/
		setLastFocused?( record?:Ext.data.IModel ): void;
		/** [Method] Locks the current selection and disables any changes from happening to the selection  
		* @param locked Boolean True to lock, false to unlock. 
		*/
		setLocked?( locked?:boolean ): void;
		/** [Method] Sets the current selectionMode  
		* @param selMode String 'SINGLE', 'MULTI' or 'SIMPLE'. 
		*/
		setSelectionMode?( selMode?:string ): void;
		/** [Method] Unbinds listeners from this component to the store  
		* @param store Ext.data.AbstractStore The store to unbind from 
		*/
		unbindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
	}
}
declare module Ext {
	export interface IAbstractSelectionModel extends Ext.util.IObservable,Ext.util.IBindable {
		/** [Config Option] (Boolean) */
		allowDeselect?: boolean;
		/** [Config Option] ("SINGLE"/"SIMPLE"/"MULTI") */
		mode?: any;
		/** [Config Option] (Boolean) */
		pruneRemoved?: boolean;
		/** [Config Option] (Boolean) */
		toggleOnClick?: boolean;
		/** [Property] (Ext.util.MixedCollection) */
		selected?: Ext.util.IMixedCollection;
		/** [Method] binds the store to the selModel  
		* @param store Object 
		* @param initial Object 
		*/
		bindStore?( store?:any, initial?:any ): void;
		/** [Method] Binds listeners for this component to the store  
		* @param store Ext.data.AbstractStore The store to bind to 
		*/
		bindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
		/** [Method] Deselects a record instance by record instance or index  
		* @param records Ext.data.Model[]/Number An array of records or an index 
		* @param suppressEvent Boolean True to not fire a deselect event 
		*/
		deselect?( records?:any, suppressEvent?:boolean ): void;
		/** [Method] Deselects all records in the view  
		* @param suppressEvent Boolean True to suppress any deselect events 
		*/
		deselectAll?( suppressEvent?:boolean ): void;
		/** [Method] Deselects a range of rows if the selection model is not locked  
		* @param startRow Ext.data.Model/Number The record or index of the first row in the range 
		* @param endRow Ext.data.Model/Number The record or index of the last row in the range 
		*/
		deselectRange?( startRow?:any, endRow?:any ): void;
		/** [Method] Returns the count of selected records  
		* @returns Number The number of selected records 
		*/
		getCount?(): number;
		/** [Method]  
		* @returns Ext.data.Model Returns the last selected record. 
		*/
		getLastSelected?(): Ext.data.IModel;
		/** [Method] Returns an array of the currently selected records  
		* @returns Ext.data.Model[] The selected records 
		*/
		getSelection?(): Ext.data.IModel[];
		/** [Method] Returns the current selectionMode  
		* @returns String The selectionMode: 'SINGLE', 'MULTI' or 'SIMPLE'. 
		*/
		getSelectionMode?(): string;
		/** [Method] Gets the current store instance  
		* @returns Ext.data.AbstractStore The store, null if one does not exist. 
		*/
		getStore?(): Ext.data.IAbstractStore;
		/** [Method] Gets the listeners to bind to a new store  
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?(): any;
		/** [Method] Returns true if there are any a selected records  
		* @returns Boolean 
		*/
		hasSelection?(): boolean;
		/** [Method] Determines if this record is currently focused  
		* @param record Ext.data.Model 
		*/
		isFocused?( record?:Ext.data.IModel ): void;
		/** [Method] Returns true if the selections are locked  
		* @returns Boolean 
		*/
		isLocked?(): boolean;
		/** [Method] Returns true if the specified row is selected  
		* @param from Ext.data.Model/Number The start of the range to check. 
		* @param to Ext.data.Model/Number The end of the range to check. 
		* @returns Boolean 
		*/
		isRangeSelected?( from?:any, to?:any ): boolean;
		/** [Method] Returns true if the specified row is selected  
		* @param record Ext.data.Model/Number The record or index of the record to check 
		* @returns Boolean 
		*/
		isSelected?( record?:any ): boolean;
		/** [Method] Template method it is called when a new store is bound to the current instance  
		* @param store Ext.data.AbstractStore The store being bound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onBindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  
		* @param store Ext.data.AbstractStore The store being unbound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onUnbindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Selects a record instance by record instance or index  
		* @param records Ext.data.Model[]/Number An array of records or an index 
		* @param keepExisting Boolean True to retain existing selections 
		* @param suppressEvent Boolean True to not fire a select event 
		*/
		select?( records?:any, keepExisting?:boolean, suppressEvent?:boolean ): void;
		/** [Method] Selects all records in the view  
		* @param suppressEvent Boolean True to suppress any select events 
		*/
		selectAll?( suppressEvent?:boolean ): void;
		/** [Method] Selects a range of rows if the selection model is not locked  
		* @param startRow Ext.data.Model/Number The record or index of the first row in the range 
		* @param endRow Ext.data.Model/Number The record or index of the last row in the range 
		* @param keepExisting Boolean True to retain existing selections 
		*/
		selectRange?( startRow?:any, endRow?:any, keepExisting?:boolean ): void;
		/** [Method] Sets a record as the last focused record  
		* @param record Ext.data.Model 
		*/
		setLastFocused?( record?:Ext.data.IModel ): void;
		/** [Method] Locks the current selection and disables any changes from happening to the selection  
		* @param locked Boolean True to lock, false to unlock. 
		*/
		setLocked?( locked?:boolean ): void;
		/** [Method] Sets the current selectionMode  
		* @param selMode String 'SINGLE', 'MULTI' or 'SIMPLE'. 
		*/
		setSelectionMode?( selMode?:string ): void;
		/** [Method] Unbinds listeners from this component to the store  
		* @param store Ext.data.AbstractStore The store to unbind from 
		*/
		unbindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
	}
}
declare module Ext.selection {
	export interface IRowModel extends Ext.selection.IModel {
		/** [Config Option] (Boolean) */
		enableKeyNav?: boolean;
		/** [Config Option] (Boolean) */
		ignoreRightMouseSelection?: boolean;
		/** [Method] Returns position of the first selected cell in the selection in the format row row column column  */
		getCurrentPosition?(): void;
		/** [Method] Selects the record immediately following the currently selected record  
		* @param keepExisting Boolean True to retain existing selections 
		* @param suppressEvent Boolean Set to false to not fire a select event 
		* @returns Boolean true if there is a next record, else false 
		*/
		selectNext?( keepExisting?:boolean, suppressEvent?:boolean ): boolean;
		/** [Method] Selects the record that precedes the currently selected record  
		* @param keepExisting Boolean True to retain existing selections 
		* @param suppressEvent Boolean Set to false to not fire a select event 
		* @returns Boolean true if there is a previous record, else false 
		*/
		selectPrevious?( keepExisting?:boolean, suppressEvent?:boolean ): boolean;
	}
}
declare module Ext.selection {
	export interface ITreeModel extends Ext.selection.IRowModel {
		/** [Method] binds the store to the selModel  
		* @param store Object 
		* @param initial Object 
		*/
		bindStore?( store?:any, initial?:any ): void;
	}
}
declare module Ext {
	export interface IShadow extends Ext.IBase {
		/** [Config Option] (String) */
		mode?: string;
		/** [Config Option] (Number) */
		offset?: number;
		/** [Method] Hides this shadow */
		hide?(): void;
		/** [Method] Returns true if the shadow is visible else false */
		isVisible?(): void;
		/** [Method] Direct alignment when values are already available  
		* @param left Number The target element left position 
		* @param top Number The target element top position 
		* @param width Number The target element width 
		* @param height Number The target element height 
		*/
		realign?( left?:number, top?:number, width?:number, height?:number ): void;
		/** [Method] Sets the opacity of the shadow 
		* @param opacity Number The opacity 
		*/
		setOpacity?( opacity?:number ): void;
		/** [Method] Adjust the z index of this shadow 
		* @param zindex Number The new z-index 
		*/
		setZIndex?( zindex?:number ): void;
		/** [Method] Displays the shadow under the target element 
		* @param targetEl String/HTMLElement/Ext.Element The id or element under which the shadow should display 
		*/
		show?( targetEl?:any ): void;
	}
}
declare module Ext {
	export interface IShadowPool extends Ext.IBase {
	}
	export class ShadowPool {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.slider {
	export interface IMulti extends Ext.form.field.IBase {
		/** [Config Option] (Boolean) */
		animate?: boolean;
		/** [Config Option] (Boolean) */
		clickToChange?: boolean;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		constrainThumbs?: boolean;
		/** [Config Option] (Number/Boolean) */
		decimalPrecision?: any;
		/** [Config Option] (Number) */
		increment?: number;
		/** [Config Option] (Number) */
		keyIncrement?: number;
		/** [Config Option] (Number) */
		maxValue?: number;
		/** [Config Option] (Number) */
		minValue?: number;
		/** [Config Option] (Function) */
		tipText?: any;
		/** [Config Option] (Object/Boolean) */
		useTips?: any;
		/** [Config Option] (Number) */
		value?: number;
		/** [Config Option] (Number[]) */
		values?: number[];
		/** [Config Option] (Boolean) */
		vertical?: boolean;
		/** [Config Option] (Boolean) */
		zeroBasedSnapping?: boolean;
		/** [Property] (Boolean) */
		dragging?: boolean;
		/** [Property] (Array) */
		thumbs?: any[];
		/** [Method] Creates a new thumb and adds it to the slider 
		* @param value Number The initial value to set on the thumb. 
		* @returns any The thumb 
		*/
		addThumb?( value?:number ): any;
		/** [Method] private */
		beforeDestroy?(): void;
		/** [Method] private override 
		* @returns any The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Returns the value that would be included in a standard form submit for this field  
		* @returns any The value to be submitted, or null. 
		*/
		getSubmitValue?(): any;
		/** [Method] Returns the current value of the slider 
		* @param index Number The index of the thumb to return a value for 
		* @returns any The current value of the slider at the given index, or an array of all thumb values if no index is given. 
		*/
		getValue?( index?:number ): any;
		/** [Method] Returns an array of values  one for the location of each thumb 
		* @returns any The set of thumb values 
		*/
		getValues?(): any;
		/** [Method] private override */
		initComponent?(): void;
		/** [Method] private override */
		initValue?(): void;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Sets the maximum value for the slider instance  
		* @param val Number The new maximum value 
		*/
		setMaxValue?( val?:number ): void;
		/** [Method] Sets the minimum value for the slider instance  
		* @param val Number The new minimum value 
		*/
		setMinValue?( val?:number ): void;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Object 
		*/
		setReadOnly?( readOnly?:any ): void;
		/** [Method] Programmatically sets the value of the Slider  
		* @param index Number/Number[] Index of the thumb to move. Alternatively, it can be an array of values to set for each thumb in the slider. 
		* @param value Number The value to set the slider to. (This will be constrained within minValue and maxValue) 
		* @param animate Boolean Turn on or off animation 
		* @returns any this 
		*/
		setValue?( index?:any, value?:number, animate?:boolean ): any;
		/** [Method] Synchronizes thumbs position to the proper proportion of the total component width based on the current slider value  */
		syncThumbs?(): void;
	}
}
declare module Ext.slider {
	export interface IMultiSlider extends Ext.form.field.IBase {
		/** [Config Option] (Boolean) */
		animate?: boolean;
		/** [Config Option] (Boolean) */
		clickToChange?: boolean;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		constrainThumbs?: boolean;
		/** [Config Option] (Number/Boolean) */
		decimalPrecision?: any;
		/** [Config Option] (Number) */
		increment?: number;
		/** [Config Option] (Number) */
		keyIncrement?: number;
		/** [Config Option] (Number) */
		maxValue?: number;
		/** [Config Option] (Number) */
		minValue?: number;
		/** [Config Option] (Function) */
		tipText?: any;
		/** [Config Option] (Object/Boolean) */
		useTips?: any;
		/** [Config Option] (Number) */
		value?: number;
		/** [Config Option] (Number[]) */
		values?: number[];
		/** [Config Option] (Boolean) */
		vertical?: boolean;
		/** [Config Option] (Boolean) */
		zeroBasedSnapping?: boolean;
		/** [Property] (Boolean) */
		dragging?: boolean;
		/** [Property] (Array) */
		thumbs?: any[];
		/** [Method] Creates a new thumb and adds it to the slider 
		* @param value Number The initial value to set on the thumb. 
		* @returns any The thumb 
		*/
		addThumb?( value?:number ): any;
		/** [Method] private */
		beforeDestroy?(): void;
		/** [Method] private override 
		* @returns any The template data 
		*/
		getSubTplData?(): any;
		/** [Method] Returns the value that would be included in a standard form submit for this field  
		* @returns any The value to be submitted, or null. 
		*/
		getSubmitValue?(): any;
		/** [Method] Returns the current value of the slider 
		* @param index Number The index of the thumb to return a value for 
		* @returns any The current value of the slider at the given index, or an array of all thumb values if no index is given. 
		*/
		getValue?( index?:number ): any;
		/** [Method] Returns an array of values  one for the location of each thumb 
		* @returns any The set of thumb values 
		*/
		getValues?(): any;
		/** [Method] private override */
		initComponent?(): void;
		/** [Method] private override */
		initValue?(): void;
		/** [Method] private */
		onDisable?(): void;
		/** [Method] private */
		onEnable?(): void;
		/** [Method] private */
		onRender?(): void;
		/** [Method] Resets the current field value to the originally loaded value and clears any validation messages  */
		reset?(): void;
		/** [Method] Sets the maximum value for the slider instance  
		* @param val Number The new maximum value 
		*/
		setMaxValue?( val?:number ): void;
		/** [Method] Sets the minimum value for the slider instance  
		* @param val Number The new minimum value 
		*/
		setMinValue?( val?:number ): void;
		/** [Method] Sets the read only state of this field  
		* @param readOnly Object 
		*/
		setReadOnly?( readOnly?:any ): void;
		/** [Method] Programmatically sets the value of the Slider  
		* @param index Number/Number[] Index of the thumb to move. Alternatively, it can be an array of values to set for each thumb in the slider. 
		* @param value Number The value to set the slider to. (This will be constrained within minValue and maxValue) 
		* @param animate Boolean Turn on or off animation 
		* @returns any this 
		*/
		setValue?( index?:any, value?:number, animate?:boolean ): any;
		/** [Method] Synchronizes thumbs position to the proper proportion of the total component width based on the current slider value  */
		syncThumbs?(): void;
	}
}
declare module Ext.slider {
	export interface ISingle extends Ext.slider.IMulti {
		/** [Method] Returns the current value of the slider 
		* @returns any The current value of the slider 
		*/
		getValue?(): any;
		/** [Method] Programmatically sets the value of the Slider  
		* @param value Number The value to set the slider to. (This will be constrained within minValue and maxValue) 
		* @param animate Boolean Turn on or off animation 
		*/
		setValue?( value?:number, animate?:boolean ): void;
	}
}
declare module Ext {
	export interface ISlider extends Ext.slider.IMulti {
		/** [Method] Returns the current value of the slider 
		* @returns any The current value of the slider 
		*/
		getValue?(): any;
		/** [Method] Programmatically sets the value of the Slider  
		* @param value Number The value to set the slider to. (This will be constrained within minValue and maxValue) 
		* @param animate Boolean Turn on or off animation 
		*/
		setValue?( value?:number, animate?:boolean ): void;
	}
}
declare module Ext.form {
	export interface ISliderField extends Ext.slider.IMulti {
		/** [Method] Returns the current value of the slider 
		* @returns any The current value of the slider 
		*/
		getValue?(): any;
		/** [Method] Programmatically sets the value of the Slider  
		* @param value Number The value to set the slider to. (This will be constrained within minValue and maxValue) 
		* @param animate Boolean Turn on or off animation 
		*/
		setValue?( value?:number, animate?:boolean ): void;
	}
}
declare module Ext.slider {
	export interface ISingleSlider extends Ext.slider.IMulti {
		/** [Method] Returns the current value of the slider 
		* @returns any The current value of the slider 
		*/
		getValue?(): any;
		/** [Method] Programmatically sets the value of the Slider  
		* @param value Number The value to set the slider to. (This will be constrained within minValue and maxValue) 
		* @param animate Boolean Turn on or off animation 
		*/
		setValue?( value?:number, animate?:boolean ): void;
	}
}
declare module Ext.slider {
	export interface ISlider extends Ext.slider.IMulti {
		/** [Method] Returns the current value of the slider 
		* @returns any The current value of the slider 
		*/
		getValue?(): any;
		/** [Method] Programmatically sets the value of the Slider  
		* @param value Number The value to set the slider to. (This will be constrained within minValue and maxValue) 
		* @param animate Boolean Turn on or off animation 
		*/
		setValue?( value?:number, animate?:boolean ): void;
	}
}
declare module Ext.slider {
	export interface IThumb extends Ext.IBase {
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Ext.slider.MultiSlider) */
		slider?: Ext.slider.IMultiSlider;
		/** [Method] Disables the thumb if it is currently enabled */
		disable?(): void;
		/** [Method] Enables the thumb if it is currently disabled */
		enable?(): void;
		/** [Method] Sets up an Ext dd DragTracker for this thumb */
		initEvents?(): void;
		/** [Method] Renders the thumb into a slider */
		render?(): void;
	}
}
declare module Ext.slider {
	export interface ITip extends Ext.tip.ITip {
		/** [Config Option] (String) */
		align?: string;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (Array) */
		offsets?: any[];
		/** [Config Option] (String) */
		position?: string;
		/** [Method] Used to create the text that appears in the Tip s body  
		* @param thumb Ext.slider.Thumb The Thumb that the Tip is attached to 
		* @returns String The text to display in the tip 
		*/
		getText?( thumb?:Ext.slider.IThumb ): string;
	}
}
declare module Ext.state {
	export interface ICookieProvider extends Ext.state.IProvider {
		/** [Config Option] (String) */
		domain?: string;
		/** [Config Option] (Date) */
		expires?: any;
		/** [Config Option] (String) */
		path?: string;
		/** [Config Option] (Boolean) */
		secure?: boolean;
		/** [Method] private 
		* @param name Object 
		*/
		clear?( name?:any ): void;
		/** [Method] private 
		* @param name Object 
		* @param value Object 
		*/
		set?( name?:any, value?:any ): void;
	}
}
declare module Ext.state {
	export interface ILocalStorageProvider extends Ext.state.IProvider {
		/** [Method] private 
		* @param name Object 
		*/
		clear?( name?:any ): void;
		/** [Method] Sets the value for a key 
		* @param name Object 
		* @param value Object 
		*/
		set?( name?:any, value?:any ): void;
	}
}
declare module Ext.state {
	export interface IManager extends Ext.IBase {
	}
	export class Manager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Clears a value from the state 
		* @param name String The key name 
		*/
		static clear( name?:string ): void;
		/** [Method] Returns the current value for a key 
		* @param name String The key name 
		* @param defaultValue Object The default value to return if the key lookup does not match 
		* @returns Object The state data 
		*/
		static get( name?:string, defaultValue?:any ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Gets the currently configured state provider 
		* @returns Ext.state.Provider The state provider 
		*/
		static getProvider(): Ext.state.IProvider;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Sets the value for a key 
		* @param name String The key name 
		* @param value Object The state data 
		*/
		static set( name?:string, value?:any ): void;
		/** [Method] Configures the default state provider for your application 
		* @param stateProvider Ext.state.Provider The state provider to set 
		*/
		static setProvider( stateProvider?:Ext.state.IProvider ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.state {
	export interface IProvider extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (String) */
		prefix?: string;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Clears a value from the state 
		* @param name String The key name 
		*/
		clear?( name?:string ): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Decodes a string previously encoded with encodeValue  
		* @param value String The value to decode 
		* @returns Object The decoded value 
		*/
		decodeValue?( value?:string ): any;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Encodes a value including type information  
		* @param value Object The value to encode 
		* @returns String The encoded value 
		*/
		encodeValue?( value?:any ): string;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the current value for a key 
		* @param name String The key name 
		* @param defaultValue Object A default value to return if the key's value is not found 
		* @returns Object The state data 
		*/
		get?( name?:string, defaultValue?:any ): any;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Sets the value for a key 
		* @param name String The key name 
		* @param value Object The value to set 
		*/
		set?( name?:string, value?:any ): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.state {
	export interface IStateful extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Number) */
		saveDelay?: number;
		/** [Config Option] (String[]) */
		stateEvents?: string[];
		/** [Config Option] (String) */
		stateId?: string;
		/** [Config Option] (Boolean) */
		stateful?: boolean;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Add events that will trigger the state to be saved  
		* @param events String/String[] The event name or an array of event names. 
		*/
		addStateEvents?( events?:any ): void;
		/** [Method] Applies the state to the object  
		* @param state Object The state 
		*/
		applyState?( state?:any ): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Destroys this stateful object  */
		destroy?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Gets the current state of the object  
		* @returns Object The current state 
		*/
		getState?(): any;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Conditionally saves a single property from this object to the given state object  
		* @param propName String The name of the property to save. 
		* @param state Object The state object in to which to save the property. 
		* @param stateName String The name to use for the property in state. 
		* @returns Boolean True if the property was saved, false if not. 
		*/
		savePropToState?( propName?:string, state?:any, stateName?:string ): boolean;
		/** [Method] Gathers additional named properties of the instance and adds their current values to the passed state object  
		* @param propNames String/String[] The name (or array of names) of the property to save. 
		* @param state Object The state object in to which to save the property values. 
		* @returns Object state 
		*/
		savePropsToState?( propNames?:any, state?:any ): any;
		/** [Method] Saves the state of the object to the persistence store  */
		saveState?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext {
	export interface IString {
	}
	export class String {
		/** [Method] Adds a set of character entity definitions to the set used by htmlEncode and htmlDecode  
		* @param entities Object The set of character entities to add to the current definitions. 
		*/
		static addCharacterEntities( entities?:any ): void;
		/** [Method] Capitalize the given string 
		* @param string String 
		* @returns String 
		*/
		static capitalize( string?:string ): string;
		/** [Method] Converts a string of characters into a legal parse able JavaScript var name as long as the passed string contains at  
		* @param s String A string to be converted into a var name. 
		* @returns String A legal JavaScript var name. 
		*/
		static createVarName( s?:string ): string;
		/** [Method] Truncate a string and add an ellipsis  to the end if it exceeds the specified length  
		* @param value String The string to truncate. 
		* @param length Number The maximum length to allow before truncating. 
		* @param word Boolean true to try to find a common word break. 
		* @returns String The converted text. 
		*/
		static ellipsis( value?:string, length?:number, word?:boolean ): string;
		/** [Method] Checks if a string ends with a substring 
		* @param s String The original string 
		* @param start String The substring to check 
		* @param ignoreCase Boolean True to ignore the case in the comparison 
		*/
		static endsWith( s?:string, start?:string, ignoreCase?:boolean ): void;
		/** [Method] Escapes the passed string for  and 
		* @param string String The string to escape 
		* @returns String The escaped string 
		*/
		static escape( string?:string ): string;
		/** [Method] Escapes the passed string for use in a regular expression  
		* @param string String 
		* @returns String 
		*/
		static escapeRegex( string?:string ): string;
		/** [Method] Allows you to define a tokenized string and pass an arbitrary number of arguments to replace the tokens  
		* @param string String The tokenized string to be formatted. 
		* @param values Mixed... The values to replace tokens {0}, {1}, etc in order. 
		* @returns String The formatted string. 
		*/
		static format( string:string, ...values:any[] ): string;
		/** [Method] Convert certain characters  amp lt  and from their HTML character equivalents  
		* @param value String The string to decode. 
		* @returns String The decoded text. 
		*/
		static htmlDecode( value?:string ): string;
		/** [Method] Convert certain characters  amp lt  and to their HTML character equivalents for literal display in web 
		* @param value String The string to encode. 
		* @returns String The encoded text. 
		*/
		static htmlEncode( value?:string ): string;
		/** [Method] Inserts a substring into a string  
		* @param s String The original string. 
		* @param value String The substring to insert. 
		* @param index Number The index to insert the substring. Negative indexes will insert from the end of the string. Example: Ext.String.insert("abcdefg", "h", -1); // abcdefhg 
		* @returns String The value with the inserted substring 
		*/
		static insert( s?:string, value?:string, index?:number ): string;
		/** [Method] Pads the left side of a string with a specified character  
		* @param string String The original string. 
		* @param size Number The total length of the output string. 
		* @param character String The character with which to pad the original string. 
		* @returns String The padded string. 
		*/
		static leftPad( string?:string, size?:number, character?:string ): string;
		/** [Method] Returns a string with a specified number of repetitions a given string pattern  
		* @param pattern String The pattern to repeat. 
		* @param count Number The number of times to repeat the pattern (may be 0). 
		* @param sep String An option string to separate each pattern. 
		*/
		static repeat( pattern?:string, count?:number, sep?:string ): void;
		/** [Method] Resets the set of character entity definitions used by htmlEncode and htmlDecode back to the default state  */
		static resetCharacterEntities(): void;
		/** [Method] Splits a string of space separated words into an array trimming as needed  
		* @param words String/Array 
		*/
		static splitWords( words?:any ): void;
		/** [Method] Checks if a string starts with a substring 
		* @param s String The original string 
		* @param start String The substring to check 
		* @param ignoreCase Boolean True to ignore the case in the comparison 
		*/
		static startsWith( s?:string, start?:string, ignoreCase?:boolean ): void;
		/** [Method] Utility function that allows you to easily switch a string between two alternating values  
		* @param string String The current string. 
		* @param value String The value to compare to the current string. 
		* @param other String The new value to use if the string already equals the first value passed in. 
		* @returns String The new value. 
		*/
		static toggle( string?:string, value?:string, other?:string ): string;
		/** [Method] Trims whitespace from either end of a string leaving spaces within the string intact  
		* @param string String The string to trim. 
		* @returns String The trimmed string. 
		*/
		static trim( string?:string ): string;
		/** [Method] Uncapitalize the given string  
		* @param string String 
		* @returns String 
		*/
		static uncapitalize( string?:string ): string;
		/** [Method] Appends content to the query string of a URL handling logic for whether to place a question mark or ampersand  
		* @param url String The URL to append to. 
		* @param string String The content to append to the URL. 
		* @returns String The resulting URL 
		*/
		static urlAppend( url?:string, string?:string ): string;
	}
}
declare module Ext {
	export interface ISupports {
	}
	export class Supports {
	}
}
declare module Ext.tab {
	export interface IBar extends Ext.panel.IHeader {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Number) */
		maxTabWidth?: number;
		/** [Config Option] (Number) */
		minTabWidth?: number;
		/** [Config Option] (Boolean) */
		plain?: boolean;
		/** [Property] (Boolean) */
		isTabBar?: boolean;
		/** [Method] Called by the layout system after the Component has been laid out  
		* @param width Object 
		*/
		afterComponentLayout?( width?:any ): void;
		/** [Method] Invoked after the Container has laid out and rendered if necessary its child Components  */
		afterLayout?(): void;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Returns the layout instance currently associated with this Container  
		* @returns Ext.layout.container.Container The layout 
		*/
		getLayout?(): Ext.layout.container.IContainer;
		/** [Method] This method is invoked after a new Component has been removed  
		* @param tab Object 
		*/
		onRemove?( tab?:any ): void;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
	}
}
declare module Ext.tab {
	export interface IPanel extends Ext.panel.IPanel {
		/** [Config Option] (String/Number) */
		activeItem?: any;
		/** [Config Option] (String/Number/Ext.Component) */
		activeTab?: any;
		/** [Config Option] (Boolean) */
		deferredRender?: boolean;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Number) */
		maxTabWidth?: number;
		/** [Config Option] (Number) */
		minTabWidth?: number;
		/** [Config Option] (Boolean) */
		plain?: boolean;
		/** [Config Option] (Boolean) */
		removePanelHeader?: boolean;
		/** [Config Option] (Object) */
		tabBar?: any;
		/** [Config Option] ("top"/"bottom"/"left"/"right") */
		tabPosition?: any;
		/** [Method] Returns the item that is currently active inside this TabPanel  
		* @returns Ext.Component The currently active item. 
		*/
		getActiveTab?(): Ext.IComponent;
		/** [Method] Returns the Ext tab Bar currently used in this TabPanel 
		* @returns Ext.tab.Bar The TabBar 
		*/
		getTabBar?(): Ext.tab.IBar;
		/** [Method] Makes sure we have a Tab for each item added to the TabPanel 
		* @param item Object 
		* @param index Object 
		*/
		onAdd?( item?:any, index?:any ): void;
		/** [Method] Makes the given card active  
		* @param card String/Number/Ext.Component The card to make active. Either an ID, index or the component itself. 
		* @returns Ext.Component The resulting active child Component. The call may have been vetoed, or otherwise modified by an event listener. 
		*/
		setActiveTab?( card?:any ): Ext.IComponent;
	}
}
declare module Ext {
	export interface ITabPanel extends Ext.panel.IPanel {
		/** [Config Option] (String/Number) */
		activeItem?: any;
		/** [Config Option] (String/Number/Ext.Component) */
		activeTab?: any;
		/** [Config Option] (Boolean) */
		deferredRender?: boolean;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Number) */
		maxTabWidth?: number;
		/** [Config Option] (Number) */
		minTabWidth?: number;
		/** [Config Option] (Boolean) */
		plain?: boolean;
		/** [Config Option] (Boolean) */
		removePanelHeader?: boolean;
		/** [Config Option] (Object) */
		tabBar?: any;
		/** [Config Option] ("top"/"bottom"/"left"/"right") */
		tabPosition?: any;
		/** [Method] Returns the item that is currently active inside this TabPanel  
		* @returns Ext.Component The currently active item. 
		*/
		getActiveTab?(): Ext.IComponent;
		/** [Method] Returns the Ext tab Bar currently used in this TabPanel 
		* @returns Ext.tab.Bar The TabBar 
		*/
		getTabBar?(): Ext.tab.IBar;
		/** [Method] Makes sure we have a Tab for each item added to the TabPanel 
		* @param item Object 
		* @param index Object 
		*/
		onAdd?( item?:any, index?:any ): void;
		/** [Method] Makes the given card active  
		* @param card String/Number/Ext.Component The card to make active. Either an ID, index or the component itself. 
		* @returns Ext.Component The resulting active child Component. The call may have been vetoed, or otherwise modified by an event listener. 
		*/
		setActiveTab?( card?:any ): Ext.IComponent;
	}
}
declare module Ext.tab {
	export interface ITab extends Ext.button.IButton {
		/** [Config Option] (String) */
		activeCls?: string;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Boolean) */
		closable?: boolean;
		/** [Config Option] (String) */
		closableCls?: string;
		/** [Config Option] (String) */
		closeText?: string;
		/** [Config Option] (String) */
		disabledCls?: string;
		/** [Config Option] ("small"/"medium"/"large") */
		scale?: any;
		/** [Property] (Boolean) */
		active?: boolean;
		/** [Property] (Boolean) */
		isTab?: boolean;
		/** [Method] inherit docs 
		* @param silent Object 
		*/
		disable?( silent?:any ): void;
		/** [Method] inherit docs 
		* @param silent Object 
		*/
		enable?( silent?:any ): void;
		/** [Method] This method returns an object which provides substitution parameters for the XTemplate used to create this Button s D  
		* @returns Object Substitution data for a Template. The default implementation which provides data for the default template returns an Object containing the following properties: 
		*/
		getTemplateArgs?(): any;
		/** [Method] inherit docs */
		initComponent?(): void;
		/** [Method] Sets this tab s attached card  
		* @param card Ext.Component The card to set 
		*/
		setCard?( card?:Ext.IComponent ): void;
		/** [Method] Sets the tab as either closable or not  
		* @param closable Boolean Pass false to make the tab not closable. Otherwise the tab will be made closable (eg a close button will appear on the tab) 
		*/
		setClosable?( closable?:boolean ): void;
	}
}
declare module Ext {
	export interface ITemplate extends Ext.IBase {
		/** [Config Option] (Boolean) */
		compiled?: boolean;
		/** [Config Option] (Boolean) */
		disableFormats?: boolean;
		/** [Property] (Boolean) */
		isTemplate?: boolean;
		/** [Method] Applies the supplied values to the template and appends the new node s to the specified el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param values Object/Array The template values. See applyTemplate for details. 
		* @param returnElement Boolean true to return an Ext.Element. 
		* @returns HTMLElement/Ext.Element The new node or Element 
		*/
		append?( el?:any, values?:any, returnElement?:boolean ): any;
		/** [Method] Returns an HTML fragment of this template with the specified values applied  
		* @param values Object/Array The template values. Can be an array if your params are numeric:  var tpl = new Ext.Template('Name: {0}, Age: {1}'); tpl.apply(['John', 25]); or an object:  var tpl = new Ext.Template('Name: {name}, Age: {age}'); tpl.apply({name: 'John', age: 25});  
		* @returns String The HTML fragment 
		*/
		apply?( values?:any ): string;
		/** [Method] Appends the result of this template to the provided output array  
		* @param values Object/Array The template values. See apply. 
		* @param out Array The array to which output is pushed. 
		* @returns Array The given out array. 
		*/
		applyOut?( values?:any, out?:any[] ): any[];
		/** [Method] Alias for apply  
		* @param values Object/Array The template values. Can be an array if your params are numeric:  var tpl = new Ext.Template('Name: {0}, Age: {1}'); tpl.apply(['John', 25]); or an object:  var tpl = new Ext.Template('Name: {name}, Age: {age}'); tpl.apply({name: 'John', age: 25});  
		* @returns String The HTML fragment 
		*/
		applyTemplate?( values?:any ): string;
		/** [Method] Compiles the template into an internal function eliminating the RegEx overhead  
		* @returns Ext.Template this 
		*/
		compile?(): Ext.ITemplate;
		/** [Method] Applies the supplied values to the template and inserts the new node s after el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param values Object/Array The template values. See applyTemplate for details. 
		* @param returnElement Boolean true to return a Ext.Element. 
		* @returns HTMLElement/Ext.Element The new node or Element 
		*/
		insertAfter?( el?:any, values?:any, returnElement?:boolean ): any;
		/** [Method] Applies the supplied values to the template and inserts the new node s before el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param values Object/Array The template values. See applyTemplate for details. 
		* @param returnElement Boolean true to return a Ext.Element. 
		* @returns HTMLElement/Ext.Element The new node or Element 
		*/
		insertBefore?( el?:any, values?:any, returnElement?:boolean ): any;
		/** [Method] Applies the supplied values to the template and inserts the new node s as the first child of el  
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param values Object/Array The template values. See applyTemplate for details. 
		* @param returnElement Boolean true to return a Ext.Element. 
		* @returns HTMLElement/Ext.Element The new node or Element 
		*/
		insertFirst?( el?:any, values?:any, returnElement?:boolean ): any;
		/** [Method] Applies the supplied values to the template and overwrites the content of el with the new node s 
		* @param el String/HTMLElement/Ext.Element The context element 
		* @param values Object/Array The template values. See applyTemplate for details. 
		* @param returnElement Boolean true to return a Ext.Element. 
		* @returns HTMLElement/Ext.Element The new node or Element 
		*/
		overwrite?( el?:any, values?:any, returnElement?:boolean ): any;
		/** [Method] Sets the HTML used as the template and optionally compiles it  
		* @param html String 
		* @param compile Boolean True to compile the template. 
		* @returns Ext.Template this 
		*/
		set?( html?:string, compile?:boolean ): Ext.ITemplate;
	}
	export class Template {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Creates a template from the passed element s value display none textarea preferred or innerHTML  
		* @param el String/HTMLElement A DOM element or its id 
		* @param config Object Config object 
		* @returns Ext.Template The created template 
		*/
		static from( el?:any, config?:any ): Ext.ITemplate;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext.tip {
	export interface IQuickTip extends Ext.tip.IToolTip {
		/** [Config Option] (Boolean) */
		interceptTitles?: boolean;
		/** [Config Option] (String/HTMLElement/Ext.Element) */
		target?: any;
		/** [Config Option] (String) */
		title?: string;
		/** [Method] Hides a visible tip or cancels an impending show for a particular element  
		* @param el String/HTMLElement/Ext.Element The element that is the target of the tip or ID of the element. 
		*/
		cancelShow?( el?:any ): void;
		/** [Method] Configures a new quick tip instance and assigns it to a target element  
		* @param config Object The config object with the following properties: 
		*/
		register?( config?:any ): void;
		/** [Method] Removes this quick tip from its element and destroys it  
		* @param el String/HTMLElement/Ext.Element The element from which the quick tip is to be removed or ID of the element. 
		*/
		unregister?( el?:any ): void;
	}
}
declare module Ext {
	export interface IQuickTip extends Ext.tip.IToolTip {
		/** [Config Option] (Boolean) */
		interceptTitles?: boolean;
		/** [Config Option] (String/HTMLElement/Ext.Element) */
		target?: any;
		/** [Config Option] (String) */
		title?: string;
		/** [Method] Hides a visible tip or cancels an impending show for a particular element  
		* @param el String/HTMLElement/Ext.Element The element that is the target of the tip or ID of the element. 
		*/
		cancelShow?( el?:any ): void;
		/** [Method] Configures a new quick tip instance and assigns it to a target element  
		* @param config Object The config object with the following properties: 
		*/
		register?( config?:any ): void;
		/** [Method] Removes this quick tip from its element and destroys it  
		* @param el String/HTMLElement/Ext.Element The element from which the quick tip is to be removed or ID of the element. 
		*/
		unregister?( el?:any ): void;
	}
}
declare module Ext.tip {
	export interface IQuickTipManager extends Ext.IBase {
	}
	export class QuickTipManager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Destroys the QuickTips instance  */
		static destroy(): void;
		/** [Method] Disables quick tips globally  */
		static disable(): void;
		/** [Method] Enables quick tips globally  */
		static enable(): void;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Gets the single QuickTip instance used to show tips from all registered elements  
		* @returns Ext.tip.QuickTip 
		*/
		static getQuickTip(): Ext.tip.IQuickTip;
		/** [Method] Initializes the global QuickTips instance and prepare any quick tips  
		* @param autoRender Boolean True to render the QuickTips container immediately to preload images. 
		* @param config Object config object for the created QuickTip. By default, the QuickTip class is instantiated, but this can be changed by supplying an xtype property or a className property in this object. All other properties on this object are configuration for the created component. 
		*/
		static init( autoRender?:boolean, config?:any ): void;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Returns true if quick tips are enabled else false  
		* @returns Boolean 
		*/
		static isEnabled(): boolean;
		/** [Method] Configures a new quick tip instance and assigns it to a target element  
		* @param config Object The config object 
		*/
		static register( config?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Alias of register  
		* @param config Object The config object 
		*/
		static tips( config?:any ): void;
		/** [Method] Removes any registered quick tip from the target element and destroys it  
		* @param el String/HTMLElement/Ext.Element The element from which the quick tip is to be removed or ID of the element. 
		*/
		static unregister( el?:any ): void;
	}
}
declare module Ext {
	export interface IQuickTips extends Ext.IBase {
	}
	export class QuickTips {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Destroys the QuickTips instance  */
		static destroy(): void;
		/** [Method] Disables quick tips globally  */
		static disable(): void;
		/** [Method] Enables quick tips globally  */
		static enable(): void;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Gets the single QuickTip instance used to show tips from all registered elements  
		* @returns Ext.tip.QuickTip 
		*/
		static getQuickTip(): Ext.tip.IQuickTip;
		/** [Method] Initializes the global QuickTips instance and prepare any quick tips  
		* @param autoRender Boolean True to render the QuickTips container immediately to preload images. 
		* @param config Object config object for the created QuickTip. By default, the QuickTip class is instantiated, but this can be changed by supplying an xtype property or a className property in this object. All other properties on this object are configuration for the created component. 
		*/
		static init( autoRender?:boolean, config?:any ): void;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Returns true if quick tips are enabled else false  
		* @returns Boolean 
		*/
		static isEnabled(): boolean;
		/** [Method] Configures a new quick tip instance and assigns it to a target element  
		* @param config Object The config object 
		*/
		static register( config?:any ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Alias of register  
		* @param config Object The config object 
		*/
		static tips( config?:any ): void;
		/** [Method] Removes any registered quick tip from the target element and destroys it  
		* @param el String/HTMLElement/Ext.Element The element from which the quick tip is to be removed or ID of the element. 
		*/
		static unregister( el?:any ): void;
	}
}
declare module Ext.tip {
	export interface ITip extends Ext.panel.IPanel {
		/** [Config Option] (Boolean/String/HTMLElement/Ext.Element) */
		autoRender?: any;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Boolean) */
		closable?: boolean;
		/** [Config Option] (String) */
		closeAction?: string;
		/** [Config Option] (Boolean) */
		constrainPosition?: boolean;
		/** [Config Option] (String) */
		defaultAlign?: string;
		/** [Config Option] (Boolean) */
		floating?: boolean;
		/** [Config Option] (Boolean) */
		focusOnToFront?: boolean;
		/** [Config Option] (Boolean) */
		frameHeader?: boolean;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (Number) */
		maxWidth?: number;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (Boolean/String) */
		shadow?: any;
		/** [Config Option] (Number) */
		width?: number;
	}
}
declare module Ext {
	export interface ITip extends Ext.panel.IPanel {
		/** [Config Option] (Boolean/String/HTMLElement/Ext.Element) */
		autoRender?: any;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Boolean) */
		closable?: boolean;
		/** [Config Option] (String) */
		closeAction?: string;
		/** [Config Option] (Boolean) */
		constrainPosition?: boolean;
		/** [Config Option] (String) */
		defaultAlign?: string;
		/** [Config Option] (Boolean) */
		floating?: boolean;
		/** [Config Option] (Boolean) */
		focusOnToFront?: boolean;
		/** [Config Option] (Boolean) */
		frameHeader?: boolean;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (Number) */
		maxWidth?: number;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (Boolean/String) */
		shadow?: any;
		/** [Config Option] (Number) */
		width?: number;
	}
}
declare module Ext.tip {
	export interface IToolTip extends Ext.tip.ITip {
		/** [Config Option] (String) */
		anchor?: string;
		/** [Config Option] (Number) */
		anchorOffset?: number;
		/** [Config Option] (Boolean) */
		anchorToTarget?: boolean;
		/** [Config Option] (Boolean) */
		autoHide?: boolean;
		/** [Config Option] (String) */
		delegate?: string;
		/** [Config Option] (Number) */
		dismissDelay?: number;
		/** [Config Option] (Number) */
		hideDelay?: number;
		/** [Config Option] (Number[]) */
		mouseOffset?: number[];
		/** [Config Option] (Number) */
		showDelay?: number;
		/** [Config Option] (HTMLElement/Ext.Element/String) */
		target?: any;
		/** [Config Option] (Boolean) */
		trackMouse?: boolean;
		/** [Property] (HTMLElement) */
		triggerElement?: HTMLElement;
		/** [Method] Binds this ToolTip to the specified element  
		* @param t String/HTMLElement/Ext.Element The Element, HtmlElement, or ID of an element to bind to 
		*/
		setTarget?( t?:any ): void;
	}
}
declare module Ext {
	export interface IToolTip extends Ext.tip.ITip {
		/** [Config Option] (String) */
		anchor?: string;
		/** [Config Option] (Number) */
		anchorOffset?: number;
		/** [Config Option] (Boolean) */
		anchorToTarget?: boolean;
		/** [Config Option] (Boolean) */
		autoHide?: boolean;
		/** [Config Option] (String) */
		delegate?: string;
		/** [Config Option] (Number) */
		dismissDelay?: number;
		/** [Config Option] (Number) */
		hideDelay?: number;
		/** [Config Option] (Number[]) */
		mouseOffset?: number[];
		/** [Config Option] (Number) */
		showDelay?: number;
		/** [Config Option] (HTMLElement/Ext.Element/String) */
		target?: any;
		/** [Config Option] (Boolean) */
		trackMouse?: boolean;
		/** [Property] (HTMLElement) */
		triggerElement?: HTMLElement;
		/** [Method] Binds this ToolTip to the specified element  
		* @param t String/HTMLElement/Ext.Element The Element, HtmlElement, or ID of an element to bind to 
		*/
		setTarget?( t?:any ): void;
	}
}
declare module Ext.toolbar {
	export interface IFill extends Ext.IComponent {
		/** [Property] (Boolean) */
		isFill?: boolean;
	}
}
declare module Ext.toolbar {
	export interface IItem extends Ext.IComponent {
		/** [Config Option] (String) */
		overflowText?: string;
		/** [Method] Disable the component  */
		disable?(): void;
		/** [Method] Enable the component */
		enable?(): void;
		/** [Method] Try to focus this component  
		* @returns Ext.Component The focused Component. Usually this Component. Some Containers may delegate focus to a descendant Component (Windows can do this through their defaultFocus config option. 
		*/
		focus?(): Ext.IComponent;
	}
}
declare module Ext.toolbar {
	export interface IPaging extends Ext.toolbar.IToolbar,Ext.util.IBindable {
		/** [Config Option] (String) */
		afterPageText?: string;
		/** [Config Option] (String) */
		beforePageText?: string;
		/** [Config Option] (Boolean) */
		displayInfo?: boolean;
		/** [Config Option] (String) */
		displayMsg?: string;
		/** [Config Option] (String) */
		emptyMsg?: string;
		/** [Config Option] (String) */
		firstText?: string;
		/** [Config Option] (Number) */
		inputItemWidth?: number;
		/** [Config Option] (String) */
		lastText?: string;
		/** [Config Option] (String) */
		nextText?: string;
		/** [Config Option] (Boolean) */
		prependButtons?: boolean;
		/** [Config Option] (String) */
		prevText?: string;
		/** [Config Option] (String) */
		refreshText?: string;
		/** [Config Option] (Ext.data.Store) */
		store?: Ext.data.IStore;
		/** [Method] Binds the paging toolbar to the specified Ext data Store deprecated  
		* @param store Ext.data.Store The data store to bind 
		*/
		bind?( store?:Ext.data.IStore ): void;
		/** [Method] Binds a store to this instance  
		* @param store Ext.data.AbstractStore/String The store to bind or ID of the store. When no store given (or when null or undefined passed), unbinds the existing store. 
		*/
		bindStore?( store?:any ): void;
		/** [Method] Binds listeners for this component to the store  
		* @param store Ext.data.AbstractStore The store to bind to 
		*/
		bindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
		/** [Method] Refresh the current page has the same effect as clicking the refresh button  */
		doRefresh?(): void;
		/** [Method] Gets the current store instance  
		* @returns Ext.data.AbstractStore The store, null if one does not exist. 
		*/
		getStore?(): Ext.data.IAbstractStore;
		/** [Method] Gets the listeners to bind to a new store  
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?(): any;
		/** [Method] Move to the first page has the same effect as clicking the first button  */
		moveFirst?(): void;
		/** [Method] Move to the last page has the same effect as clicking the last button  */
		moveLast?(): void;
		/** [Method] Move to the next page has the same effect as clicking the next button  */
		moveNext?(): void;
		/** [Method] Move to the previous page has the same effect as clicking the previous button  */
		movePrevious?(): void;
		/** [Method] Template method it is called when a new store is bound to the current instance  
		* @param store Ext.data.AbstractStore The store being bound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onBindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  
		* @param store Ext.data.AbstractStore The store being unbound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onUnbindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Unbinds the paging toolbar from the specified Ext data Store deprecated  
		* @param store Ext.data.Store The data store to unbind 
		*/
		unbind?( store?:Ext.data.IStore ): void;
		/** [Method] Unbinds listeners from this component to the store  
		* @param store Ext.data.AbstractStore The store to unbind from 
		*/
		unbindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
	}
}
declare module Ext {
	export interface IPagingToolbar extends Ext.toolbar.IToolbar,Ext.util.IBindable {
		/** [Config Option] (String) */
		afterPageText?: string;
		/** [Config Option] (String) */
		beforePageText?: string;
		/** [Config Option] (Boolean) */
		displayInfo?: boolean;
		/** [Config Option] (String) */
		displayMsg?: string;
		/** [Config Option] (String) */
		emptyMsg?: string;
		/** [Config Option] (String) */
		firstText?: string;
		/** [Config Option] (Number) */
		inputItemWidth?: number;
		/** [Config Option] (String) */
		lastText?: string;
		/** [Config Option] (String) */
		nextText?: string;
		/** [Config Option] (Boolean) */
		prependButtons?: boolean;
		/** [Config Option] (String) */
		prevText?: string;
		/** [Config Option] (String) */
		refreshText?: string;
		/** [Config Option] (Ext.data.Store) */
		store?: Ext.data.IStore;
		/** [Method] Binds the paging toolbar to the specified Ext data Store deprecated  
		* @param store Ext.data.Store The data store to bind 
		*/
		bind?( store?:Ext.data.IStore ): void;
		/** [Method] Binds a store to this instance  
		* @param store Ext.data.AbstractStore/String The store to bind or ID of the store. When no store given (or when null or undefined passed), unbinds the existing store. 
		*/
		bindStore?( store?:any ): void;
		/** [Method] Binds listeners for this component to the store  
		* @param store Ext.data.AbstractStore The store to bind to 
		*/
		bindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
		/** [Method] Refresh the current page has the same effect as clicking the refresh button  */
		doRefresh?(): void;
		/** [Method] Gets the current store instance  
		* @returns Ext.data.AbstractStore The store, null if one does not exist. 
		*/
		getStore?(): Ext.data.IAbstractStore;
		/** [Method] Gets the listeners to bind to a new store  
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?(): any;
		/** [Method] Move to the first page has the same effect as clicking the first button  */
		moveFirst?(): void;
		/** [Method] Move to the last page has the same effect as clicking the last button  */
		moveLast?(): void;
		/** [Method] Move to the next page has the same effect as clicking the next button  */
		moveNext?(): void;
		/** [Method] Move to the previous page has the same effect as clicking the previous button  */
		movePrevious?(): void;
		/** [Method] Template method it is called when a new store is bound to the current instance  
		* @param store Ext.data.AbstractStore The store being bound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onBindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  
		* @param store Ext.data.AbstractStore The store being unbound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onUnbindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Unbinds the paging toolbar from the specified Ext data Store deprecated  
		* @param store Ext.data.Store The data store to unbind 
		*/
		unbind?( store?:Ext.data.IStore ): void;
		/** [Method] Unbinds listeners from this component to the store  
		* @param store Ext.data.AbstractStore The store to unbind from 
		*/
		unbindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
	}
}
declare module Ext.toolbar {
	export interface ISeparator extends Ext.toolbar.IItem {
		/** [Config Option] (String) */
		baseCls?: string;
	}
}
declare module Ext.toolbar {
	export interface ISpacer extends Ext.IComponent {
		/** [Config Option] (String) */
		baseCls?: string;
	}
}
declare module Ext.toolbar {
	export interface ITextItem extends Ext.toolbar.IItem {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String) */
		text?: string;
		/** [Method] Updates this item s text setting the text to be used as innerHTML  
		* @param text String The text to display (html accepted). 
		*/
		setText?( text?:string ): void;
	}
}
declare module Ext.toolbar {
	export interface IToolbar extends Ext.container.IContainer {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String) */
		defaultButtonUI?: string;
		/** [Config Option] (String) */
		defaultType?: string;
		/** [Config Option] (Boolean) */
		enableOverflow?: boolean;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (String) */
		menuTriggerCls?: string;
		/** [Config Option] (Boolean) */
		vertical?: boolean;
		/** [Property] (Boolean) */
		isToolbar?: boolean;
		/** [Method] Adds element s to the toolbar this function takes a variable number of arguments of mixed type and adds them to t  
		* @param args Ext.Component.../Object.../String.../HTMLElement... The following types of arguments are all valid:  config: A valid button config object HtmlElement: Any standard HTML element Field: Any form field Item: Any subclass of Ext.toolbar.Item String: Any generic string (gets wrapped in a Ext.toolbar.TextItem). Note that there are a few special strings that are treated differently as explained next:  '-': Creates a separator element ' ': Creates a spacer element '-&gt;': Creates a fill element  
		* @returns Ext.Component[]/Ext.Component The Components that were added. 
		*/
		add?( args?:any ): any;
		/** [Method] Used by ComponentQuery child and down to retrieve all of the items which can potentially be considered a child of th  
		* @param deep Object 
		*/
		getRefItems?( deep?:any ): void;
		/** [Method] Inserts a Component into this Container at a specified index  
		* @param index Number The index at which the Component will be inserted. 
		* @param component Ext.Component/Object/String/HTMLElement See add method for overview of possible values. 
		* @returns Ext.Component The component that was inserted. 
		*/
		insert?( index?:number, component?:any ): Ext.IComponent;
	}
}
declare module Ext {
	export interface IToolbar extends Ext.container.IContainer {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String) */
		defaultButtonUI?: string;
		/** [Config Option] (String) */
		defaultType?: string;
		/** [Config Option] (Boolean) */
		enableOverflow?: boolean;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (String) */
		menuTriggerCls?: string;
		/** [Config Option] (Boolean) */
		vertical?: boolean;
		/** [Property] (Boolean) */
		isToolbar?: boolean;
		/** [Method] Adds element s to the toolbar this function takes a variable number of arguments of mixed type and adds them to t  
		* @param args Ext.Component.../Object.../String.../HTMLElement... The following types of arguments are all valid:  config: A valid button config object HtmlElement: Any standard HTML element Field: Any form field Item: Any subclass of Ext.toolbar.Item String: Any generic string (gets wrapped in a Ext.toolbar.TextItem). Note that there are a few special strings that are treated differently as explained next:  '-': Creates a separator element ' ': Creates a spacer element '-&gt;': Creates a fill element  
		* @returns Ext.Component[]/Ext.Component The Components that were added. 
		*/
		add?( args?:any ): any;
		/** [Method] Used by ComponentQuery child and down to retrieve all of the items which can potentially be considered a child of th  
		* @param deep Object 
		*/
		getRefItems?( deep?:any ): void;
		/** [Method] Inserts a Component into this Container at a specified index  
		* @param index Number The index at which the Component will be inserted. 
		* @param component Ext.Component/Object/String/HTMLElement See add method for overview of possible values. 
		* @returns Ext.Component The component that was inserted. 
		*/
		insert?( index?:number, component?:any ): Ext.IComponent;
	}
}
declare module Ext.tree {
	export interface IColumn extends Ext.grid.column.IColumn {
		/** [Config Option] (Boolean) */
		hideable?: boolean;
		/** [Config Option] (Boolean) */
		lockable?: boolean;
		/** [Config Option] (String) */
		tdCls?: string;
		/** [Property] (Boolean) */
		draggable?: boolean;
	}
}
declare module Ext.tree {
	export interface IPanel extends Ext.panel.ITable {
		/** [Config Option] (Boolean) */
		animate?: boolean;
		/** [Config Option] (Boolean) */
		deferRowRender?: boolean;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (Boolean) */
		folderSort?: boolean;
		/** [Config Option] (Boolean) */
		hideHeaders?: boolean;
		/** [Config Option] (Boolean) */
		lines?: boolean;
		/** [Config Option] (Ext.data.Model/Ext.data.NodeInterface/Object) */
		root?: any;
		/** [Config Option] (Boolean) */
		rootVisible?: boolean;
		/** [Config Option] (Boolean) */
		rowLines?: boolean;
		/** [Config Option] (String) */
		selType?: string;
		/** [Config Option] (Boolean) */
		singleExpand?: boolean;
		/** [Config Option] (Ext.data.TreeStore) */
		store?: Ext.data.ITreeStore;
		/** [Config Option] (Boolean) */
		useArrows?: boolean;
		/** [Config Option] (String) */
		viewType?: string;
		/** [Method] Collapse all nodes 
		* @param callback Function A function to execute when the collapse finishes. 
		* @param scope Object The scope of the callback function 
		*/
		collapseAll?( callback?:any, scope?:any ): void;
		/** [Method] Collapses a record that is loaded in the tree  
		* @param record Ext.data.Model The record to collapse 
		* @param deep Boolean True to collapse nodes all the way up the tree hierarchy. 
		* @param callback Function The function to run after the collapse is completed 
		* @param scope Object The scope of the callback function. 
		*/
		collapseNode?( record?:Ext.data.IModel, deep?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Expand all nodes 
		* @param callback Function A function to execute when the expand finishes. 
		* @param scope Object The scope of the callback function 
		*/
		expandAll?( callback?:any, scope?:any ): void;
		/** [Method] Expands a record that is loaded in the tree  
		* @param record Ext.data.Model The record to expand 
		* @param deep Boolean True to expand nodes all the way down the tree hierarchy. 
		* @param callback Function The function to run after the expand is completed 
		* @param scope Object The scope of the callback function. 
		*/
		expandNode?( record?:Ext.data.IModel, deep?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Expand the tree to the path of a particular node  
		* @param path String The path to expand. The path should include a leading separator. 
		* @param field String The field to get the data from. Defaults to the model idProperty. 
		* @param separator String A separator to use. 
		* @param callback Function A function to execute when the expand finishes. The callback will be called with (success, lastNode) where success is if the expand was successful and lastNode is the last node that was expanded. 
		* @param scope Object The scope of the callback function 
		*/
		expandPath?( path?:string, field?:string, separator?:string, callback?:any, scope?:any ): void;
		/** [Method] Retrieve an array of checked records  
		* @returns Ext.data.NodeInterface[] An array containing the checked records 
		*/
		getChecked?(): Ext.data.INodeInterface[];
		/** [Method] Returns the root node for this tree  
		* @returns Ext.data.NodeInterface 
		*/
		getRootNode?(): Ext.data.INodeInterface;
		/** [Method] Expand the tree to the path of a particular node then select it  
		* @param path String The path to select. The path should include a leading separator. 
		* @param field String The field to get the data from. Defaults to the model idProperty. 
		* @param separator String A separator to use. 
		* @param callback Function A function to execute when the select finishes. The callback will be called with (bSuccess, oLastNode) where bSuccess is if the select was successful and oLastNode is the last node that was expanded. 
		* @param scope Object The scope of the callback function 
		*/
		selectPath?( path?:string, field?:string, separator?:string, callback?:any, scope?:any ): void;
		/** [Method] Sets root node of this tree  
		* @param root Ext.data.Model/Ext.data.NodeInterface/Object 
		* @returns Ext.data.NodeInterface The new root 
		*/
		setRootNode?( root?:any ): Ext.data.INodeInterface;
	}
}
declare module Ext.tree {
	export interface ITreePanel extends Ext.panel.ITable {
		/** [Config Option] (Boolean) */
		animate?: boolean;
		/** [Config Option] (Boolean) */
		deferRowRender?: boolean;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (Boolean) */
		folderSort?: boolean;
		/** [Config Option] (Boolean) */
		hideHeaders?: boolean;
		/** [Config Option] (Boolean) */
		lines?: boolean;
		/** [Config Option] (Ext.data.Model/Ext.data.NodeInterface/Object) */
		root?: any;
		/** [Config Option] (Boolean) */
		rootVisible?: boolean;
		/** [Config Option] (Boolean) */
		rowLines?: boolean;
		/** [Config Option] (String) */
		selType?: string;
		/** [Config Option] (Boolean) */
		singleExpand?: boolean;
		/** [Config Option] (Ext.data.TreeStore) */
		store?: Ext.data.ITreeStore;
		/** [Config Option] (Boolean) */
		useArrows?: boolean;
		/** [Config Option] (String) */
		viewType?: string;
		/** [Method] Collapse all nodes 
		* @param callback Function A function to execute when the collapse finishes. 
		* @param scope Object The scope of the callback function 
		*/
		collapseAll?( callback?:any, scope?:any ): void;
		/** [Method] Collapses a record that is loaded in the tree  
		* @param record Ext.data.Model The record to collapse 
		* @param deep Boolean True to collapse nodes all the way up the tree hierarchy. 
		* @param callback Function The function to run after the collapse is completed 
		* @param scope Object The scope of the callback function. 
		*/
		collapseNode?( record?:Ext.data.IModel, deep?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Expand all nodes 
		* @param callback Function A function to execute when the expand finishes. 
		* @param scope Object The scope of the callback function 
		*/
		expandAll?( callback?:any, scope?:any ): void;
		/** [Method] Expands a record that is loaded in the tree  
		* @param record Ext.data.Model The record to expand 
		* @param deep Boolean True to expand nodes all the way down the tree hierarchy. 
		* @param callback Function The function to run after the expand is completed 
		* @param scope Object The scope of the callback function. 
		*/
		expandNode?( record?:Ext.data.IModel, deep?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Expand the tree to the path of a particular node  
		* @param path String The path to expand. The path should include a leading separator. 
		* @param field String The field to get the data from. Defaults to the model idProperty. 
		* @param separator String A separator to use. 
		* @param callback Function A function to execute when the expand finishes. The callback will be called with (success, lastNode) where success is if the expand was successful and lastNode is the last node that was expanded. 
		* @param scope Object The scope of the callback function 
		*/
		expandPath?( path?:string, field?:string, separator?:string, callback?:any, scope?:any ): void;
		/** [Method] Retrieve an array of checked records  
		* @returns Ext.data.NodeInterface[] An array containing the checked records 
		*/
		getChecked?(): Ext.data.INodeInterface[];
		/** [Method] Returns the root node for this tree  
		* @returns Ext.data.NodeInterface 
		*/
		getRootNode?(): Ext.data.INodeInterface;
		/** [Method] Expand the tree to the path of a particular node then select it  
		* @param path String The path to select. The path should include a leading separator. 
		* @param field String The field to get the data from. Defaults to the model idProperty. 
		* @param separator String A separator to use. 
		* @param callback Function A function to execute when the select finishes. The callback will be called with (bSuccess, oLastNode) where bSuccess is if the select was successful and oLastNode is the last node that was expanded. 
		* @param scope Object The scope of the callback function 
		*/
		selectPath?( path?:string, field?:string, separator?:string, callback?:any, scope?:any ): void;
		/** [Method] Sets root node of this tree  
		* @param root Ext.data.Model/Ext.data.NodeInterface/Object 
		* @returns Ext.data.NodeInterface The new root 
		*/
		setRootNode?( root?:any ): Ext.data.INodeInterface;
	}
}
declare module Ext {
	export interface ITreePanel extends Ext.panel.ITable {
		/** [Config Option] (Boolean) */
		animate?: boolean;
		/** [Config Option] (Boolean) */
		deferRowRender?: boolean;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (Boolean) */
		folderSort?: boolean;
		/** [Config Option] (Boolean) */
		hideHeaders?: boolean;
		/** [Config Option] (Boolean) */
		lines?: boolean;
		/** [Config Option] (Ext.data.Model/Ext.data.NodeInterface/Object) */
		root?: any;
		/** [Config Option] (Boolean) */
		rootVisible?: boolean;
		/** [Config Option] (Boolean) */
		rowLines?: boolean;
		/** [Config Option] (String) */
		selType?: string;
		/** [Config Option] (Boolean) */
		singleExpand?: boolean;
		/** [Config Option] (Ext.data.TreeStore) */
		store?: Ext.data.ITreeStore;
		/** [Config Option] (Boolean) */
		useArrows?: boolean;
		/** [Config Option] (String) */
		viewType?: string;
		/** [Method] Collapse all nodes 
		* @param callback Function A function to execute when the collapse finishes. 
		* @param scope Object The scope of the callback function 
		*/
		collapseAll?( callback?:any, scope?:any ): void;
		/** [Method] Collapses a record that is loaded in the tree  
		* @param record Ext.data.Model The record to collapse 
		* @param deep Boolean True to collapse nodes all the way up the tree hierarchy. 
		* @param callback Function The function to run after the collapse is completed 
		* @param scope Object The scope of the callback function. 
		*/
		collapseNode?( record?:Ext.data.IModel, deep?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Expand all nodes 
		* @param callback Function A function to execute when the expand finishes. 
		* @param scope Object The scope of the callback function 
		*/
		expandAll?( callback?:any, scope?:any ): void;
		/** [Method] Expands a record that is loaded in the tree  
		* @param record Ext.data.Model The record to expand 
		* @param deep Boolean True to expand nodes all the way down the tree hierarchy. 
		* @param callback Function The function to run after the expand is completed 
		* @param scope Object The scope of the callback function. 
		*/
		expandNode?( record?:Ext.data.IModel, deep?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Expand the tree to the path of a particular node  
		* @param path String The path to expand. The path should include a leading separator. 
		* @param field String The field to get the data from. Defaults to the model idProperty. 
		* @param separator String A separator to use. 
		* @param callback Function A function to execute when the expand finishes. The callback will be called with (success, lastNode) where success is if the expand was successful and lastNode is the last node that was expanded. 
		* @param scope Object The scope of the callback function 
		*/
		expandPath?( path?:string, field?:string, separator?:string, callback?:any, scope?:any ): void;
		/** [Method] Retrieve an array of checked records  
		* @returns Ext.data.NodeInterface[] An array containing the checked records 
		*/
		getChecked?(): Ext.data.INodeInterface[];
		/** [Method] Returns the root node for this tree  
		* @returns Ext.data.NodeInterface 
		*/
		getRootNode?(): Ext.data.INodeInterface;
		/** [Method] Expand the tree to the path of a particular node then select it  
		* @param path String The path to select. The path should include a leading separator. 
		* @param field String The field to get the data from. Defaults to the model idProperty. 
		* @param separator String A separator to use. 
		* @param callback Function A function to execute when the select finishes. The callback will be called with (bSuccess, oLastNode) where bSuccess is if the select was successful and oLastNode is the last node that was expanded. 
		* @param scope Object The scope of the callback function 
		*/
		selectPath?( path?:string, field?:string, separator?:string, callback?:any, scope?:any ): void;
		/** [Method] Sets root node of this tree  
		* @param root Ext.data.Model/Ext.data.NodeInterface/Object 
		* @returns Ext.data.NodeInterface The new root 
		*/
		setRootNode?( root?:any ): Ext.data.INodeInterface;
	}
}
declare module Ext.tree.plugin {
	export interface ITreeViewDragDrop extends Ext.IAbstractPlugin {
		/** [Config Option] (Boolean) */
		allowContainerDrops?: boolean;
		/** [Config Option] (Boolean) */
		allowParentInserts?: boolean;
		/** [Config Option] (Boolean) */
		appendOnly?: boolean;
		/** [Config Option] (Object/Boolean) */
		containerScroll?: any;
		/** [Config Option] (String) */
		ddGroup?: string;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (String) */
		dragGroup?: string;
		/** [Config Option] (String) */
		dragText?: string;
		/** [Config Option] (String) */
		dropGroup?: string;
		/** [Config Option] (Boolean) */
		enableDrag?: boolean;
		/** [Config Option] (Boolean) */
		enableDrop?: boolean;
		/** [Config Option] (Number) */
		expandDelay?: number;
		/** [Config Option] (String) */
		nodeHighlightColor?: string;
		/** [Config Option] (Boolean) */
		nodeHighlightOnDrop?: boolean;
		/** [Config Option] (Boolean) */
		nodeHighlightOnRepair?: boolean;
		/** [Config Option] (Boolean) */
		sortOnDrop?: boolean;
		/** [Method] The init method is invoked after initComponent method has been run for the client Component  
		* @param view Object 
		*/
		init?( view?:any ): void;
	}
}
declare module Ext.tree {
	export interface IView extends Ext.view.ITable {
		/** [Config Option] (Boolean) */
		animate?: boolean;
		/** [Config Option] (Boolean) */
		blockRefresh?: boolean;
		/** [Config Option] (Boolean) */
		deferInitialRefresh?: boolean;
		/** [Config Option] (Boolean) */
		loadMask?: boolean;
		/** [Config Option] (String) */
		loadingCls?: string;
		/** [Config Option] (Boolean) */
		rootVisible?: boolean;
		/** [Config Option] (Boolean) */
		stripeRows?: boolean;
		/** [Property] (Boolean) */
		isTreeView?: boolean;
		/** [Method] Called by the layout system after the Component has been laid out  */
		afterComponentLayout?(): void;
		/** [Method] Collapses a record that is loaded in the view  
		* @param record Ext.data.Model The record to collapse 
		* @param deep Boolean True to collapse nodes all the way up the tree hierarchy. 
		* @param callback Function The function to run after the collapse is completed 
		* @param scope Object The scope of the callback function. 
		*/
		collapse?( record?:Ext.data.IModel, deep?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Expands a record that is loaded in the view  
		* @param record Ext.data.Model The record to expand 
		* @param deep Boolean True to expand nodes all the way down the tree hierarchy. 
		* @param callback Function The function to run after the expand is completed 
		* @param scope Object The scope of the callback function. 
		*/
		expand?( record?:Ext.data.IModel, deep?:boolean, callback?:any, scope?:any ): void;
		/** [Method] Gets the listeners to bind to a new store  
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?(): any;
		/** [Method] Gets the base TreeStore from the bound TreePanel  */
		getTreeStore?(): void;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] Template method it is called when a new store is bound to the current instance  */
		onBindStore?(): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  */
		onUnbindStore?(): void;
		/** [Method] Toggles a record between expanded and collapsed  
		* @param record Ext.data.Model 
		* @param deep Boolean True to collapse nodes all the way up the tree hierarchy. 
		* @param callback Function The function to run after the expand/collapse is completed 
		* @param scope Object The scope of the callback function. 
		*/
		toggle?( record?:Ext.data.IModel, deep?:boolean, callback?:any, scope?:any ): void;
	}
}
declare module Ext.tree {
	export interface IViewDragZone extends Ext.view.IDragZone {
	}
}
declare module Ext.tree {
	export interface IViewDropZone extends Ext.view.IDropZone {
		/** [Config Option] (Boolean) */
		allowContainerDrop?: boolean;
		/** [Config Option] (Boolean) */
		allowParentInserts?: boolean;
		/** [Config Option] (Boolean) */
		appendOnly?: boolean;
		/** [Config Option] (Number) */
		expandDelay?: number;
		/** [Method] Moved out of the DropZone without dropping  */
		notifyOut?(): void;
		/** [Method] The mouse is past the end of all nodes or there are no nodes  
		* @param dd Object 
		* @param e Object 
		* @param data Object 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		onContainerOver?( dd?:any, e?:any, data?:any ): string;
		/** [Method] The mouse is no longer over a tree node so dropping is not valid 
		* @param n Object 
		* @param dd Object 
		* @param e Object 
		* @param data Object 
		*/
		onNodeOut?( n?:any, dd?:any, e?:any, data?:any ): void;
		/** [Method] The mouse is over a View node 
		* @param node Object 
		* @param dragZone Object 
		* @param e Object 
		* @param data Object 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		onNodeOver?( node?:any, dragZone?:any, e?:any, data?:any ): string;
	}
}
declare module Ext.util {
	export interface IAbstractMixedCollection extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Boolean) */
		allowFunctions?: boolean;
		/** [Property] (Boolean) */
		isMixedCollection?: boolean;
		/** [Method] Adds an item to the collection  
		* @param key String/Object The key to associate with the item, or the new item. If a getKey implementation was specified for this MixedCollection, or if the key of the stored items is in a property called id, the MixedCollection will be able to derive the key for the new item. In this case just pass the new item in this parameter. 
		* @param obj Object The item to add. 
		* @returns Object The item added. 
		*/
		add?( key?:any, obj?:any ): any;
		/** [Method] Adds all elements of an Array or an Object to the collection  
		* @param objs Object/Array An Object containing properties which will be added to the collection, or an Array of values, each of which are added to the collection. Functions references will be added to the collection if allowFunctions has been set to true. 
		*/
		addAll?( objs?:any ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all items from the collection  */
		clear?(): void;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Creates a shallow copy of this collection 
		* @returns Ext.util.MixedCollection 
		*/
		clone?(): Ext.util.IMixedCollection;
		/** [Method] Collects unique values of a particular property in this MixedCollection 
		* @param property String The property to collect on 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param allowBlank Boolean Pass true to allow null, undefined or empty string values 
		* @returns Array The unique values 
		*/
		collect?( property?:string, root?:string, allowBlank?:boolean ): any[];
		/** [Method] Returns true if the collection contains the passed Object as an item  
		* @param o Object The Object to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as an item. 
		*/
		contains?( o?:any ): boolean;
		/** [Method] Returns true if the collection contains the passed Object as a key  
		* @param key String The key to look for in the collection. 
		* @returns Boolean True if the collection contains the Object as a key. 
		*/
		containsKey?( key?:string ): boolean;
		/** [Method] Executes the specified function once for every item in the collection  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current item in the iteration. 
		*/
		each?( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every key in the collection passing each key and its associated item as th  
		* @param fn Function The function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		eachKey?( fn?:any, scope?:any ): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Filters the objects in this collection by a set of Filters or by a single property value pair with optional paramete  
		* @param property Ext.util.Filter[]/String A property on your objects, or an array of Filter objects 
		* @param value String/RegExp Either string that the property values should start with or a RegExp to test against the property 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		filter?( property?:any, value?:any, anyMatch?:boolean, caseSensitive?:boolean ): Ext.util.IMixedCollection;
		/** [Method] Filter by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @returns Ext.util.MixedCollection The new filtered collection 
		*/
		filterBy?( fn?:any, scope?:any ): Ext.util.IMixedCollection;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  */
		find?(): void;
		/** [Method] Returns the first item in the collection which elicits a true return value from the passed selection function  
		* @param fn Function The selection function to execute for each item. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		* @returns Object The first item in the collection which returned true from the selection function, or null if none was found. 
		*/
		findBy?( fn?:any, scope?:any ): any;
		/** [Method] Finds the index of the first matching object in this collection by a specific property value  
		* @param property String The name of a property on your objects. 
		* @param value String/RegExp A string that the property values should start with or a RegExp to test against the property. 
		* @param start Number The index to start searching at. 
		* @param anyMatch Boolean True to match any part of the string, not just the beginning. 
		* @param caseSensitive Boolean True for case sensitive comparison. 
		* @returns Number The matched index or -1 
		*/
		findIndex?( property?:string, value?:any, start?:number, anyMatch?:boolean, caseSensitive?:boolean ): number;
		/** [Method] Find the index of the first matching object in this collection by a function  
		* @param fn Function The function to be called. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to this MixedCollection. 
		* @param start Number The index to start searching at. 
		* @returns Number The matched index or -1 
		*/
		findIndexBy?( fn?:any, scope?:any, start?:number ): number;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Returns the first item in the collection  
		* @returns Object the first item in the collection.. 
		*/
		first?(): any;
		/** [Method] Returns the item associated with the passed key OR index  
		* @param key String/Number The key or index of the item. 
		* @returns Object If the item is found, returns the item. If the item was not found, returns undefined. If an item was found, but is a Class, returns null. 
		*/
		get?( key?:any ): any;
		/** [Method] Returns the item at the specified index  
		* @param index Number The index of the item. 
		* @returns Object The item at the specified index. 
		*/
		getAt?( index?:number ): any;
		/** [Method] Returns the item associated with the passed key  
		* @param key String/Number The key of the item. 
		* @returns Object The item associated with the passed key. 
		*/
		getByKey?( key?:any ): any;
		/** [Method] Returns the number of items in the collection  
		* @returns Number the number of items in the collection. 
		*/
		getCount?(): number;
		/** [Method] A function which will be called passing a newly added object when the object is added without a separate id  
		* @param item Object The item for which to find the key. 
		* @returns Object The key for the passed item. 
		*/
		getKey?( item?:any ): any;
		/** [Method] Returns a range of items in this collection 
		* @param startIndex Number The starting index. Defaults to 0. 
		* @param endIndex Number The ending index. Defaults to the last item. 
		* @returns Array An array of items 
		*/
		getRange?( startIndex?:number, endIndex?:number ): any[];
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Returns index within the collection of the passed Object  
		* @param o Object The item to find the index of. 
		* @returns Number index of the item. Returns -1 if not found. 
		*/
		indexOf?( o?:any ): number;
		/** [Method] Returns index within the collection of the passed key  
		* @param key String The key to find the index of. 
		* @returns Number index of the key. 
		*/
		indexOfKey?( key?:string ): number;
		/** [Method] Inserts an item at the specified index in the collection  
		* @param index Number The index to insert the item at. 
		* @param key String/Object/String[]/Object[] The key to associate with the new item, or the item itself. May also be an array of either to insert multiple items at once. 
		* @param o Object/Object[] If the second parameter was a key, the new item. May also be an array to insert multiple items at once. 
		* @returns Object The item inserted or an array of items inserted. 
		*/
		insert?( index?:number, key?:any, o?:any ): any;
		/** [Method] Returns the last item in the collection  
		* @returns Object the last item in the collection.. 
		*/
		last?(): any;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Remove an item from the collection  
		* @param o Object The item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		remove?( o?:any ): any;
		/** [Method] Remove all items in the collection  
		* @param items Array An array of items to be removed. 
		* @returns Ext.util.MixedCollection this object 
		*/
		removeAll?( items?:any[] ): Ext.util.IMixedCollection;
		/** [Method] Remove an item from a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		removeAt?( index?:number ): any;
		/** [Method] Removes an item associated with the passed key fom the collection  
		* @param key String The key of the item to remove. If null is passed, all objects which yielded no key from the configured getKey function are removed. 
		* @returns Object Only returned if removing at a specified key. The item removed or false if no item was removed. 
		*/
		removeAtKey?( key?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Remove a range of items starting at a specified index in the collection  
		* @param index Number The index within the collection of the item to remove. 
		* @param removeCount Number The nuber of items to remove beginning at the specified index. 
		* @returns Object The last item removed or false if no item was removed. 
		*/
		removeRange?( index?:number, removeCount?:number ): any;
		/** [Method] Replaces an item in the collection  
		* @param key String The key associated with the item to replace, or the replacement item. If you supplied a getKey implementation for this MixedCollection, or if the key of your stored items is in a property called id, then the MixedCollection will be able to derive the key of the replacement item. If you want to replace an item with one having the same key value, then just pass the replacement item in this parameter. 
		* @param o Object {Object} o (optional) If the first parameter passed was a key, the item to associate with that key. 
		* @returns Object The new item. 
		*/
		replace?( key?:string, o?:any ): any;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Collects all of the values of the given property and returns their sum 
		* @param property String The property to sum by 
		* @param root String 'root' property to extract the first argument from. This is used mainly when summing fields in records, where the fields are all stored inside the 'data' object 
		* @param start Number The record index to start at 
		* @param end Number The record index to end at 
		* @returns Number The total 
		*/
		sum?( property?:string, root?:string, start?:number, end?:number ): number;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Change the key for an existing item in the collection  
		* @param oldKey Object The old key 
		* @param newKey Object The new key 
		*/
		updateKey?( oldKey?:any, newKey?:any ): void;
	}
}
declare module Ext.util {
	export interface IAnimate extends Ext.IBase {
		/** [Method] Performs custom animation on this object. ... */
		animate?: any;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		getActiveAnimation?(): any;
		/** [Method] Returns the current animation if this object has any effects actively running or queued else returns false  
		* @returns Ext.fx.Anim/Boolean Anim if element has active effects, else false 
		*/
		hasActiveFx?(): any;
		/** [Method] Ensures that all effects queued after sequenceFx is called on this object are run in sequence  
		* @returns Object this 
		*/
		sequenceFx?(): any;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		stopAnimation?(): Ext.IElement;
		/** [Method] Stops any running effects and clears this object s internal effects queue if it contains any additional effects that 
		* @returns Ext.Element The Element 
		*/
		stopFx?(): Ext.IElement;
		/** [Method] Ensures that all effects queued after syncFx is called on this object are run concurrently  
		* @returns Object this 
		*/
		syncFx?(): any;
	}
}
declare module Ext.util {
	export interface IBindable extends Ext.IBase {
		/** [Method] Binds a store to this instance  
		* @param store Ext.data.AbstractStore/String The store to bind or ID of the store. When no store given (or when null or undefined passed), unbinds the existing store. 
		*/
		bindStore?( store?:any ): void;
		/** [Method] Binds listeners for this component to the store  
		* @param store Ext.data.AbstractStore The store to bind to 
		*/
		bindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
		/** [Method] Gets the current store instance  
		* @returns Ext.data.AbstractStore The store, null if one does not exist. 
		*/
		getStore?(): Ext.data.IAbstractStore;
		/** [Method] Gets the listeners to bind to a new store  
		* @param store Ext.data.Store The Store which is being bound to for which a listeners object should be returned. 
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?( store?:Ext.data.IStore ): any;
		/** [Method] Template method it is called when a new store is bound to the current instance  
		* @param store Ext.data.AbstractStore The store being bound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onBindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  
		* @param store Ext.data.AbstractStore The store being unbound 
		* @param initial Boolean True if this store is being bound as initialization of the instance. 
		*/
		onUnbindStore?( store?:Ext.data.IAbstractStore, initial?:boolean ): void;
		/** [Method] Unbinds listeners from this component to the store  
		* @param store Ext.data.AbstractStore The store to unbind from 
		*/
		unbindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
	}
}
declare module Ext.util {
	export interface IClickRepeater extends Ext.util.IObservable {
		/** [Config Option] (Boolean) */
		accelerate?: boolean;
		/** [Config Option] (Number) */
		delay?: number;
		/** [Config Option] (String/HTMLElement/Ext.Element) */
		el?: any;
		/** [Config Option] (Number) */
		interval?: number;
		/** [Config Option] (String) */
		pressedCls?: string;
		/** [Config Option] (Boolean) */
		preventDefault?: boolean;
		/** [Config Option] (Boolean) */
		stopDefault?: boolean;
		/** [Method] Disables the repeater and stops events from firing  
		* @param force Object 
		*/
		disable?( force?:any ): void;
		/** [Method] Enables the repeater and allows events to fire  */
		enable?(): void;
		/** [Method] Convenience function for setting disabled enabled by boolean  
		* @param disabled Boolean 
		*/
		setDisabled?( disabled?:boolean ): void;
	}
}
declare module Ext.util {
	export interface IComponentDragger extends Ext.dd.IDragTracker {
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Boolean) */
		constrainDelegate?: boolean;
		/** [Method] Move either the ghost Component or the target Component to its new position on drag 
		* @param e Object 
		*/
		onDrag?( e?:any ): void;
		/** [Method] Template method which should be overridden by each DragTracker instance  
		* @param e Object 
		*/
		onEnd?( e?:any ): void;
		/** [Method] Template method which should be overridden by each DragTracker instance  
		* @param e Object 
		*/
		onStart?( e?:any ): void;
	}
}
declare module Ext.util {
	export interface ICookies extends Ext.IBase {
	}
	export class Cookies {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes a cookie with the provided name from the browser if found by setting its expiration date to sometime in the p  
		* @param name String The name of the cookie to remove 
		* @param path String The path for the cookie. This must be included if you included a path while setting the cookie. 
		*/
		static clear( name?:string, path?:string ): void;
		/** [Method] Retrieves cookies that are accessible by the current page  
		* @param name String The name of the cookie to get 
		* @returns Object Returns the cookie value for the specified name; null if the cookie name does not exist. 
		*/
		static get( name?:string ): any;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Creates a cookie with the specified name and value  
		* @param name String The name of the cookie to set. 
		* @param value Object The value to set for the cookie. 
		* @param expires Object Specify an expiration date the cookie is to persist until. Note that the specified Date object will be converted to Greenwich Mean Time (GMT). 
		* @param path String Setting a path on the cookie restricts access to pages that match that path. Defaults to all pages ('/'). 
		* @param domain String Setting a domain restricts access to pages on a given domain (typically used to allow cookie access across subdomains). For example, "sencha.com" will create a cookie that can be accessed from any subdomain of sencha.com, including www.sencha.com, support.sencha.com, etc. 
		* @param secure Boolean Specify true to indicate that the cookie should only be accessible via SSL on a page using the HTTPS protocol. Defaults to false. Note that this will only work if the page calling this code uses the HTTPS protocol, otherwise the cookie will be created with default options. 
		*/
		static set( name?:string, value?:any, expires?:any, path?:string, domain?:string, secure?:boolean ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.util {
	export interface ICSS extends Ext.IBase {
	}
	export class CSS {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Creates a rule  
		* @param styleSheet CSSStyleSheet The StyleSheet to create the rule in as returned from createStyleSheet. 
		* @param selector String The selector to target the rule. 
		* @param property String The cssText specification eg "color:red;font-weight:bold;text-decoration:underline" 
		* @returns CSSStyleRule The created rule 
		*/
		static createRule( styleSheet?:CSSStyleSheet, selector?:string, property?:string ): CSSStyleRule;
		/** [Method] Creates a stylesheet from a text blob of rules  
		* @param cssText String The text containing the css rules 
		* @param id String An id to add to the stylesheet for later removal 
		* @returns CSSStyleSheet 
		*/
		static createStyleSheet( cssText?:string, id?:string ): CSSStyleSheet;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Gets an an individual CSS rule by selector s  
		* @param selector String/String[] The CSS selector or an array of selectors to try. The first selector that is found is returned. 
		* @param refreshCache Boolean true to refresh the internal cache if you have recently updated any rules or added styles dynamically 
		* @returns CSSStyleRule The CSS rule or null if one is not found 
		*/
		static getRule( selector?:any, refreshCache?:boolean ): CSSStyleRule;
		/** [Method] Gets all css rules for the document 
		* @param refreshCache Boolean true to refresh the internal cache 
		* @returns Object An object (hash) of rules indexed by selector 
		*/
		static getRules( refreshCache?:boolean ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Refresh the rule cache if you have dynamically added stylesheets 
		* @returns Object An object (hash) of rules indexed by selector 
		*/
		static refreshCache(): any;
		/** [Method] Removes a style or link tag by id 
		* @param id String The id of the tag 
		*/
		static removeStyleSheet( id?:string ): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Dynamically swaps an existing stylesheet reference for a new one 
		* @param id String The id of an existing link tag to remove 
		* @param url String The href of the new stylesheet to include 
		*/
		static swapStyleSheet( id?:string, url?:string ): void;
		/** [Method] Updates a rule property 
		* @param selector String/String[] If it's an array it tries each selector until it finds one. Stops immediately once one is found. 
		* @param property String The css property or a cssText specification eg "color:red;font-weight:bold;text-decoration:underline" 
		* @param value String The new value for the property 
		* @returns Boolean true If a rule was found and updated 
		*/
		static updateRule( selector?:any, property?:string, value?:string ): boolean;
	}
}
declare module Ext.util {
	export interface IDelayedTask {
		/** [Property] (Number) */
		id?: number;
		/** [Method] Cancel the last queued timeout */
		cancel?(): void;
		/** [Method] By default cancels any pending timeout and queues a new one  
		* @param newDelay Number The milliseconds to delay 
		* @param newFn Function Overrides function passed to constructor 
		* @param newScope Object Overrides scope passed to constructor. Remember that if no scope is specified, this will refer to the browser window. 
		* @param newArgs Array Overrides args passed to constructor 
		*/
		delay?( newDelay?:number, newFn?:any, newScope?:any, newArgs?:any[] ): void;
	}
}
declare module Ext.util {
	export interface IElementContainer extends Ext.IBase {
		/** [Method] Adds each argument passed to this method to the childEls array  */
		addChildEls?(): void;
		/** [Method] Removes items in the childEls array based on the return value of a supplied test function  
		* @param testFn Function The test function. 
		*/
		removeChildEls?( testFn?:any ): void;
	}
}
declare module Ext.util {
	export interface IEvent extends Ext.IBase {
		/** [Property] (Boolean) */
		isEvent?: boolean;
	}
}
declare module Ext.util {
	export interface IFilter extends Ext.IBase {
		/** [Config Option] (Boolean) */
		anyMatch?: boolean;
		/** [Config Option] (Boolean) */
		caseSensitive?: boolean;
		/** [Config Option] (Boolean) */
		exactMatch?: boolean;
		/** [Config Option] (Function) */
		filterFn?: any;
		/** [Config Option] (String) */
		id?: string;
		/** [Config Option] (String) */
		operator?: string;
		/** [Config Option] (String) */
		property?: string;
		/** [Config Option] (String) */
		root?: string;
		/** [Config Option] (Mixed) */
		value?: any;
		/** [Property] (Boolean) */
		disabled?: boolean;
		/** [Method] Changes the filtering function which this Filter uses to choose items to include  
		* @param filterFn Function A function which returns true or false to either include or exclude the passed object. 
		*/
		setFilterFn?( filterFn?:any ): void;
		/** [Method] Changes the value that this filter tests its configured  link cfg property with  
		* @param value Mixed The new value to compare the property with. 
		*/
		setValue?( value?:any ): void;
	}
	export class Filter {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Creates a single filter function which encapsulates the passed Filter array  
		* @param filters Ext.util.Filter[] The filter set for which to create a filter function 
		* @returns Function a function, which when passed a candidate object returns true if the candidate passes all the specified Filters. 
		*/
		static createFilterFn( filters?:Ext.util.IFilter[] ): any;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext.util {
	export interface IFloating extends Ext.IBase {
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Boolean) */
		fixed?: boolean;
		/** [Config Option] (Boolean) */
		focusOnToFront?: boolean;
		/** [Config Option] (String/Boolean) */
		shadow?: any;
		/** [Config Option] (Number) */
		shadowOffset?: number;
		/** [Method] Center this Component in its container  
		* @returns Ext.Component this 
		*/
		center?(): Ext.IComponent;
		/** [Method] Moves this floating Component into a constrain region  
		* @param constrainTo String/HTMLElement/Ext.Element/Ext.util.Region The Element or Region into which this Component is to be constrained. Defaults to the element into which this floating Component was rendered. 
		*/
		doConstrain?( constrainTo?:any ): void;
		/** [Method] This method is called internally by Ext ZIndexManager to signal that a floating Component has either been moved to th  
		* @param active Boolean True to activate the Component, false to deactivate it. 
		* @param newActive Ext.Component The newly active Component which is taking over topmost zIndex position. 
		*/
		setActive?( active?:boolean, newActive?:Ext.IComponent ): void;
		/** [Method] Sends this Component to the back of lower z index than any other visible windows 
		* @returns Ext.Component this 
		*/
		toBack?(): Ext.IComponent;
		/** [Method] Brings this floating Component to the front of any other visible floating Components managed by the same ZIndexManag  
		* @param preventFocus Boolean Specify true to prevent the Component from being focused. 
		* @returns Ext.Component this 
		*/
		toFront?( preventFocus?:boolean ): Ext.IComponent;
	}
}
declare module Ext.util {
	export interface IFormat {
	}
	export class Format {
		/** [Method] Formats an object of name value properties as HTML element attribute values suitable for using when creating textual 
		* @param attributes Object An object containing the HTML attributes as properties eg: {height:40, vAlign:'top'} 
		*/
		static attributes( attributes?:any ): void;
		/** [Method] Alias for Ext String capitalize  
		* @param string String 
		* @returns String 
		*/
		static capitalize( string?:string ): string;
		/** [Method] Format a number as a currency  
		* @param value Number/String The numeric value to format 
		* @param sign String The currency sign to use (defaults to currencySign) 
		* @param decimals Number The number of decimals to use for the currency (defaults to currencyPrecision) 
		* @param end Boolean True if the currency sign should be at the end of the string (defaults to currencyAtEnd) 
		* @returns String The formatted currency string 
		*/
		static currency( value?:any, sign?:string, decimals?:number, end?:boolean ): string;
		/** [Method] Formats the passed date using the specified format pattern  
		* @param value String/Date The value to format. If a string is passed, it is converted to a Date by the Javascript's built-in Date.parse method. 
		* @param format String Any valid date format string. Defaults to Ext.Date.defaultFormat. 
		* @returns String The formatted date string. 
		*/
		static date( value?:any, format?:string ): string;
		/** [Method] Returns a date rendering function that can be reused to apply a date format multiple times efficiently  
		* @param format String Any valid date format string. Defaults to Ext.Date.defaultFormat. 
		* @returns Function The date formatting function 
		*/
		static dateRenderer( format?:string ): any;
		/** [Method] Checks a reference and converts it to the default value if it s empty  
		* @param value Object Reference to check 
		* @param defaultValue String The value to insert of it's undefined. 
		* @returns String 
		*/
		static defaultValue( value?:any, defaultValue?:string ): string;
		/** [Method] Alias for Ext String ellipsis  
		* @param value String The string to truncate. 
		* @param length Number The maximum length to allow before truncating. 
		* @param word Boolean true to try to find a common word break. 
		* @returns String The converted text. 
		*/
		static ellipsis( value?:string, length?:number, word?:boolean ): string;
		/** [Method] Escapes the passed string for use in a regular expression  
		* @param str String 
		* @returns String 
		*/
		static escapeRegex( str?:string ): string;
		/** [Method] Simple format for a file size xxx bytes xxx KB xxx MB 
		* @param size Number/String The numeric value to format 
		* @returns String The formatted file size 
		*/
		static fileSize( size?:any ): string;
		/** [Method] Alias for Ext String format  
		* @param string String The tokenized string to be formatted. 
		* @param values Mixed... The values to replace tokens {0}, {1}, etc in order. 
		* @returns String The formatted string. 
		*/
		static format( string:string, ...values:any[] ): string;
		/** [Method] Alias for Ext String htmlDecode  
		* @param value String The string to decode. 
		* @returns String The decoded text. 
		*/
		static htmlDecode( value?:string ): string;
		/** [Method] Alias for Ext String htmlEncode  
		* @param value String The string to encode. 
		* @returns String The encoded text. 
		*/
		static htmlEncode( value?:string ): string;
		/** [Method] Alias for Ext String leftPad  
		* @param string String The original string. 
		* @param size Number The total length of the output string. 
		* @param character String The character with which to pad the original string. 
		* @returns String The padded string. 
		*/
		static leftPad( string?:string, size?:number, character?:string ): string;
		/** [Method] Converts a string to all lower case letters  
		* @param value String The text to convert 
		* @returns String The converted text 
		*/
		static lowercase( value?:string ): string;
		/** [Method] It does simple math for use in a template for example  var tpl  new Ext Template  value 10 value math 10  
		* @returns Function A function that operates on the passed value. 
		*/
		static math(): any;
		/** [Method] Converts newline characters to the HTML tag lt br gt  
		* @param v String The string value to format. 
		* @returns String The string with embedded &lt;br/&gt; tags in place of newlines. 
		*/
		static nl2br( v?:string ): string;
		/** [Method] Formats the passed number according to the passed format string  
		* @param v Number The number to format. 
		* @param format String The way you would like to format this text. 
		* @returns String The formatted number. 
		*/
		static number( v?:number, format?:string ): string;
		/** [Method] Returns a number rendering function that can be reused to apply a number format multiple times efficiently  
		* @param format String Any valid number format string for number 
		* @returns Function The number formatting function 
		*/
		static numberRenderer( format?:string ): any;
		/** [Method] Parses a number or string representing margin sizes into an object  
		* @param v Number/String The encoded margins 
		* @returns Object An object with margin sizes for top, right, bottom and left 
		*/
		static parseBox( v?:any ): any;
		/** [Method] Selectively do a plural form of a word based on a numeric value  
		* @param value Number The value to compare against 
		* @param singular String The singular form of the word 
		* @param plural String The plural form of the word (defaults to the singular with an "s") 
		*/
		static plural( value?:number, singular?:string, plural?:string ): void;
		/** [Method] Rounds the passed number to the required decimal precision  
		* @param value Number/String The numeric value to round. 
		* @param precision Number The number of decimal places to which to round the first parameter's value. 
		* @returns Number The rounded value. 
		*/
		static round( value?:any, precision?:number ): number;
		/** [Method] Strips all script tags  
		* @param value Object The text from which to strip script tags 
		* @returns String The stripped text 
		*/
		static stripScripts( value?:any ): string;
		/** [Method] Strips all HTML tags  
		* @param value Object The text from which to strip tags 
		* @returns String The stripped text 
		*/
		static stripTags( value?:any ): string;
		/** [Method] Returns a substring from within an original string  
		* @param value String The original text 
		* @param start Number The start index of the substring 
		* @param length Number The length of the substring 
		* @returns String The substring 
		*/
		static substr( value?:string, start?:number, length?:number ): string;
		/** [Method] Alias for Ext String trim  
		* @param string String The string to trim. 
		* @returns String The trimmed string. 
		*/
		static trim( string?:string ): string;
		/** [Method] Checks a reference and converts it to empty string if it is undefined  
		* @param value Object Reference to check 
		* @returns Object Empty string if converted, otherwise the original value 
		*/
		static undef( value?:any ): any;
		/** [Method] Converts a string to all upper case letters  
		* @param value String The text to convert 
		* @returns String The converted text 
		*/
		static uppercase( value?:string ): string;
		/** [Method] Format a number as US currency  
		* @param value Number/String The numeric value to format 
		* @returns String The formatted currency string 
		*/
		static usMoney( value?:any ): string;
	}
}
declare module Ext.util {
	export interface IGrouper extends Ext.util.ISorter {
		/** [Method] Returns the value for grouping to be used  
		* @param instance Ext.data.Model The Model instance 
		* @returns String The group string for this model 
		*/
		getGroupString?( instance?:Ext.data.IModel ): string;
	}
}
declare module Ext.util {
	export interface IHashMap extends Ext.IBase,Ext.util.IObservable {
		/** [Config Option] (Function) */
		keyFn?: any;
		/** [Method] Adds an item to the collection  
		* @param key String/Object The key to associate with the item, or the new item. If a getKey implementation was specified for this HashMap, or if the key of the stored items is in a property called id, the HashMap will be able to derive the key for the new item. In this case just pass the new item in this parameter. 
		* @param o Object The item to add. 
		* @returns Object The item added. 
		*/
		add?( key?:any, o?:any ): any;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all items from the hash  
		* @param initial Object 
		* @returns Ext.util.HashMap this 
		*/
		clear?( initial?:any ): Ext.util.IHashMap;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Performs a shallow copy on this hash  
		* @returns Ext.util.HashMap The new hash object. 
		*/
		clone?(): Ext.util.IHashMap;
		/** [Method] Checks whether a value exists in the hash  
		* @param value Object The value to check for. 
		* @returns Boolean True if the value exists in the dictionary. 
		*/
		contains?( value?:any ): boolean;
		/** [Method] Checks whether a key exists in the hash  
		* @param key String The key to check for. 
		* @returns Boolean True if they key exists in the hash. 
		*/
		containsKey?( key?:string ): boolean;
		/** [Method] Executes the specified function once for each item in the hash  
		* @param fn Function The function to execute. 
		* @param scope Object The scope to execute in. Defaults to this. 
		* @returns Ext.util.HashMap this 
		*/
		each?( fn?:any, scope?:any ): Ext.util.IHashMap;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Retrieves an item with a particular key  
		* @param key String The key to lookup. 
		* @returns Object The value at that key. If it doesn't exist, undefined is returned. 
		*/
		get?( key?:string ): any;
		/** [Method] Gets the number of items in the hash  
		* @returns Number The number of items in the hash. 
		*/
		getCount?(): number;
		/** [Method] Extracts the key from an object  
		* @param o Object The object to get the key from 
		* @returns String The key to use. 
		*/
		getKey?( o?:any ): string;
		/** [Method] Return all of the keys in the hash  
		* @returns Array An array of keys. 
		*/
		getKeys?(): any[];
		/** [Method] Return all of the values in the hash  
		* @returns Array An array of values. 
		*/
		getValues?(): any[];
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Remove an item from the hash  
		* @param o Object The value of the item to remove. 
		* @returns Boolean True if the item was successfully removed. 
		*/
		remove?( o?:any ): boolean;
		/** [Method] Remove an item from the hash  
		* @param key String The key to remove. 
		* @returns Boolean True if the item was successfully removed. 
		*/
		removeAtKey?( key?:string ): boolean;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Replaces an item in the hash  
		* @param key String The key of the item. 
		* @param value Object The new value for the item. 
		* @returns Object The new value of the item. 
		*/
		replace?( key?:string, value?:any ): any;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.util {
	export interface IHistory extends Ext.IBase,Ext.util.IObservable {
	}
	export class History {
		/** [Method] Add a new token to the history stack  
		* @param token String The value that defines a particular application-specific history state 
		* @param preventDuplicates Boolean When true, if the passed token matches the current token it will not save a new history step. Set to false if the same state can be saved more than once at the same history stack location. 
		*/
		static add( token?:string, preventDuplicates?:boolean ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Programmatically steps back one step in browser history equivalent to the user pressing the Back button */
		static back(): void;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Programmatically steps forward one step in browser history equivalent to the user pressing the Forward button */
		static forward(): void;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Retrieves the currently active history token  
		* @returns String The token 
		*/
		static getToken(): string;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Initializes the global History instance  
		* @param onReady Function A callback function that will be called once the history component is fully initialized. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to the browser window. 
		*/
		static init( onReady?:any, scope?:any ): void;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext {
	export interface IHistory extends Ext.IBase,Ext.util.IObservable {
	}
	export class History {
		/** [Method] Add a new token to the history stack  
		* @param token String The value that defines a particular application-specific history state 
		* @param preventDuplicates Boolean When true, if the passed token matches the current token it will not save a new history step. Set to false if the same state can be saved more than once at the same history stack location. 
		*/
		static add( token?:string, preventDuplicates?:boolean ): void;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		static addEvents( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addListener( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static addManagedListener( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Programmatically steps back one step in browser history equivalent to the user pressing the Back button */
		static back(): void;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		static clearListeners(): void;
		/** [Method] Removes all managed listeners for this object  */
		static clearManagedListeners(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		static enableBubble( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEvent( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		static fireEventArgs( eventName?:string, args?:any[] ): boolean;
		/** [Method] Programmatically steps forward one step in browser history equivalent to the user pressing the Forward button */
		static forward(): void;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Retrieves the currently active history token  
		* @returns String The token 
		*/
		static getToken(): string;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		static hasListener( eventName?:string ): boolean;
		/** [Method] Initializes the global History instance  
		* @param onReady Function A callback function that will be called once the history component is fully initialized. 
		* @param scope Object The scope (this reference) in which the callback is executed. Defaults to the browser window. 
		*/
		static init( onReady?:any, scope?:any ): void;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static mon( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static mun( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		static on( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		static relayEvents( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static removeListener( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		static removeManagedListener( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		static resumeEvent( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		static resumeEvents(): void;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		static suspendEvent( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		static suspendEvents( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		static un( eventName?:string, fn?:any, scope?:any ): void;
	}
}
declare module Ext.util {
	export interface IInflector extends Ext.IBase {
	}
	export class Inflector {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Returns the correct Model name for a given string  
		* @param word String The word to classify 
		* @returns String The classified version of the word 
		*/
		static classify( word?:string ): string;
		/** [Method] Removes all registered pluralization rules */
		static clearPlurals(): void;
		/** [Method] Removes all registered singularization rules */
		static clearSingulars(): void;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Returns true if the given word is transnumeral the word is its own singular and plural form  e g  
		* @param word String The word to test 
		* @returns Boolean True if the word is transnumeral 
		*/
		static isTransnumeral( word?:string ): boolean;
		/** [Method] Ordinalizes a given number by adding a prefix such as st nd rd or th based on the last digit of the number  
		* @param number Number The number to ordinalize 
		* @returns String The ordinalized number 
		*/
		static ordinalize( number?:number ): string;
		/** [Method] Adds a new pluralization rule to the Inflector  
		* @param matcher RegExp The matcher regex 
		* @param replacer String The replacement string, which can reference matches from the matcher argument 
		*/
		static plural( matcher?:RegExp, replacer?:string ): void;
		/** [Method] Returns the pluralized form of a word e g  
		* @param word String The word to pluralize 
		* @returns String The pluralized form of the word 
		*/
		static pluralize( word?:string ): string;
		/** [Method] Adds a new singularization rule to the Inflector  
		* @param matcher RegExp The matcher regex 
		* @param replacer String The replacement string, which can reference matches from the matcher argument 
		*/
		static singular( matcher?:RegExp, replacer?:string ): void;
		/** [Method] Returns the singularized form of a word e g  
		* @param word String The word to singularize 
		* @returns String The singularized form of the word 
		*/
		static singularize( word?:string ): string;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
	}
}
declare module Ext.util {
	export interface IKeyMap extends Ext.IBase {
		/** [Config Option] (Object/Object[][]) */
		binding?: any;
		/** [Config Option] (String) */
		eventName?: string;
		/** [Config Option] (Boolean) */
		ignoreInputFields?: boolean;
		/** [Config Option] (Function) */
		processEvent?: any;
		/** [Config Option] (Object) */
		processEventScope?: any;
		/** [Config Option] (Ext.Component/Ext.Element/HTMLElement/String) */
		target?: any;
		/** [Method] Add a new binding to this KeyMap  
		* @param binding Object/Object[] A single KeyMap config or an array of configs. The following config object properties are supported: 
		*/
		addBinding?( binding?:any ): void;
		/** [Method] Destroys the KeyMap instance and removes all handlers  
		* @param removeTarget Boolean True to also remove the target 
		*/
		destroy?( removeTarget?:boolean ): void;
		/** [Method] Disable this KeyMap */
		disable?(): void;
		/** [Method] Enables this KeyMap */
		enable?(): void;
		/** [Method] Returns true if this KeyMap is enabled 
		* @returns Boolean 
		*/
		isEnabled?(): boolean;
		/** [Method] Shorthand for adding a single key listener  
		* @param key Number/Number[]/Object Either the numeric key code, array of key codes or an object with the following options: {key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)} 
		* @param fn Function The function to call 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		on?( key?:any, fn?:any, scope?:any ): void;
		/** [Method] Remove a binding from this KeyMap  
		* @param binding Object See for options 
		*/
		removeBinding?( binding?:any ): void;
		/** [Method] Convenience function for setting disabled enabled by boolean  
		* @param disabled Boolean 
		*/
		setDisabled?( disabled?:boolean ): void;
		/** [Method] Shorthand for removing a single key listener  
		* @param key Number/Number[]/Object Either the numeric key code, array of key codes or an object with the following options: {key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)} 
		* @param fn Function The function to call 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		un?( key?:any, fn?:any, scope?:any ): void;
	}
}
declare module Ext {
	export interface IKeyMap extends Ext.IBase {
		/** [Config Option] (Object/Object[][]) */
		binding?: any;
		/** [Config Option] (String) */
		eventName?: string;
		/** [Config Option] (Boolean) */
		ignoreInputFields?: boolean;
		/** [Config Option] (Function) */
		processEvent?: any;
		/** [Config Option] (Object) */
		processEventScope?: any;
		/** [Config Option] (Ext.Component/Ext.Element/HTMLElement/String) */
		target?: any;
		/** [Method] Add a new binding to this KeyMap  
		* @param binding Object/Object[] A single KeyMap config or an array of configs. The following config object properties are supported: 
		*/
		addBinding?( binding?:any ): void;
		/** [Method] Destroys the KeyMap instance and removes all handlers  
		* @param removeTarget Boolean True to also remove the target 
		*/
		destroy?( removeTarget?:boolean ): void;
		/** [Method] Disable this KeyMap */
		disable?(): void;
		/** [Method] Enables this KeyMap */
		enable?(): void;
		/** [Method] Returns true if this KeyMap is enabled 
		* @returns Boolean 
		*/
		isEnabled?(): boolean;
		/** [Method] Shorthand for adding a single key listener  
		* @param key Number/Number[]/Object Either the numeric key code, array of key codes or an object with the following options: {key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)} 
		* @param fn Function The function to call 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		on?( key?:any, fn?:any, scope?:any ): void;
		/** [Method] Remove a binding from this KeyMap  
		* @param binding Object See for options 
		*/
		removeBinding?( binding?:any ): void;
		/** [Method] Convenience function for setting disabled enabled by boolean  
		* @param disabled Boolean 
		*/
		setDisabled?( disabled?:boolean ): void;
		/** [Method] Shorthand for removing a single key listener  
		* @param key Number/Number[]/Object Either the numeric key code, array of key codes or an object with the following options: {key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)} 
		* @param fn Function The function to call 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the browser window. 
		*/
		un?( key?:any, fn?:any, scope?:any ): void;
	}
}
declare module Ext.util {
	export interface IKeyNav extends Ext.IBase {
		/** [Config Option] (String) */
		defaultEventAction?: string;
		/** [Config Option] (Boolean) */
		disabled?: boolean;
		/** [Config Option] (String) */
		eventName?: string;
		/** [Config Option] (Boolean) */
		forceKeyDown?: boolean;
		/** [Config Option] (Boolean) */
		ignoreInputFields?: boolean;
		/** [Config Option] (Ext.util.KeyMap) */
		keyMap?: Ext.util.IKeyMap;
		/** [Config Option] (Function) */
		processEvent?: any;
		/** [Config Option] (Object) */
		processEventScope?: any;
		/** [Config Option] (Ext.Component/Ext.Element/HTMLElement/String) */
		target?: any;
		/** [Method] Destroy this KeyNav  
		* @param removeEl Boolean Pass true to remove the element associated with this KeyNav. 
		*/
		destroy?( removeEl?:boolean ): void;
		/** [Method] Disables this KeyNav  */
		disable?(): void;
		/** [Method] Enables this KeyNav  */
		enable?(): void;
		/** [Method] Convenience function for setting disabled enabled by boolean  
		* @param disabled Boolean 
		*/
		setDisabled?( disabled?:boolean ): void;
	}
}
declare module Ext {
	export interface IKeyNav extends Ext.IBase {
		/** [Config Option] (String) */
		defaultEventAction?: string;
		/** [Config Option] (Boolean) */
		disabled?: boolean;
		/** [Config Option] (String) */
		eventName?: string;
		/** [Config Option] (Boolean) */
		forceKeyDown?: boolean;
		/** [Config Option] (Boolean) */
		ignoreInputFields?: boolean;
		/** [Config Option] (Ext.util.KeyMap) */
		keyMap?: Ext.util.IKeyMap;
		/** [Config Option] (Function) */
		processEvent?: any;
		/** [Config Option] (Object) */
		processEventScope?: any;
		/** [Config Option] (Ext.Component/Ext.Element/HTMLElement/String) */
		target?: any;
		/** [Method] Destroy this KeyNav  
		* @param removeEl Boolean Pass true to remove the element associated with this KeyNav. 
		*/
		destroy?( removeEl?:boolean ): void;
		/** [Method] Disables this KeyNav  */
		disable?(): void;
		/** [Method] Enables this KeyNav  */
		enable?(): void;
		/** [Method] Convenience function for setting disabled enabled by boolean  
		* @param disabled Boolean 
		*/
		setDisabled?( disabled?:boolean ): void;
	}
}
declare module Ext.util {
	export interface ILruCache extends Ext.util.IHashMap {
		/** [Config Option] (Number) */
		maxSize?: number;
		/** [Method] Adds an item to the collection  
		* @param key Object 
		* @param newValue Object 
		* @returns Object The item added. 
		*/
		add?( key?:any, newValue?:any ): any;
		/** [Method] Removes all items from the hash  
		* @param initial Object 
		* @returns Ext.util.HashMap this 
		*/
		clear?( initial?:any ): Ext.util.IHashMap;
		/** [Method] Performs a shallow copy on this haLruCachesh  
		* @returns Ext.util.HashMap The new hash object. 
		*/
		clone?(): Ext.util.IHashMap;
		/** [Method] Executes the specified function once for each item in the cache  
		* @param fn Function The function to execute. 
		* @param scope Object The scope (this reference) to execute in. Defaults to this LruCache. 
		* @param reverse Boolean Pass true to iterate the list in reverse (most recent first) order. 
		* @returns Ext.util.LruCache this 
		*/
		each?( fn?:any, scope?:any, reverse?:boolean ): Ext.util.ILruCache;
		/** [Method] Retrieves an item with a particular key  
		* @param key Object 
		* @returns Object The value at that key. If it doesn't exist, undefined is returned. 
		*/
		get?( key?:any ): any;
		/** [Method] Purge the least recently used entries if the maxSize has been exceeded  */
		prune?(): void;
	}
}
declare module Ext.util {
	export interface IMemento extends Ext.IBase {
		/** [Property] (Object) */
		target?: any;
		/** [Method] Captures the specified properties from the target object in this memento  
		* @param props String/String[] The property or array of properties to capture. 
		* @param target Object The object from which to capture properties. 
		*/
		capture?( props?:any, target?:any ): void;
		/** [Method] Removes the specified properties from this memento  
		* @param props String/String[] The property or array of properties to remove. 
		*/
		remove?( props?:any ): void;
		/** [Method] Restores the specified properties from this memento to the target object  
		* @param props String/String[] The property or array of properties to restore. 
		* @param clear Boolean True to remove the restored properties from this memento or false to keep them (default is true). 
		* @param target Object The object to which to restore properties. 
		*/
		restore?( props?:any, clear?:boolean, target?:any ): void;
		/** [Method] Restores all captured properties in this memento to the target object  
		* @param clear Boolean True to remove the restored properties from this memento or false to keep them (default is true). 
		* @param target Object The object to which to restore properties. 
		*/
		restoreAll?( clear?:boolean, target?:any ): void;
	}
}
declare module Ext.util {
	export interface IMixedCollection extends Ext.util.IAbstractMixedCollection,Ext.util.ISortable {
		/** [Config Option] (Boolean) */
		allowFunctions?: boolean;
		/** [Method] Calculates the insertion index of the new item based upon the comparison function passed or the current sort order  
		* @param newItem Object The new object to find the insertion position of. 
		* @param sorterFn Function The function to sort by. This is the same as the sorting function passed to sortBy. It accepts 2 items from this MixedCollection, and returns -1 0, or 1 depending on the relative sort positions of the 2 compared items. If omitted, a function generated from the currently defined set of sorters will be used. 
		* @returns Number The insertion point to add the new item into this MixedCollection at using insert 
		*/
		findInsertionIndex?( newItem?:any, sorterFn?:any ): number;
		/** [Method] Returns a comparator function which compares two items and returns 1 0 or 1 depending on the currently defined set  */
		generateComparator?(): void;
		/** [Method] Gets the first sorter from the sorters collection excluding any groupers that may be in place 
		* @returns Ext.util.Sorter The sorter, null if none exist 
		*/
		getFirstSorter?(): Ext.util.ISorter;
		/** [Method] Performs initialization of this mixin  */
		initSortable?(): void;
		/** [Method] Reorders each of the items based on a mapping from old index to new index  
		* @param mapping Object Mapping from old item index to new item index 
		*/
		reorder?( mapping?:any ): void;
		/** [Method] Sorts the data in the Store by one or more of its properties  
		* @param sorters String/Ext.util.Sorter[] Either a string name of one of the fields in this Store's configured Model, or an array of sorter configurations. 
		* @param direction String The overall direction to sort the data by. 
		* @returns Ext.util.Sorter[] 
		*/
		sort?( sorters?:any, direction?:string ): Ext.util.ISorter[];
		/** [Method] Sorts the collection by a single sorter function 
		* @param sorterFn Function The function to sort by 
		*/
		sortBy?( sorterFn?:any ): void;
		/** [Method] Sorts this collection by keys  
		* @param direction String 'ASC' or 'DESC'. Defaults to 'ASC'. 
		* @param fn Function Comparison function that defines the sort order. Defaults to sorting by case insensitive string. 
		*/
		sortByKey?( direction?:string, fn?:any ): void;
	}
}
declare module Ext.util {
	export interface IObservable extends Ext.IBase {
		/** [Config Option] (Object) */
		listeners?: any;
		/** [Property] (Object) */
		hasListeners?: any;
		/** [Property] (Boolean) */
		isObservable?: boolean;
		/** [Method] Adds the specified events to the list of events which this Observable may fire  
		* @param eventNames Object/String... Either an object with event names as properties with a value of true. For example: this.addEvents({  storeloaded: true,  storecleared: true });  Or any number of event names as separate parameters. For example: this.addEvents('storeloaded', 'storecleared'); 
		*/
		addEvents?( eventNames?:any ): void;
		/** [Method] Appends an event handler to this object  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addListener?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Adds listeners to any Observable object or Ext Element which are automatically removed when this Component is destr  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		addManagedListener?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Removes all listeners for this object including the managed listeners */
		clearListeners?(): void;
		/** [Method] Removes all managed listeners for this object  */
		clearManagedListeners?(): void;
		/** [Method] Enables events fired by this Observable to bubble up an owner hierarchy by calling this getBubbleTarget  if present  
		* @param eventNames String/String[] The event name to bubble, or an Array of event names. 
		*/
		enableBubble?( eventNames?:any ): void;
		/** [Method] Fires the specified event with the passed parameters minus the event name plus the options object passed to addList  
		* @param eventName String The name of the event to fire. 
		* @param args Object... Variable number of parameters are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEvent?( eventName:string, ...args:any[] ): boolean;
		/** [Method] Fires the specified event with the passed parameter list  
		* @param eventName String The name of the event to fire. 
		* @param args Object[] An array of parameters which are passed to handlers. 
		* @returns Boolean returns false if any of the handlers return false otherwise it returns true. 
		*/
		fireEventArgs?( eventName?:string, args?:any[] ): boolean;
		/** [Method] Checks to see if this object has any listeners for a specified event or whether the event bubbles  
		* @param eventName String The name of the event to check for 
		* @returns Boolean true if the event is being listened for or bubbles, else false 
		*/
		hasListener?( eventName?:string ): boolean;
		/** [Method] Shorthand for addManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item to which to add a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		* @param options Object If the ename parameter was an event name, this is the addListener options. 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.mon({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		mon?( item?:any, ename?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Shorthand for removeManagedListener  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		mun?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Shorthand for addListener  
		* @param eventName String/Object The name of the event to listen for. May also be an object who's property names are event names. 
		* @param fn Function The method the event invokes, or if scope is specified, the name* of the method within the specified scope. Will be called with arguments given to Ext.util.Observable.fireEvent plus the options parameter described below. 
		* @param scope Object The scope (this reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. 
		* @param options Object An object containing handler configuration.  Note: Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.  This object may contain any of the following properties: 
		* @returns Object Only when the destroyable option is specified.  A Destroyable object. An object which implements the destroy method which removes all listeners added in this call. For example:  this.btnListeners = = myButton.on({  destroyable: true  mouseover:  function() { console.log('mouseover'); },  mouseout: function() { console.log('mouseout'); },  click:  function() { console.log('click'); } }); And when those listeners need to be removed:  Ext.destroy(this.btnListeners); or  this.btnListeners.destroy();  
		*/
		on?( eventName?:any, fn?:any, scope?:any, options?:any ): any;
		/** [Method] Relays selected events from the specified Observable as if the events were fired by this  
		* @param origin Object The Observable whose events this object is to relay. 
		* @param events String[] Array of event names to relay. 
		* @param prefix String A common prefix to prepend to the event names. For example: this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Now the grid will forward 'load' and 'clear' events of store as 'storeload' and 'storeclear'. 
		* @returns Object A Destroyable object. An object which implements the destroy method which, when destroyed, removes all relayers. For example: this.storeRelayers = this.relayEvents(this.getStore(), ['load', 'clear'], 'store');  Can be undone by calling Ext.destroy(this.storeRelayers);  or this.store.relayers.destroy(); 
		*/
		relayEvents?( origin?:any, events?:string[], prefix?:string ): any;
		/** [Method] Removes an event handler  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		removeListener?( eventName?:string, fn?:any, scope?:any ): void;
		/** [Method] Removes listeners that were added by the mon method  
		* @param item Ext.util.Observable/Ext.Element The item from which to remove a listener/listeners. 
		* @param ename Object/String The event name, or an object containing event name properties. 
		* @param fn Function If the ename parameter was an event name, this is the handler function. 
		* @param scope Object If the ename parameter was an event name, this is the scope (this reference) in which the handler function is executed. 
		*/
		removeManagedListener?( item?:any, ename?:any, fn?:any, scope?:any ): void;
		/** [Method] Resumes firing of the named event s 
		* @param eventName String... Multiple event names to resume. 
		*/
		resumeEvent?( ...eventName:any[] ): void;
		/** [Method] Resumes firing events see suspendEvents */
		resumeEvents?(): void;
		/** [Method] Suspends firing of the named event s 
		* @param eventName String... Multiple event names to suspend. 
		*/
		suspendEvent?( ...eventName:any[] ): void;
		/** [Method] Suspends the firing of all events  
		* @param queueSuspended Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events. 
		*/
		suspendEvents?( queueSuspended?:boolean ): void;
		/** [Method] Shorthand for removeListener  
		* @param eventName String The type of event the handler was associated with. 
		* @param fn Function The handler to remove. This must be a reference to the function passed into the Ext.util.Observable.addListener call. 
		* @param scope Object The scope originally specified for the handler. It must be the same as the scope argument specified in the original call to Ext.util.Observable.addListener or the listener will not be removed. 
		*/
		un?( eventName?:string, fn?:any, scope?:any ): void;
	}
	export class Observable {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Starts capture on the specified Observable  
		* @param o Ext.util.Observable The Observable to capture events from. 
		* @param fn Function The function to call when an event is fired. 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the Observable firing the event. 
		*/
		static capture( o?:Ext.util.IObservable, fn?:any, scope?:any ): void;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Sets observability on the passed class constructor  
		* @param c Function The class constructor to make observable. 
		* @param listeners Object An object containing a series of listeners to add. See addListener. 
		*/
		static observe( c?:any, listeners?:any ): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
		/** [Method] Removes all added captures from the Observable  
		* @param o Ext.util.Observable The Observable to release 
		*/
		static releaseCapture( o?:Ext.util.IObservable ): void;
	}
}
declare module Ext.util {
	export interface IOffset extends Ext.IBase {
	}
}
declare module Ext.util {
	export interface IPoint extends Ext.util.IRegion {
		/** [Method] Compare this point and another point 
		* @param p Ext.util.Point/Object The point to compare with, either an instance of Ext.util.Point or an object with left and top properties 
		* @returns Boolean Returns whether they are equivalent 
		*/
		equals?( p?:any ): boolean;
		/** [Method] Determins whether this Point contained by the passed Region Component or element  
		* @param region Ext.util.Region/Ext.Component/Ext.dom.Element/HTMLElement The rectangle to check that this Point is within. 
		* @returns Boolean 
		*/
		isContainedBy?( region?:any ): boolean;
		/** [Method] Whether the given point is not away from this point within the given threshold amount  
		* @param p Ext.util.Point/Object The point to check with, either an instance of Ext.util.Point or an object with left and top properties 
		* @param threshold Object/Number Can be either an object with x and y properties or a number 
		* @returns Boolean 
		*/
		isWithin?( p?:any, threshold?:any ): boolean;
		/** [Method] Compare this point with another point when the x and y values of both points are rounded  
		* @param p Ext.util.Point/Object The point to compare with, either an instance of Ext.util.Point or an object with x and y properties 
		* @returns Boolean 
		*/
		roundedEquals?( p?:any ): boolean;
		/** [Method] Returns a human eye friendly string that represents this point useful for debugging 
		* @returns String 
		*/
		toString?(): string;
		/** [Method] Alias for translateBy 
		* @param x Ext.util.Offset/Object Object containing the x and y properties. Or the x value is using the two argument form. 
		* @param y Number The y value unless using an Offset object. 
		* @returns Ext.util.Region this This Region 
		*/
		translate?( x?:any, y?:number ): Ext.util.IRegion;
	}
	export class Point {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Returns a new instance of Ext util Point base on the pageX  pageY values of the given event 
		* @param e Ext.EventObject/Event The event 
		* @returns Ext.util.Point 
		*/
		static fromEvent( e?:any ): Ext.util.IPoint;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext.util {
	export interface IPositionable extends Ext.IBase {
		/** [Method] Aligns the element with another element relative to the specified anchor points  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		alignTo?( element?:any, position?:string, offsets?:number[], animate?:any ): Ext.util.IPositionable;
		/** [Method] Anchors an element to another element and realigns it when the window is resized  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @param monitorScroll Boolean/Number True to monitor body scroll and reposition. If this parameter is a number, it is used as the buffer delay in milliseconds. 
		* @param callback Function The function to call after the animation finishes 
		* @returns Ext.util.Positionable this 
		*/
		anchorTo?( element?:any, position?:string, offsets?:number[], animate?:any, monitorScroll?:any, callback?:any ): Ext.util.IPositionable;
		/** [Method] Calculates the new x y position to move this Positionable into a constrain region  
		* @param constrainTo String/HTMLElement/Ext.Element/Ext.util.Region The Element or Region into which this Component is to be constrained. Defaults to the element into which this Positionable was rendered, or this Component's {@link Ext.Component.constrainTo. 
		* @param proposedPosition Number[] A proposed [X, Y] position to test for validity and to coerce into constraints instead of using this Positionable's current position. 
		* @param local Boolean The proposedPosition is local (relative to floatParent if a floating Component) 
		* @param proposedSize Number[] A proposed [width, height] size to use when calculating constraints instead of using this Positionable's current size. 
		* @returns Number[] If the element needs to be translated, the new [X, Y] position within constraints if possible, giving priority to keeping the top and left edge in the constrain region. Otherwise, false. 
		*/
		calculateConstrainedPosition?( constrainTo?:any, proposedPosition?:number[], local?:boolean, proposedSize?:number[] ): number[];
		/** [Method] Gets the x y coordinates to align this element with another element  
		* @param element Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or id of the element to align to. 
		* @param position String The position to align to 
		* @param offsets Number[] Offset the positioning by [x, y] 
		* @returns Number[] [x, y] 
		*/
		getAlignToXY?( element?:any, position?:string, offsets?:number[] ): number[];
		/** [Method] Gets the x y coordinates specified by the anchor position on the element  
		* @param anchor String The specified anchor position. See alignTo for details on supported anchor positions. 
		* @param local Boolean True to get the local (element top/left-relative) anchor position instead of page coordinates 
		* @param size Object An object containing the size to use for calculating anchor position {width: (target width), height: (target height)} (defaults to the element's current size) 
		* @returns Number[] [x, y] An array containing the element's x and y coordinates 
		*/
		getAnchorXY?( anchor?:string, local?:boolean, size?:any ): number[];
		/** [Method] Return an object defining the area of this Element which can be passed to setBox to set another Element s size locati  
		* @param contentBox Boolean If true a box for the content of the element is returned. 
		* @param local Boolean If true the element's left and top relative to its offsetParent are returned instead of page x/y. 
		* @returns Object box An object in the format: {  x: &lt;Element's X position&gt;,  y: &lt;Element's Y position&gt;,  left: &lt;Element's X position (an alias for x)&gt;,  top: &lt;Element's Y position (an alias for y)&gt;,  width: &lt;Element's width&gt;,  height: &lt;Element's height&gt;,  bottom: &lt;Element's lower bound&gt;,  right: &lt;Element's rightmost bound&gt; }  The returned object may also be addressed as an Array where index 0 contains the X position and index 1 contains the Y position. The result may also be used for setXY 
		*/
		getBox?( contentBox?:boolean, local?:boolean ): any;
		/** [Method] Returns the X Y vector by which this Positionable s element must be translated to make a best attempt to constrain  
		* @param constrainTo Ext.util.Positionable/HTMLElement/String/Ext.util.Region The Positionable, HTMLElement, element id, or Region into which the element is to be constrained. 
		* @param proposedPosition Number[] A proposed [X, Y] position to test for validity and to produce a vector for instead of using the element's current position 
		* @param proposedSize Number[] A proposed [width, height] size to constrain instead of using the element's current size 
		* @returns Number[]/Boolean If the element needs to be translated, an [X, Y] vector by which this element must be translated. Otherwise, false. 
		*/
		getConstrainVector?( constrainTo?:any, proposedPosition?:number[], proposedSize?:number[] ): any;
		/** [Method] Returns the x coordinate of this element reletive to its offsetParent  
		* @returns Number The local x coordinate 
		*/
		getLocalX?(): number;
		/** [Method] Returns the x and y coordinates of this element relative to its offsetParent  
		* @returns Number[] The local XY position of the element 
		*/
		getLocalXY?(): number[];
		/** [Method] Returns the y coordinate of this element reletive to its offsetParent  
		* @returns Number The local y coordinate 
		*/
		getLocalY?(): number;
		/** [Method] Returns the offsets of this element from the passed element  
		* @param offsetsTo Ext.util.Positionable/HTMLElement/String The Positionable, HTMLElement, or element id to get get the offsets from. 
		* @returns Number[] The XY page offsets (e.g. [100, -200]) 
		*/
		getOffsetsTo?( offsetsTo?:any ): number[];
		/** [Method] Returns a region object that defines the area of this element  
		* @returns Ext.util.Region A Region containing "top, left, bottom, right" properties. 
		*/
		getRegion?(): Ext.util.IRegion;
		/** [Method] Returns the content region of this element  
		* @returns Ext.util.Region A Region containing "top, left, bottom, right" member data. 
		*/
		getViewRegion?(): Ext.util.IRegion;
		/** [Method] Gets the current X position of the DOM element based on page coordinates  
		* @returns Number The X position of the element 
		*/
		getX?(): number;
		/** [Method] Gets the current position of the DOM element based on page coordinates  
		* @returns Number[] The XY position of the element 
		*/
		getXY?(): number[];
		/** [Method] Gets the current Y position of the DOM element based on page coordinates  
		* @returns Number The Y position of the element 
		*/
		getY?(): number;
		/** [Method] Move the element relative to its current position  
		* @param direction String Possible values are:  "l" (or "left") "r" (or "right") "t" (or "top", or "up") "b" (or "bottom", or "down")  
		* @param distance Number How far to move the element in pixels 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		*/
		move?( direction?:string, distance?:number, animate?:any ): void;
		/** [Method] Remove any anchor to this element  
		* @returns Ext.util.Positionable this 
		*/
		removeAnchor?(): Ext.util.IPositionable;
		/** [Method] Sets the element s box  
		* @param box Object The box to fill {x, y, width, height} 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		setBox?( box?:any, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the local x coordinate of this element using CSS style  
		* @param x Number The x coordinate. A value of null sets the left style to 'auto'. 
		* @returns Ext.util.Positionable this 
		*/
		setLocalX?( x?:number ): Ext.util.IPositionable;
		/** [Method] Sets the local x and y coordinates of this element using CSS style  
		* @param x Number/Array The x coordinate or an array containing [x, y]. A value of null sets the left style to 'auto' 
		* @param y Number The y coordinate, required if x is not an array. A value of null sets the top style to 'auto' 
		* @returns Ext.util.Positionable this 
		*/
		setLocalXY?( x?:any, y?:number ): Ext.util.IPositionable;
		/** [Method] Sets the local y coordinate of this element using CSS style  
		* @param y Number The y coordinate. A value of null sets the top style to 'auto'. 
		* @returns Ext.util.Positionable this 
		*/
		setLocalY?( y?:number ): Ext.util.IPositionable;
		/** [Method] Sets the element s position and size to the specified region  
		* @param region Ext.util.Region The region to fill 
		* @param animate Boolean/Object true for the default animation or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		setRegion?( region?:Ext.util.IRegion, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the X position of the DOM element based on page coordinates  
		* @param The Number X position 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		setX?( The?:number, animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the position of the DOM element in page coordinates  
		* @param pos Number[] Contains X &amp; Y [x, y] values for new position (coordinates are page-based) 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		setXY?( pos?:number[], animate?:any ): Ext.util.IPositionable;
		/** [Method] Sets the Y position of the DOM element based on page coordinates  
		* @param The Number Y position 
		* @param animate Boolean/Object True for the default animation, or a standard Element animation config object 
		* @returns Ext.util.Positionable this 
		*/
		setY?( The?:number, animate?:any ): Ext.util.IPositionable;
		/** [Method] Translates the passed page coordinates into left top css values for the element 
		* @param x Number/Array The page x or an array containing [x, y] 
		* @param y Number The page y, required if x is not an array 
		* @returns Object An object with left and top properties. e.g. {left: (value), top: (value)} 
		*/
		translatePoints?( x?:any, y?:number ): any;
	}
}
declare module Ext.util {
	export interface IProtoElement extends Ext.IBase {
		/** [Property] (String) */
		clsProp?: string;
		/** [Property] (String) */
		removedProp?: string;
		/** [Property] (Boolean) */
		styleIsText?: boolean;
		/** [Property] (String) */
		styleProp?: string;
		/** [Method] Adds class to the element  
		* @param cls String One or more classnames separated with spaces. 
		* @returns Ext.util.ProtoElement this 
		*/
		addCls?( cls?:string ): Ext.util.IProtoElement;
		/** [Method] Indicates that the current state of the object has been flushed to the DOM so we need to track any subsequent changes */
		flush?(): void;
		/** [Method] True if the element has given class  
		* @param cls String 
		* @returns Boolean 
		*/
		hasCls?( cls?:string ): boolean;
		/** [Method] Removes class from the element  
		* @param cls String One or more classnames separated with spaces. 
		* @returns Ext.util.ProtoElement this 
		*/
		removeCls?( cls?:string ): Ext.util.IProtoElement;
		/** [Method] Adds styles to the element  
		* @param prop String/Object The style property to be set, or an object of multiple styles. 
		* @param value String The value to apply to the given property. 
		* @returns Ext.util.ProtoElement this 
		*/
		setStyle?( prop?:any, value?:string ): Ext.util.IProtoElement;
		/** [Method] Writes style and class properties to given object  
		* @param to Object 
		* @returns Object to 
		*/
		writeTo?( to?:any ): any;
	}
}
declare module Ext.util {
	export interface IQueue extends Ext.IBase {
		/** [Method] Removes all items from the collection  */
		clear?(): void;
		/** [Method] Returns the number of items in the collection  
		* @returns Number the number of items in the collection. 
		*/
		getCount?(): number;
		/** [Method] Remove an item from the collection  
		* @param obj Object The item to remove. 
		* @returns Object The item removed or false if no item was removed. 
		*/
		remove?( obj?:any ): any;
	}
}
declare module Ext.util {
	export interface IRegion extends Ext.IBase {
		/** [Method] Modifies the current region to be adjusted by offsets  
		* @param top Number top offset 
		* @param right Number right offset 
		* @param bottom Number bottom offset 
		* @param left Number left offset 
		* @returns Ext.util.Region this 
		*/
		adjust?( top?:number, right?:number, bottom?:number, left?:number ): Ext.util.IRegion;
		/** [Method] Modifies the current region to be constrained to the targetRegion  
		* @param targetRegion Ext.util.Region 
		* @returns Ext.util.Region this 
		*/
		constrainTo?( targetRegion?:Ext.util.IRegion ): Ext.util.IRegion;
		/** [Method] Checks if this region completely contains the region that is passed in  
		* @param region Ext.util.Region 
		* @returns Boolean 
		*/
		contains?( region?:Ext.util.IRegion ): boolean;
		/** [Method] Create a copy of this Region  
		* @returns Ext.util.Region 
		*/
		copy?(): Ext.util.IRegion;
		/** [Method] Copy the values of another Region to this Region 
		* @param p Ext.util.Region The region to copy from. 
		* @returns Ext.util.Region This Region 
		*/
		copyFrom?( p?:Ext.util.IRegion ): Ext.util.IRegion;
		/** [Method] Check whether this region is equivalent to the given region 
		* @param region Ext.util.Region The region to compare with 
		* @returns Boolean 
		*/
		equals?( region?:Ext.util.IRegion ): boolean;
		/** [Method] Get the offset amount of a point outside the region 
		* @param axis String 
		* @param p Ext.util.Point the point 
		* @returns Ext.util.Offset 
		*/
		getOutOfBoundOffset?( axis?:string, p?:Ext.util.IPoint ): Ext.util.IOffset;
		/** [Method] Get the offset amount on the x axis 
		* @param p Number the offset 
		* @returns Number 
		*/
		getOutOfBoundOffsetX?( p?:number ): number;
		/** [Method] Get the offset amount on the y axis 
		* @param p Number the offset 
		* @returns Number 
		*/
		getOutOfBoundOffsetY?( p?:number ): number;
		/** [Method] Checks if this region intersects the region passed in  
		* @param region Ext.util.Region 
		* @returns Ext.util.Region/Boolean Returns the intersected region or false if there is no intersection. 
		*/
		intersect?( region?:Ext.util.IRegion ): any;
		/** [Method] Check whether the point  offset is out of bound 
		* @param axis String 
		* @param p Ext.util.Point/Number the point / offset 
		* @returns Boolean 
		*/
		isOutOfBound?( axis?:string, p?:any ): boolean;
		/** [Method] Check whether the offset is out of bound in the x axis 
		* @param p Number the offset 
		* @returns Boolean 
		*/
		isOutOfBoundX?( p?:number ): boolean;
		/** [Method] Check whether the offset is out of bound in the y axis 
		* @param p Number the offset 
		* @returns Boolean 
		*/
		isOutOfBoundY?( p?:number ): boolean;
		/** [Method] Round all the properties of this region 
		* @returns Ext.util.Region this This Region 
		*/
		round?(): Ext.util.IRegion;
		/** [Method] Translate this region by the given offset amount 
		* @param x Ext.util.Offset/Object Object containing the x and y properties. Or the x value is using the two argument form. 
		* @param y Number The y value unless using an Offset object. 
		* @returns Ext.util.Region this This Region 
		*/
		translateBy?( x?:any, y?:number ): Ext.util.IRegion;
		/** [Method] Returns the smallest region that contains the current AND targetRegion  
		* @param region Ext.util.Region 
		* @returns Ext.util.Region a new region 
		*/
		union?( region?:Ext.util.IRegion ): Ext.util.IRegion;
	}
	export class Region {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Creates a Region from a box Object which contains four numeric properties top right bottom and left  
		* @param o Object An object with top, right, bottom and left properties. 
		* @returns Ext.util.Region region The Region constructed based on the passed object 
		*/
		static from( o?:any ): Ext.util.IRegion;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Retrieves an Ext util Region for a particular element  
		* @param el String/HTMLElement/Ext.Element An element ID, htmlElement or Ext.Element representing an element in the document. 
		* @returns Ext.util.Region region 
		*/
		static getRegion( el?:any ): Ext.util.IRegion;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext.util {
	export interface IRenderable extends Ext.IBase {
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Handles autoRender  */
		doAutoRender?(): void;
		/** [Method] Ensures that this component is attached to document body  
		* @param runLayout Boolean True to run the component's layout. 
		*/
		ensureAttachedToBody?( runLayout?:boolean ): void;
		/** [Method] This function takes the position argument passed to onRender and returns a DOM element that you can use in the insert  
		* @param position String/Number/Ext.dom.Element/HTMLElement Index, element id or element you want to put this component before. 
		* @returns HTMLElement DOM element that you can use in the insertBefore 
		*/
		getInsertPosition?( position?:any ): HTMLElement;
		/** [Method] Initialized the renderData to be used when rendering the renderTpl  
		* @returns Object Object with keys and values that are going to be applied to the renderTpl 
		*/
		initRenderData?(): any;
		/** [Method] Template method called when this Component s DOM structure is created  
		* @param parentNode Ext.core.Element The parent Element in which this Component's encapsulating element is contained. 
		* @param containerIdx Number The index within the parent Container's child collection of this Component. 
		*/
		onRender?( parentNode?:Ext.core.IElement, containerIdx?:number ): void;
		/** [Method] Renders the Component into the passed HTML element  
		* @param container Ext.Element/HTMLElement/String The element this Component should be rendered into. If it is being created from existing markup, this should be omitted. 
		* @param position String/Number The element ID or DOM node index within the container before which this component will be inserted (defaults to appending to the end of the container) 
		*/
		render?( container?:any, position?:any ): void;
	}
}
declare module Ext.util {
	export interface ISortable extends Ext.IBase {
		/** [Config Option] (String) */
		defaultSortDirection?: string;
		/** [Config Option] (String) */
		sortRoot?: string;
		/** [Config Option] (Ext.util.Sorter[]/Object[]) */
		sorters?: any;
		/** [Property] (Boolean) */
		isSortable?: boolean;
		/** [Method] Returns a comparator function which compares two items and returns 1 0 or 1 depending on the currently defined set  */
		generateComparator?(): void;
		/** [Method] Gets the first sorter from the sorters collection excluding any groupers that may be in place 
		* @returns Ext.util.Sorter The sorter, null if none exist 
		*/
		getFirstSorter?(): Ext.util.ISorter;
		/** [Method] Performs initialization of this mixin  */
		initSortable?(): void;
		/** [Method] Sorts the data in the Store by one or more of its properties  
		* @param sorters String/Ext.util.Sorter[] Either a string name of one of the fields in this Store's configured Model, or an array of sorter configurations. 
		* @param direction String The overall direction to sort the data by. 
		* @returns Ext.util.Sorter[] 
		*/
		sort?( sorters?:any, direction?:string ): Ext.util.ISorter[];
	}
	export class Sortable {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Creates a single comparator function which encapsulates the passed Sorter array  
		* @param sorters Ext.util.Sorter[] The sorter set for which to create a comparator function 
		* @returns Function a function, which when passed two comparable objects returns the result of the whole sorter comparator functions. 
		*/
		static createComparator( sorters?:Ext.util.ISorter[] ): any;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext.util {
	export interface ISorter extends Ext.IBase {
		/** [Config Option] (String) */
		direction?: string;
		/** [Config Option] (String) */
		property?: string;
		/** [Config Option] (String) */
		root?: string;
		/** [Config Option] (Function) */
		sorterFn?: any;
		/** [Config Option] (Function) */
		transform?: any;
		/** [Method] Set the sorting direction for this sorter  
		* @param direction String The direction to sort in. Should be either 'ASC' or 'DESC'. 
		*/
		setDirection?( direction?:string ): void;
		/** [Method] Toggles the sorting direction for this sorter  */
		toggle?(): void;
		/** [Method] Update the sort function for this sorter  
		* @param fn Function A new sorter function for this sorter. If not specified it will use the default sorting function. 
		*/
		updateSortFunction?( fn?:any ): void;
	}
}
declare module Ext.util {
	export interface ITaskManager extends Ext.util.ITaskRunner {
	}
	export class TaskManager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Destroys this instance stopping all tasks that are currently running  */
		static destroy(): void;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Creates a new Task instance  
		* @param config Object The config object. For details on the supported properties, see start. 
		*/
		static newTask( config?:any ): void;
		/** [Method] Starts a new task  
		* @param task Object A config object that supports the following properties: 
		* @returns Object The task 
		*/
		static start( task?:any ): any;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Stops an existing running task  
		* @param task Object The task to stop 
		* @returns Object The task 
		*/
		static stop( task?:any ): any;
		/** [Method] Stops all tasks that are currently running  */
		static stopAll(): void;
	}
}
declare module Ext {
	export interface ITaskManager extends Ext.util.ITaskRunner {
	}
	export class TaskManager {
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Destroys this instance stopping all tasks that are currently running  */
		static destroy(): void;
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Creates a new Task instance  
		* @param config Object The config object. For details on the supported properties, see start. 
		*/
		static newTask( config?:any ): void;
		/** [Method] Starts a new task  
		* @param task Object A config object that supports the following properties: 
		* @returns Object The task 
		*/
		static start( task?:any ): any;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Stops an existing running task  
		* @param task Object The task to stop 
		* @returns Object The task 
		*/
		static stop( task?:any ): any;
		/** [Method] Stops all tasks that are currently running  */
		static stopAll(): void;
	}
}
declare module Ext.util {
	export interface ITaskRunner extends Ext.IBase {
		/** [Config Option] (Boolean) */
		fireIdleEvent?: boolean;
		/** [Config Option] (Number) */
		interval?: number;
		/** [Method] Destroys this instance stopping all tasks that are currently running  */
		destroy?(): void;
		/** [Method] Creates a new Task instance  
		* @param config Object The config object. For details on the supported properties, see start. 
		*/
		newTask?( config?:any ): void;
		/** [Method] Starts a new task  
		* @param task Object A config object that supports the following properties: 
		* @returns Object The task 
		*/
		start?( task?:any ): any;
		/** [Method] Stops an existing running task  
		* @param task Object The task to stop 
		* @returns Object The task 
		*/
		stop?( task?:any ): any;
		/** [Method] Stops all tasks that are currently running  */
		stopAll?(): void;
	}
}
declare module Ext.util.taskrunner {
	export interface ITask {
		/** [Property] (Boolean) */
		fireOnStart?: boolean;
		/** [Method] Destroys this instance stopping this task s execution  */
		destroy?(): void;
		/** [Method] Restarts this task clearing it duration expiration and run count  
		* @param interval Number Optionally reset this task's interval. 
		*/
		restart?( interval?:number ): void;
		/** [Method] Starts this task if it is not already started  
		* @param interval Number Optionally reset this task's interval. 
		*/
		start?( interval?:number ): void;
		/** [Method] Stops this task  */
		stop?(): void;
	}
}
declare module Ext.util {
	export interface ITextMetrics extends Ext.IBase {
		/** [Method] Binds this TextMetrics instance to a new element 
		* @param el String/HTMLElement/Ext.Element The element or its ID. 
		*/
		bind?( el?:any ): void;
		/** [Method] Destroy this instance */
		destroy?(): void;
		/** [Method] Returns the measured height of the specified text 
		* @param text String The text to measure 
		* @returns Number height The height in pixels 
		*/
		getHeight?( text?:string ): number;
		/** [Method] Returns the size of the specified text based on the internal element s style and width properties 
		* @param text String The text to measure 
		* @returns Object An object containing the text's size {width: (width), height: (height)} 
		*/
		getSize?( text?:string ): any;
		/** [Method] Returns the measured width of the specified text 
		* @param text String The text to measure 
		* @returns Number width The width in pixels 
		*/
		getWidth?( text?:string ): number;
		/** [Method] Sets a fixed width on the internal measurement element  
		* @param width Number The width to set on the element 
		*/
		setFixedWidth?( width?:number ): void;
	}
	export class TextMetrics {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Destroy the TextMetrics instance created by measure  */
		static destroy(): void;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Measures the size of the specified text 
		* @param el String/HTMLElement The element, dom node or id from which to copy existing CSS styles that can affect the size of the rendered text 
		* @param text String The text to measure 
		* @param fixedWidth Number If the text will be multiline, you have to set a fixed width in order to accurately measure the text height 
		* @returns Object An object containing the text's size {width: (width), height: (height)} 
		*/
		static measure( el?:any, text?:string, fixedWidth?:number ): any;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext {
	export interface IVersion {
		/** [Method] Returns whether this version equals to the supplied argument 
		* @param target String/Number The version to compare with 
		* @returns Boolean True if this version equals to the target, false otherwise 
		*/
		equals?( target?:any ): boolean;
		/** [Method] Returns the build component value 
		* @returns Number build 
		*/
		getBuild?(): number;
		/** [Method] Returns the major component value 
		* @returns Number major 
		*/
		getMajor?(): number;
		/** [Method] Returns the minor component value 
		* @returns Number minor 
		*/
		getMinor?(): number;
		/** [Method] Returns the patch component value 
		* @returns Number patch 
		*/
		getPatch?(): number;
		/** [Method] Returns the release component value 
		* @returns Number release 
		*/
		getRelease?(): number;
		/** [Method] Returns shortVersion version without dots and release 
		* @returns String 
		*/
		getShortVersion?(): string;
		/** [Method] Convenient alias to isGreaterThan 
		* @param target String/Number 
		* @returns Boolean 
		*/
		gt?( target?:any ): boolean;
		/** [Method] Convenient alias to isGreaterThanOrEqual 
		* @param target String/Number 
		* @returns Boolean 
		*/
		gtEq?( target?:any ): boolean;
		/** [Method] Returns whether this version if greater than the supplied argument 
		* @param target String/Number The version to compare with 
		* @returns Boolean True if this version if greater than the target, false otherwise 
		*/
		isGreaterThan?( target?:any ): boolean;
		/** [Method] Returns whether this version if greater than or equal to the supplied argument 
		* @param target String/Number The version to compare with 
		* @returns Boolean True if this version if greater than or equal to the target, false otherwise 
		*/
		isGreaterThanOrEqual?( target?:any ): boolean;
		/** [Method] Returns whether this version if smaller than the supplied argument 
		* @param target String/Number The version to compare with 
		* @returns Boolean True if this version if smaller than the target, false otherwise 
		*/
		isLessThan?( target?:any ): boolean;
		/** [Method] Returns whether this version if less than or equal to the supplied argument 
		* @param target String/Number The version to compare with 
		* @returns Boolean True if this version if less than or equal to the target, false otherwise 
		*/
		isLessThanOrEqual?( target?:any ): boolean;
		/** [Method] Convenient alias to isLessThan 
		* @param target String/Number 
		* @returns Boolean 
		*/
		lt?( target?:any ): boolean;
		/** [Method] Convenient alias to isLessThanOrEqual 
		* @param target String/Number 
		* @returns Boolean 
		*/
		ltEq?( target?:any ): boolean;
		/** [Method] Returns whether this version matches the supplied argument  
		* @param target String/Number The version to compare with 
		* @returns Boolean True if this version matches the target, false otherwise 
		*/
		match?( target?:any ): boolean;
		/** [Method] Returns this format  major minor patch build release 
		* @returns Number[] 
		*/
		toArray?(): number[];
	}
	export class Version {
		/** [Method] Compare 2 specified versions starting from left to right  
		* @param current String The current version to compare to 
		* @param target String The target version to compare to 
		* @returns Number Returns -1 if the current version is smaller than the target version, 1 if greater, and 0 if they're equivalent 
		*/
		static compare( current?:string, target?:string ): number;
		/** [Method] Converts a version component to a comparable value 
		* @param value Object The value to convert 
		* @returns Object 
		*/
		static getComponentValue( value?:any ): any;
	}
}
declare module Ext.view {
	export interface IAbstractView extends Ext.IComponent,Ext.util.IBindable {
		/** [Config Option] (Boolean) */
		blockRefresh?: boolean;
		/** [Config Option] (Boolean) */
		deferEmptyText?: boolean;
		/** [Config Option] (Boolean) */
		deferInitialRefresh?: boolean;
		/** [Config Option] (Boolean) */
		disableSelection?: boolean;
		/** [Config Option] (String) */
		emptyText?: string;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (String) */
		itemSelector?: string;
		/** [Config Option] (String/String[]/Ext.XTemplate) */
		itemTpl?: any;
		/** [Config Option] (Boolean/Object) */
		loadMask?: any;
		/** [Config Option] (String) */
		loadingCls?: string;
		/** [Config Option] (Number) */
		loadingHeight?: number;
		/** [Config Option] (String) */
		loadingText?: string;
		/** [Config Option] (Boolean) */
		multiSelect?: boolean;
		/** [Config Option] (String) */
		overItemCls?: string;
		/** [Config Option] (Boolean) */
		preserveScrollOnRefresh?: boolean;
		/** [Config Option] (String) */
		selectedItemCls?: string;
		/** [Config Option] (Boolean) */
		simpleSelect?: boolean;
		/** [Config Option] (Boolean) */
		singleSelect?: boolean;
		/** [Config Option] (Ext.data.Store) */
		store?: Ext.data.IStore;
		/** [Config Option] (String/String[]/Ext.XTemplate) */
		tpl?: any;
		/** [Config Option] (Boolean) */
		trackOver?: boolean;
		/** [Method] Allows addition of behavior after rendering is complete  */
		afterRender?(): void;
		/** [Method] Changes the data store bound to this view and refreshes it  
		* @param store Ext.data.Store The store to bind to this view 
		*/
		bindStore?( store?:Ext.data.IStore ): void;
		/** [Method] Binds listeners for this component to the store  
		* @param store Ext.data.AbstractStore The store to bind to 
		*/
		bindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
		/** [Method] Deselects all selected records  */
		clearSelections?(): void;
		/** [Method] Function which can be overridden which returns the data object passed to this DataView s template to render the whole  
		* @param records Ext.data.Model[] An Array of Ext.data.Models to be rendered into the DataView. 
		* @param startIndex Number the index number of the Record being prepared for rendering. 
		* @returns Object[] An Array of data objects to be processed by a repeating XTemplate. May also contain named properties. 
		*/
		collectData?( records?:Ext.data.IModel[], startIndex?:number ): any[];
		/** [Method] Deselects a record instance by record instance or index  
		* @param records Ext.data.Model[]/Number An array of records or an index 
		* @param suppressEvent Boolean Set to false to not fire a deselect event 
		*/
		deselect?( records?:any, suppressEvent?:boolean ): void;
		/** [Method] Returns the template node the passed child belongs to or null if it doesn t belong to one  
		* @param node HTMLElement 
		* @returns HTMLElement The template node 
		*/
		findItemByChild?( node?:HTMLElement ): HTMLElement;
		/** [Method] Returns the template node by the Ext EventObject or null if it is not found  
		* @param e Ext.EventObject 
		*/
		findTargetByEvent?( e?:Ext.IEventObject ): void;
		/** [Method] Gets a template node  
		* @param nodeInfo HTMLElement/String/Number/Ext.data.Model An HTMLElement template node, index of a template node, the id of a template node or the record associated with the node. 
		* @returns HTMLElement The node or null if it wasn't found 
		*/
		getNode?( nodeInfo?:any ): HTMLElement;
		/** [Method] Gets a range nodes  
		* @param start Number The index of the first node in the range 
		* @param end Number The index of the last node in the range 
		* @returns HTMLElement[] An array of nodes 
		*/
		getNodes?( start?:number, end?:number ): HTMLElement[];
		/** [Method] Gets a record from a node 
		* @param node Ext.Element/HTMLElement The node to evaluate 
		* @returns Ext.data.Model record The Ext.data.Model object 
		*/
		getRecord?( node?:any ): Ext.data.IModel;
		/** [Method] Gets an array of the records from an array of nodes 
		* @param nodes HTMLElement[] The nodes to evaluate 
		* @returns Ext.data.Model[] records The Ext.data.Model objects 
		*/
		getRecords?( nodes?:HTMLElement[] ): Ext.data.IModel[];
		/** [Method] Gets the currently selected nodes  
		* @returns HTMLElement[] An array of HTMLElements 
		*/
		getSelectedNodes?(): HTMLElement[];
		/** [Method] Gets an array of the selected records 
		* @returns Ext.data.Model[] An array of Ext.data.Model objects 
		*/
		getSelectedRecords?(): Ext.data.IModel[];
		/** [Method] Gets the number of selected nodes  
		* @returns Number The node count 
		*/
		getSelectionCount?(): number;
		/** [Method] Gets the selection model for this view  
		* @returns Ext.selection.Model The selection model 
		*/
		getSelectionModel?(): Ext.selection.IModel;
		/** [Method] Returns the store associated with this DataView  
		* @returns Ext.data.Store The store 
		*/
		getStore?(): Ext.data.IStore;
		/** [Method] Gets the listeners to bind to a new store  
		* @returns Object The listeners to be bound to the store in object literal form. The scope may be omitted, it is assumed to be the current instance. 
		*/
		getStoreListeners?(): any;
		/** [Method] Finds the index of the passed node  
		* @param nodeInfo HTMLElement/String/Number/Ext.data.Model An HTMLElement template node, index of a template node, the id of a template node or a record associated with a node. 
		* @returns Number The index of the node or -1 
		*/
		indexOf?( nodeInfo?:any ): number;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] Returns true if the passed node is selected else false  
		* @param node HTMLElement/Number/Ext.data.Model The node, node index or record to check 
		* @returns Boolean True if selected, else false 
		*/
		isSelected?( node?:any ): boolean;
		/** [Method] Template method it is called when a new store is bound to the current instance  
		* @param store Object 
		* @param initial Object 
		* @param propName Object 
		*/
		onBindStore?( store?:any, initial?:any, propName?:any ): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Template method called when this Component s DOM structure is created  */
		onRender?(): void;
		/** [Method] Template method it is called when an existing store is unbound from the current instance  
		* @param store Object 
		*/
		onUnbindStore?( store?:any ): void;
		/** [Method] Function which can be overridden to provide custom formatting for each Record that is used by this DataView s templat  
		* @param data Object/Object[] The raw data object that was used to create the Record. 
		* @param recordIndex Number the index number of the Record being prepared for rendering. 
		* @param record Ext.data.Model The Record being prepared for rendering. 
		* @returns Array/Object The formatted data in a format expected by the internal template's overwrite() method. (either an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})) 
		*/
		prepareData?( data?:any, recordIndex?:number, record?:Ext.data.IModel ): any;
		/** [Method] Refreshes the view by reloading the data from the store and re rendering the template  */
		refresh?(): void;
		/** [Method] Refreshes an individual node s data from the store  
		* @param index Number The item's data index in the store 
		*/
		refreshNode?( index?:number ): void;
		/** [Method] Selects a record instance by record instance or index  
		* @param records Ext.data.Model[]/Number An array of records or an index 
		* @param keepExisting Boolean 
		* @param suppressEvent Boolean Set to false to not fire a select event 
		*/
		select?( records?:any, keepExisting?:boolean, suppressEvent?:boolean ): void;
		/** [Method] Unbinds listeners from this component to the store  
		* @param store Ext.data.AbstractStore The store to unbind from 
		*/
		unbindStoreListeners?( store?:Ext.data.IAbstractStore ): void;
	}
}
declare module Ext.view {
	export interface IBoundList extends Ext.view.IView,Ext.IQueryable {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		deferInitialRefresh?: boolean;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (Number) */
		pageSize?: number;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String/Boolean) */
		shadow?: any;
		/** [Config Option] (String/Ext.XTemplate) */
		tpl?: any;
		/** [Config Option] (Boolean) */
		trackOver?: boolean;
		/** [Property] (Ext.toolbar.Paging) */
		pagingToolbar?: Ext.toolbar.IPaging;
		/** [Method] Changes the data store bound to this view and refreshes it  
		* @param store Object 
		* @param initial Object 
		*/
		bindStore?( store?:any, initial?:any ): void;
		/** [Method] Retrieves the first direct child of this container which matches the passed selector or component  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching child Ext.Component (or null if no match was found). 
		*/
		child?( selector?:any ): any;
		/** [Method] Retrieves the first descendant of this container which matches the passed selector  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector or Ext.Component. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching descendant Ext.Component (or null if no match was found). 
		*/
		down?( selector?:any ): any;
		/** [Method] A method that returns the inner template for displaying items in the list  
		* @param displayField String The displayField for the BoundList. 
		* @returns String The inner template 
		*/
		getInnerTpl?( displayField?:string ): string;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Retrieves all descendant components which match the passed selector  
		* @param selector String Selector complying to an Ext.ComponentQuery selector. If no selector is specified all items will be returned. 
		* @returns Ext.Component[] Components which matched the selector 
		*/
		query?( selector?:string ): Ext.IComponent[];
		/** [Method] Retrieves all descendant components which match the passed function  
		* @param fn Function The matcher function. It will be called with a single argument, the component being tested. 
		* @param scope Object The scope in which to run the function. If not specified, it will default to the active component. 
		* @returns Ext.Component[] Components matched by the passed function 
		*/
		queryBy?( fn?:any, scope?:any ): Ext.IComponent[];
		/** [Method] Finds a component at any level under this container matching the id itemId  
		* @param id String The id to find 
		* @returns Ext.Component The matching id, null if not found 
		*/
		queryById?( id?:string ): Ext.IComponent;
		/** [Method] Refreshes the view by reloading the data from the store and re rendering the template  */
		refresh?(): void;
	}
}
declare module Ext {
	export interface IBoundList extends Ext.view.IView,Ext.IQueryable {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		deferInitialRefresh?: boolean;
		/** [Config Option] (String) */
		displayField?: string;
		/** [Config Option] (String) */
		itemCls?: string;
		/** [Config Option] (Number) */
		pageSize?: number;
		/** [Config Option] (Ext.XTemplate/String/String[]) */
		renderTpl?: any;
		/** [Config Option] (String/Boolean) */
		shadow?: any;
		/** [Config Option] (String/Ext.XTemplate) */
		tpl?: any;
		/** [Config Option] (Boolean) */
		trackOver?: boolean;
		/** [Property] (Ext.toolbar.Paging) */
		pagingToolbar?: Ext.toolbar.IPaging;
		/** [Method] Changes the data store bound to this view and refreshes it  
		* @param store Object 
		* @param initial Object 
		*/
		bindStore?( store?:any, initial?:any ): void;
		/** [Method] Retrieves the first direct child of this container which matches the passed selector or component  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching child Ext.Component (or null if no match was found). 
		*/
		child?( selector?:any ): any;
		/** [Method] Retrieves the first descendant of this container which matches the passed selector  
		* @param selector String/Ext.Component An Ext.ComponentQuery selector or Ext.Component. If no selector is specified, the first child will be returned. 
		* @returns Object Ext.Component The matching descendant Ext.Component (or null if no match was found). 
		*/
		down?( selector?:any ): any;
		/** [Method] A method that returns the inner template for displaying items in the list  
		* @param displayField String The displayField for the BoundList. 
		* @returns String The inner template 
		*/
		getInnerTpl?( displayField?:string ): string;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Retrieves all descendant components which match the passed selector  
		* @param selector String Selector complying to an Ext.ComponentQuery selector. If no selector is specified all items will be returned. 
		* @returns Ext.Component[] Components which matched the selector 
		*/
		query?( selector?:string ): Ext.IComponent[];
		/** [Method] Retrieves all descendant components which match the passed function  
		* @param fn Function The matcher function. It will be called with a single argument, the component being tested. 
		* @param scope Object The scope in which to run the function. If not specified, it will default to the active component. 
		* @returns Ext.Component[] Components matched by the passed function 
		*/
		queryBy?( fn?:any, scope?:any ): Ext.IComponent[];
		/** [Method] Finds a component at any level under this container matching the id itemId  
		* @param id String The id to find 
		* @returns Ext.Component The matching id, null if not found 
		*/
		queryById?( id?:string ): Ext.IComponent;
		/** [Method] Refreshes the view by reloading the data from the store and re rendering the template  */
		refresh?(): void;
	}
}
declare module Ext.view {
	export interface IBoundListKeyNav extends Ext.util.IKeyNav {
		/** [Config Option] (Ext.view.BoundList) */
		boundList?: Ext.view.IBoundList;
		/** [Method] Highlights the item at the given index  
		* @param index Number 
		*/
		highlightAt?( index?:number ): void;
		/** [Method] Triggers selection of the currently highlighted item according to the behavior of the configured SelectionModel  
		* @param e Object 
		*/
		selectHighlighted?( e?:any ): void;
	}
}
declare module Ext.view {
	export interface IDragZone extends Ext.dd.IDragZone {
		/** [Config Option] (Object/Boolean) */
		containerScroll?: any;
		/** [Method] Called when a mousedown occurs in this container  
		* @param e Object 
		* @returns Object The dragData 
		*/
		getDragData?( e?:any ): any;
		/** [Method] Called before a repair of an invalid drop to get the XY to animate to  
		* @param e Object 
		* @param data Object 
		* @returns Number[] The xy location (e.g. [100, 200]) 
		*/
		getRepairXY?( e?:any, data?:any ): number[];
		/** [Method] Sets up the DragDrop object  
		* @param id Object 
		* @param sGroup Object 
		* @param config Object 
		*/
		init?( id?:any, sGroup?:any, config?:any ): void;
		/** [Method] Called once drag threshold has been reached to initialize the proxy element  
		* @param x Object 
		* @param y Object 
		* @returns Boolean true to continue the drag, false to cancel 
		*/
		onInitDrag?( x?:any, y?:any ): boolean;
	}
}
declare module Ext.view {
	export interface IDropZone extends Ext.dd.IDropZone {
		/** [Method] Destroy this DragDrop instance */
		destroy?(): void;
		/** [Method] Returns a custom data object associated with the DOM node that is the target of the event  
		* @param e Object 
		* @returns Object data The custom data 
		*/
		getTargetFromEvent?( e?:any ): any;
		/** [Method] Moved out of the DropZone without dropping  
		* @param node Object 
		* @param dragZone Object 
		* @param e Object 
		* @param data Object 
		*/
		notifyOut?( node?:any, dragZone?:any, e?:any, data?:any ): void;
		/** [Method] Called when the DropZone determines that a Ext dd DragSource has been dropped on it but not on any of its registered  
		* @param dd Object 
		* @param e Object 
		* @param data Object 
		* @returns Boolean True if the drop was valid, else false 
		*/
		onContainerDrop?( dd?:any, e?:any, data?:any ): boolean;
		/** [Method] The mouse is past the end of all nodes or there are no nodes  
		* @param dd Object 
		* @param e Object 
		* @param data Object 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		onContainerOver?( dd?:any, e?:any, data?:any ): string;
		/** [Method] Called when the DropZone determines that a Ext dd DragSource has been dropped onto the drop node  
		* @param targetNode Object 
		* @param dragZone Object 
		* @param e Object 
		* @param data Object 
		* @returns Boolean True if the drop was valid, else false 
		*/
		onNodeDrop?( targetNode?:any, dragZone?:any, e?:any, data?:any ): boolean;
		/** [Method] The mouse is over a View node 
		* @param node Object 
		* @param dragZone Object 
		* @param e Object 
		* @param data Object 
		* @returns String status The CSS class that communicates the drop status back to the source so that the underlying Ext.dd.StatusProxy can be updated 
		*/
		onNodeOver?( node?:any, dragZone?:any, e?:any, data?:any ): string;
	}
}
declare module Ext.view {
	export interface INodeCache extends Ext.IBase {
		/** [Method] Removes all elements from this NodeCache  
		* @param removeDom Boolean True to also remove the elements from the document. 
		*/
		clear?( removeDom?:boolean ): void;
		/** [Method] Clears this NodeCache and adds the elements passed  
		* @param els HTMLElement[] An array of DOM elements from which to fill this NodeCache. 
		* @returns Ext.view.NodeCache this 
		*/
		fill?( els?:HTMLElement[] ): Ext.view.INodeCache;
		/** [Method] Find the index of the passed element within the composite collection  
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, or an Ext.dom.Element, or an HtmlElement to find within the composite collection. 
		* @returns Number The index of the passed Ext.dom.Element in the composite collection, or -1 if not found. 
		*/
		indexOf?( el?:any ): number;
		/** [Method] Removes the specified element s 
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, the Element itself, the index of the element in this composite or an array of any of those. 
		* @param removeDom Boolean True to also remove the element from the document 
		*/
		removeElement?( el?:any, removeDom?:boolean ): void;
		/** [Method] Replaces the specified element with the passed element  
		* @param el String/HTMLElement/Ext.Element/Number The id of an element, the Element itself, the index of the element in this composite to replace. 
		* @param replacement String/Ext.Element The id of an element or the Element itself. 
		* @param domReplace Boolean True to remove and replace the element in the document too. 
		* @returns Ext.view.NodeCache this 
		*/
		replaceElement?( el?:any, replacement?:any, domReplace?:boolean ): Ext.view.INodeCache;
		/** [Method] Appends prepends records depending on direction flag 
		* @param newRecords Ext.data.Model[] Items to append/prepend 
		* @param direction Number -1' = scroll up,0` = scroll down. 
		* @param removeCount Number The number of records to remove from the end. if scrolling down, rows are removed from the top and the new rows are added at the bottom. 
		*/
		scroll?( newRecords?:Ext.data.IModel[], direction?:number, removeCount?:number ): void;
	}
}
declare module Ext.view {
	export interface ITable extends Ext.view.IView {
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (String/Object) */
		componentLayout?: any;
		/** [Config Option] (Boolean) */
		enableTextSelection?: boolean;
		/** [Config Option] (String) */
		firstCls?: string;
		/** [Config Option] (String) */
		itemSelector?: string;
		/** [Config Option] (String) */
		lastCls?: string;
		/** [Config Option] (Boolean) */
		markDirty?: boolean;
		/** [Config Option] (String) */
		overItemCls?: string;
		/** [Config Option] (String) */
		selectedItemCls?: string;
		/** [Config Option] (Boolean) */
		stripeRows?: boolean;
		/** [Config Option] (Boolean) */
		trackOver?: boolean;
		/** [Method] Adds a CSS Class to a specific row  
		* @param rowInfo HTMLElement/String/Number/Ext.data.Model An HTMLElement, index or instance of a model representing this row 
		* @param cls String 
		*/
		addRowCls?( rowInfo?:any, cls?:string ): void;
		/** [Method] Sizes the passed header to fit the max content width  
		* @param header Ext.grid.column.Column/Number The header (or index of header) to auto size. 
		*/
		autoSizeColumn?( header?:any ): void;
		/** [Method] Invoked before the Component is destroyed  */
		beforeDestroy?(): void;
		/** [Method] Function which can be overridden which returns the data object passed to this DataView s template to render the whole  
		* @param records Object 
		* @param startIndex Object 
		* @returns Object[] An Array of data objects to be processed by a repeating XTemplate. May also contain named properties. 
		*/
		collectData?( records?:any, startIndex?:any ): any[];
		/** [Method] Expands a particular header to fit the max content width  
		* @param header Object 
		*/
		expandToFit?( header?:any ): void;
		/** [Method] Try to focus this component  
		* @param selectText Object 
		* @param delay Object 
		* @returns Ext.Component The focused Component. Usually this Component. Some Containers may delegate focus to a descendant Component (Windows can do this through their defaultFocus config option. 
		*/
		focus?( selectText?:any, delay?:any ): Ext.IComponent;
		/** [Method] Focuses a particular row and brings it into view  
		* @param row HTMLElement/String/Number/Ext.data.Model An HTMLElement template node, index of a template node, the id of a template node or the 
		* @param delay Boolean/Number Delay the focus this number of milliseconds (true for 10 milliseconds). record associated with the node. 
		*/
		focusRow?( row?:any, delay?:any ): void;
		/** [Method] Returns a CSS selector which selects the outermost element s in this view  */
		getBodySelector?(): void;
		/** [Method] Returns a CSS selector which selects a particular column if the desired header is passed or a general cell selector 
		* @param header Ext.grid.column.Column The column for which to return the selector. If omitted, the general cell selector which matches ant cell will be returned. 
		*/
		getCellSelector?( header?:Ext.grid.column.IColumn ): void;
		/** [Method] Returns a CSS selector which selects the element s which define the width of a column  
		* @param header Object 
		*/
		getColumnSizerSelector?( header?:any ): void;
		/** [Method] Returns a CSS selector which selects a row which contains cells  */
		getDataRowSelector?(): void;
		/** [Method] Get a reference to a feature 
		* @param id String The id of the feature 
		* @returns Ext.grid.feature.Feature The feature. Undefined if not found 
		*/
		getFeature?( id?:string ): Ext.grid.feature.IFeature;
		/** [Method] Returns a CSS selector which selects items of the view rendered by the rowTpl */
		getItemSelector?(): void;
		/** [Method] Returns the node given the passed Record or index or node  
		* @param nodeInfo HTMLElement/String/Number/Ext.data.Model The node or record 
		* @param dataRow Boolean true to return the data row (not the top level row if wrapped), false to return the top level row. 
		* @returns HTMLElement The node or null if it wasn't found 
		*/
		getNode?( nodeInfo?:any, dataRow?:boolean ): HTMLElement;
		/** [Method] Returns a CSS selector which selects the element which contains record nodes  */
		getNodeContainerSelector?(): void;
		/** [Method] Gets the current XY position of the component s underlying element  
		* @param record Object 
		* @param header Object 
		* @returns Number[] The XY position of the element (e.g., [100, 200]) 
		*/
		getPosition?( record?:any, header?:any ): number[];
		/** [Method] Gets a record from a node 
		* @param node Object 
		* @returns Ext.data.Model record The Ext.data.Model object 
		*/
		getRecord?( node?:any ): Ext.data.IModel;
		/** [Method] Override this function to apply custom CSS classes to rows during rendering  
		* @param record Ext.data.Model The record corresponding to the current row. 
		* @param index Number The row index. 
		* @param rowParams Object DEPRECATED. For row body use the getAdditionalData method of the rowbody feature. 
		* @param store Ext.data.Store The store this grid is bound to 
		* @returns String a CSS class name to add to the row. 
		*/
		getRowClass?( record?:Ext.data.IModel, index?:number, rowParams?:any, store?:Ext.data.IStore ): string;
		/** [Method] Finds the index of the passed node  
		* @param node Object 
		* @returns Number The index of the node or -1 
		*/
		indexOf?( node?:any ): number;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] Allows addition of behavior to the destroy operation  */
		onDestroy?(): void;
		/** [Method] Refreshes the grid view  */
		refresh?(): void;
		/** [Method] Removes a CSS Class from a specific row  
		* @param rowInfo HTMLElement/String/Number/Ext.data.Model An HTMLElement, index or instance of a model representing this row 
		* @param cls String 
		*/
		removeRowCls?( rowInfo?:any, cls?:string ): void;
		/** [Method] Navigates from the passed record by the passed increment which may be ve or ve Skips hidden records  
		* @param startRec Ext.data.Model The Record to start from. 
		* @param distance Number The distance to move from the record. May be +ve or -ve. 
		*/
		walkRecs?( startRec?:Ext.data.IModel, distance?:number ): void;
		/** [Method] Increments the passed row index by the passed increment which may be ve or ve Skips hidden rows  
		* @param startRow Number The zero-based row index to start from. 
		* @param distance Number The distance to move the row by. May be +ve or -ve. 
		*/
		walkRows?( startRow?:number, distance?:number ): void;
	}
}
declare module Ext.view {
	export interface ITableLayout extends Ext.layout.component.IAuto {
		/** [Method] Called before any calculation cycles to prepare for layout  
		* @param ownerContext Object 
		*/
		beginLayout?( ownerContext?:any ): void;
		/** [Method] Called to perform the calculations for this layout  
		* @param ownerContext Object 
		*/
		calculate?( ownerContext?:any ): void;
		/** [Method] This method is called after all layouts are complete and their calculations flushed to the DOM  */
		finishedLayout?(): void;
	}
}
declare module Ext.view {
	export interface IView extends Ext.view.IAbstractView {
		/** [Config Option] (Number) */
		mouseOverOutBuffer?: number;
		/** [Method] Un highlights the currently highlighted item if any  */
		clearHighlight?(): void;
		/** [Method] Focuses a node in the view  
		* @param rec Ext.data.Model The record associated to the node that is to be focused. 
		*/
		focusNode?( rec?:Ext.data.IModel ): void;
		/** [Method] Highlights a given item in the View  
		* @param item HTMLElement The item to highlight 
		*/
		highlightItem?( item?:HTMLElement ): void;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] Refreshes the view by reloading the data from the store and re rendering the template  */
		refresh?(): void;
	}
}
declare module Ext {
	export interface IDataView extends Ext.view.IAbstractView {
		/** [Config Option] (Number) */
		mouseOverOutBuffer?: number;
		/** [Method] Un highlights the currently highlighted item if any  */
		clearHighlight?(): void;
		/** [Method] Focuses a node in the view  
		* @param rec Ext.data.Model The record associated to the node that is to be focused. 
		*/
		focusNode?( rec?:Ext.data.IModel ): void;
		/** [Method] Highlights a given item in the View  
		* @param item HTMLElement The item to highlight 
		*/
		highlightItem?( item?:HTMLElement ): void;
		/** [Method] private */
		initComponent?(): void;
		/** [Method] Refreshes the view by reloading the data from the store and re rendering the template  */
		refresh?(): void;
	}
}
declare module Ext.window {
	export interface IMessageBox extends Ext.window.IWindow {
		/** [Config Option] (String) */
		closeAction?: string;
		/** [Config Option] (String) */
		cls?: string;
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (String) */
		hideMode?: string;
		/** [Config Option] (Ext.enums.Layout/Object) */
		layout?: any;
		/** [Config Option] (Number) */
		maxHeight?: number;
		/** [Config Option] (Number) */
		maxWidth?: number;
		/** [Config Option] (Number) */
		minHeight?: number;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (Boolean/Object) */
		resizable?: any;
		/** [Config Option] (Boolean/Number) */
		shrinkWrapDock?: any;
		/** [Config Option] (String) */
		title?: string;
		/** [Property] (Number) */
		CANCEL?: number;
		/** [Property] (String) */
		ERROR?: string;
		/** [Property] (String) */
		INFO?: string;
		/** [Property] (Number) */
		NO?: number;
		/** [Property] (Number) */
		OK?: number;
		/** [Property] (Number) */
		OKCANCEL?: number;
		/** [Property] (String) */
		QUESTION?: string;
		/** [Property] (String) */
		WARNING?: string;
		/** [Property] (Number) */
		YES?: number;
		/** [Property] (Number) */
		YESNO?: number;
		/** [Property] (Number) */
		YESNOCANCEL?: number;
		/** [Property] (Object) */
		buttonText?: any;
		/** [Property] (Number) */
		defaultTextHeight?: number;
		/** [Property] (Number) */
		minProgressWidth?: number;
		/** [Property] (Number) */
		minPromptWidth?: number;
		/** [Method] Displays a standard read only message box with an OK button comparable to the basic JavaScript alert prompt 
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param fn Function The callback function invoked after the message box is closed. See show method for details. 
		* @param scope Object The scope (this reference) in which the callback is executed. 
		* @returns Ext.window.MessageBox this 
		*/
		alert?( title?:string, msg?:string, fn?:any, scope?:any ): Ext.window.IMessageBox;
		/** [Method] Displays a confirmation message box with Yes and No buttons comparable to JavaScript s confirm 
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param fn Function The callback function invoked after the message box is closed. See show method for details. 
		* @param scope Object The scope (this reference) in which the callback is executed. 
		* @returns Ext.window.MessageBox this 
		*/
		confirm?( title?:string, msg?:string, fn?:any, scope?:any ): Ext.window.IMessageBox;
		/** [Method] Hides this Component setting it to invisible using the configured hideMode  
		* @returns Ext.Component this 
		*/
		hide?(): Ext.IComponent;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method] Displays a message box with a progress bar  
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param progressText String The text to display inside the progress bar 
		* @returns Ext.window.MessageBox this 
		*/
		progress?( title?:string, msg?:string, progressText?:string ): Ext.window.IMessageBox;
		/** [Method] Displays a message box with OK and Cancel buttons prompting the user to enter some text comparable to JavaScript s p  
		* @param title String The title bar text 
		* @param msg String The message box body text 
		* @param fn Function The callback function invoked after the message box is closed. See show method for details. 
		* @param scope Object The scope (this reference) in which the callback is executed. 
		* @param multiline Boolean/Number True to create a multiline textbox using the defaultTextHeight property, or the height in pixels to create the textbox/ 
		* @param value String Default value of the text input element 
		* @returns Ext.window.MessageBox this 
		*/
		prompt?( title?:string, msg?:string, fn?:any, scope?:any, multiline?:any, value?:string ): Ext.window.IMessageBox;
		/** [Method] Adds the specified icon to the dialog  
		* @param icon String A CSS classname specifying the icon's background image url, or empty string to clear the icon 
		* @param width Number The width of the icon. If not specified, the default is used 
		* @param height Number The height of the icon. If not specified, the default is used 
		* @returns Ext.window.MessageBox this 
		*/
		setIcon?( icon?:string, width?:number, height?:number ): Ext.window.IMessageBox;
		/** [Method] Displays a new message box or reinitializes an existing message box based on the config options passed in  
		* @param config Object The following config options are supported: 
		* @returns Ext.window.MessageBox this 
		*/
		show?( config?:any ): Ext.window.IMessageBox;
		/** [Method] Updates a progress style message box s text and progress bar  
		* @param value Number Any number between 0 and 1 (e.g., .5) 
		* @param progressText String The progress text to display inside the progress bar. 
		* @param msg String The message box's body text is replaced with the specified string (defaults to undefined so that any existing body text will not get overwritten by default unless a new value is passed in) 
		* @returns Ext.window.MessageBox this 
		*/
		updateProgress?( value?:number, progressText?:string, msg?:string ): Ext.window.IMessageBox;
		/** [Method] Displays a message box with an infinitely auto updating progress bar  
		* @param msg String The message box body text 
		* @param title String The title bar text 
		* @param config Object A Ext.ProgressBar.wait config object 
		* @returns Ext.window.MessageBox this 
		*/
		wait?( msg?:string, title?:string, config?:any ): Ext.window.IMessageBox;
	}
}
declare module Ext.window {
	export interface IWindow extends Ext.panel.IPanel {
		/** [Config Option] (String/Ext.Element) */
		animateTarget?: any;
		/** [Config Option] (Boolean) */
		autoRender?: boolean;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Boolean) */
		closable?: boolean;
		/** [Config Option] (Boolean) */
		collapsed?: boolean;
		/** [Config Option] (Boolean) */
		collapsible?: boolean;
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Boolean) */
		constrainHeader?: boolean;
		/** [Config Option] (String/Number/Ext.Component) */
		defaultFocus?: any;
		/** [Config Option] (Boolean) */
		draggable?: boolean;
		/** [Config Option] (Boolean) */
		expandOnShow?: boolean;
		/** [Config Option] (Boolean/Function) */
		ghost?: any;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (String) */
		hideMode?: string;
		/** [Config Option] (Boolean) */
		hideShadowOnDeactivate?: boolean;
		/** [Config Option] (Boolean) */
		maximizable?: boolean;
		/** [Config Option] (Boolean) */
		maximized?: boolean;
		/** [Config Option] (Number) */
		minHeight?: number;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (Boolean) */
		minimizable?: boolean;
		/** [Config Option] (Boolean) */
		modal?: boolean;
		/** [Config Option] (Function) */
		onEsc?: any;
		/** [Config Option] (Boolean) */
		overlapHeader?: boolean;
		/** [Config Option] (Boolean) */
		plain?: boolean;
		/** [Config Option] (Boolean/Object) */
		resizable?: any;
		/** [Config Option] (Number) */
		x?: number;
		/** [Config Option] (Number) */
		y?: number;
		/** [Property] (Ext.util.ComponentDragger) */
		dd?: Ext.util.IComponentDragger;
		/** [Property] (Boolean) */
		isWindow?: boolean;
		/** [Method] Invoked after the Panel is Collapsed  */
		afterCollapse?(): void;
		/** [Method] Invoked after the Panel is Expanded  */
		afterExpand?(): void;
		/** [Method] Applies the state to the object  
		* @param state Object 
		*/
		applyState?( state?:any ): void;
		/** [Method] Gets the configured default focus item  */
		getDefaultFocus?(): void;
		/** [Method] Fits the window within its current container and automatically replaces the maximize tool button with the restore 
		* @param animate Boolean true to animate this Window to full size. 
		* @returns Ext.window.Window this 
		*/
		maximize?( animate?:boolean ): Ext.window.IWindow;
		/** [Method] Placeholder method for minimizing the window  
		* @returns Ext.window.Window this 
		*/
		minimize?(): Ext.window.IWindow;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method] Restores a maximized window back to its original size and position prior to being maximized and also replaces the re  
		* @param animate Object 
		* @returns Ext.window.Window this 
		*/
		restore?( animate?:any ): Ext.window.IWindow;
		/** [Method] A shortcut method for toggling between maximize and restore based on the current maximized state of the window  
		* @returns Ext.window.Window this 
		*/
		toggleMaximize?(): Ext.window.IWindow;
	}
}
declare module Ext {
	export interface IWindow extends Ext.panel.IPanel {
		/** [Config Option] (String/Ext.Element) */
		animateTarget?: any;
		/** [Config Option] (Boolean) */
		autoRender?: boolean;
		/** [Config Option] (String) */
		baseCls?: string;
		/** [Config Option] (Boolean) */
		closable?: boolean;
		/** [Config Option] (Boolean) */
		collapsed?: boolean;
		/** [Config Option] (Boolean) */
		collapsible?: boolean;
		/** [Config Option] (Boolean) */
		constrain?: boolean;
		/** [Config Option] (Boolean) */
		constrainHeader?: boolean;
		/** [Config Option] (String/Number/Ext.Component) */
		defaultFocus?: any;
		/** [Config Option] (Boolean) */
		draggable?: boolean;
		/** [Config Option] (Boolean) */
		expandOnShow?: boolean;
		/** [Config Option] (Boolean/Function) */
		ghost?: any;
		/** [Config Option] (Boolean) */
		hidden?: boolean;
		/** [Config Option] (String) */
		hideMode?: string;
		/** [Config Option] (Boolean) */
		hideShadowOnDeactivate?: boolean;
		/** [Config Option] (Boolean) */
		maximizable?: boolean;
		/** [Config Option] (Boolean) */
		maximized?: boolean;
		/** [Config Option] (Number) */
		minHeight?: number;
		/** [Config Option] (Number) */
		minWidth?: number;
		/** [Config Option] (Boolean) */
		minimizable?: boolean;
		/** [Config Option] (Boolean) */
		modal?: boolean;
		/** [Config Option] (Function) */
		onEsc?: any;
		/** [Config Option] (Boolean) */
		overlapHeader?: boolean;
		/** [Config Option] (Boolean) */
		plain?: boolean;
		/** [Config Option] (Boolean/Object) */
		resizable?: any;
		/** [Config Option] (Number) */
		x?: number;
		/** [Config Option] (Number) */
		y?: number;
		/** [Property] (Ext.util.ComponentDragger) */
		dd?: Ext.util.IComponentDragger;
		/** [Property] (Boolean) */
		isWindow?: boolean;
		/** [Method] Invoked after the Panel is Collapsed  */
		afterCollapse?(): void;
		/** [Method] Invoked after the Panel is Expanded  */
		afterExpand?(): void;
		/** [Method] Applies the state to the object  
		* @param state Object 
		*/
		applyState?( state?:any ): void;
		/** [Method] Gets the configured default focus item  */
		getDefaultFocus?(): void;
		/** [Method] Fits the window within its current container and automatically replaces the maximize tool button with the restore 
		* @param animate Boolean true to animate this Window to full size. 
		* @returns Ext.window.Window this 
		*/
		maximize?( animate?:boolean ): Ext.window.IWindow;
		/** [Method] Placeholder method for minimizing the window  
		* @returns Ext.window.Window this 
		*/
		minimize?(): Ext.window.IWindow;
		/** [Method] Allows addition of behavior to the show operation  */
		onShow?(): void;
		/** [Method] Restores a maximized window back to its original size and position prior to being maximized and also replaces the re  
		* @param animate Object 
		* @returns Ext.window.Window this 
		*/
		restore?( animate?:any ): Ext.window.IWindow;
		/** [Method] A shortcut method for toggling between maximize and restore based on the current maximized state of the window  
		* @returns Ext.window.Window this 
		*/
		toggleMaximize?(): Ext.window.IWindow;
	}
}
declare module Ext {
	export interface IWindowManager extends Ext.IZIndexManager {
	}
	export class WindowManager {
		/** [Method] Brings the specified Component to the front of any other active Components in this ZIndexManager  
		* @param comp String/Object The id of the Component or a Ext.Component instance 
		* @returns Boolean True if the dialog was brought to the front, else false if it was already in front 
		*/
		static bringToFront( comp?:any ): boolean;
		/** [Method] Call the original method that was previously overridden with override Ext define My Cat  constructor functi  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callOverridden(arguments) 
		* @returns Object Returns the result of calling the overridden method 
		*/
		static callOverridden( args?:any ): any;
		/** [Method] Call the parent method of the current method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments) 
		* @returns Object Returns the result of calling the parent method 
		*/
		static callParent( args?:any ): any;
		/** [Method] This method is used by an override to call the superclass method but bypass any overridden method  
		* @param args Array/Arguments The arguments, either an array or the arguments object from the current method, for example: this.callSuper(arguments) 
		* @returns Object Returns the result of calling the superclass method 
		*/
		static callSuper( args?:any ): any;
		/** [Method] Executes the specified function once for every Component in this ZIndexManager passing each Component as the only pa  
		* @param fn Function The function to execute for each item 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Component in the iteration. 
		*/
		static each( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every Component in this ZIndexManager passing each Component as the only pa  
		* @param fn Function The function to execute for each item 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Component in the iteration. 
		*/
		static eachBottomUp( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every Component in this ZIndexManager passing each Component as the only pa  
		* @param fn Function The function to execute for each item 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Component in the iteration. 
		*/
		static eachTopDown( fn?:any, scope?:any ): void;
		/** [Method] Gets a registered Component by id  
		* @param id String/Object The id of the Component or a Ext.Component instance 
		* @returns Ext.Component 
		*/
		static get( id?:any ): Ext.IComponent;
		/** [Method] Gets the currently active Component in this ZIndexManager  
		* @returns Ext.Component The active Component 
		*/
		static getActive(): Ext.IComponent;
		/** [Method] Returns zero or more Components in this ZIndexManager using the custom search function passed to this method  
		* @param fn Function The search function 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the Component being tested. That gets passed to the function if not specified. 
		* @returns Array An array of zero or more matching windows 
		*/
		static getBy( fn?:any, scope?:any ): any[];
		/** [Method] Returns the initial configuration passed to constructor when instantiating this class  
		* @param name String Name of the config option to return. 
		* @returns Object/Mixed The full config object or a single config value when name parameter specified. 
		*/
		static getInitialConfig( name?:string ): any;
		/** [Method] Hides all Components managed by this ZIndexManager  */
		static hideAll(): void;
		/** [Method] Initialize configuration for this class  
		* @param config Object 
		* @returns Ext.Base this 
		*/
		static initConfig( config?:any ): Ext.IBase;
		/** [Method] Registers a floating Ext Component with this ZIndexManager  
		* @param comp Ext.Component The Component to register. 
		*/
		static register( comp?:Ext.IComponent ): void;
		/** [Method] Sends the specified Component to the back of other active Components in this ZIndexManager  
		* @param comp String/Object The id of the Component or a Ext.Component instance 
		* @returns Ext.Component The Component 
		*/
		static sendToBack( comp?:any ): Ext.IComponent;
		/** [Method] Get the reference to the class from which this object was instantiated  
		* @returns Ext.Class 
		*/
		static statics(): Ext.IClass;
		/** [Method] Unregisters a Ext Component from this ZIndexManager  
		* @param comp Ext.Component The Component to unregister. 
		*/
		static unregister( comp?:Ext.IComponent ): void;
	}
}
declare module Ext {
	export interface IXTemplate extends Ext.ITemplate {
		/** [Config Option] (String/Array) */
		definitions?: any;
		/** [Method] Appends the result of this template to the provided output array  
		* @param values Object 
		* @param out Object 
		* @param parent Object 
		* @returns Array The given out array. 
		*/
		applyOut?( values?:any, out?:any, parent?:any ): any[];
	}
	export class XTemplate {
		/** [Method] Add methods  properties to the prototype of this class  
		* @param members Object 
		*/
		static addMembers( members?:any ): void;
		/** [Method] Add  override static properties of this class  
		* @param members Object 
		* @returns Ext.Base this 
		*/
		static addStatics( members?:any ): Ext.IBase;
		/** [Method] Create a new instance of this Class  
		* @returns Object the created instance. 
		*/
		static create(): any;
		/** [Method] Create aliases for existing prototype methods  
		* @param alias String/Object The new method name, or an object to set multiple aliases. See flexSetter 
		* @param origin String/Object The original method name 
		*/
		static createAlias( alias?:any, origin?:any ): void;
		/** [Method] Creates a template from the passed element s value display none textarea preferred or innerHTML  
		* @param el String/HTMLElement A DOM element or its id 
		* @param config Object Config object 
		* @returns Ext.Template The created template 
		*/
		static from( el?:any, config?:any ): Ext.ITemplate;
		/** [Method] Get the current class name in string format  
		* @returns String className 
		*/
		static getName(): string;
		/** [Method] Gets an XTemplate from an object an instance of an Ext define d class 
		* @param instance Object The object from which to get the XTemplate (must be an instance of an Ext.define'd class). 
		* @param name String The name of the property by which to get the XTemplate. 
		* @returns Ext.XTemplate The XTemplate instance or null if not found. 
		*/
		static getTpl( instance?:any, name?:string ): Ext.IXTemplate;
		/** [Method] Adds members to class  */
		static implement(): void;
		/** [Method] Override members of this class  
		* @param members Object The properties to add to this class. This should be specified as an object literal containing one or more properties. 
		* @returns Ext.Base this class 
		*/
		static override( members?:any ): Ext.IBase;
	}
}
declare module Ext {
	export interface IXTemplateCompiler extends Ext.IXTemplateParser {
		/** [Method] This method is called to process lt tpl case action gt 
		* @param action Object 
		*/
		doCase?( action?:any ): void;
		/** [Method] This method is called to process lt tpl default gt */
		doDefault?(): void;
		/** [Method] This method is called to process lt tpl else gt */
		doElse?(): void;
		/** [Method] This method is called to process lt tpl elseif action gt 
		* @param action Object 
		* @param actions Object 
		*/
		doElseIf?( action?:any, actions?:any ): void;
		/** [Method] This method is called to process lt tpl gt 
		* @param type Object 
		* @param actions Object 
		*/
		doEnd?( type?:any, actions?:any ): void;
		/** [Method] This method is called to process text 
		* @param text Object 
		*/
		doEval?( text?:any ): void;
		/** [Method] This method is called to process lt tpl exec action gt 
		* @param action Object 
		* @param actions Object 
		*/
		doExec?( action?:any, actions?:any ): void;
		/** [Method] This method is called to process expressions like  expr 
		* @param expr Object 
		*/
		doExpr?( expr?:any ): void;
		/** [Method] This method is called to process lt tpl for action gt 
		* @param action Object 
		* @param actions Object 
		*/
		doFor?( action?:any, actions?:any ): void;
		/** [Method] This method is called to process lt tpl foreach action gt 
		* @param action Object 
		* @param actions Object 
		*/
		doForEach?( action?:any, actions?:any ): void;
		/** [Method] This method is called to process lt tpl if action gt 
		* @param action Object 
		* @param actions Object 
		*/
		doIf?( action?:any, actions?:any ): void;
		/** [Method] This method is called to process lt tpl switch action gt 
		* @param action Object 
		*/
		doSwitch?( action?:any ): void;
		/** [Method] This method is called to process simple tags like tag  
		* @param tag Object 
		*/
		doTag?( tag?:any ): void;
		/** [Method] XTemplateParser callouts 
		* @param text Object 
		*/
		doText?( text?:any ): void;
	}
}
declare module Ext {
	export interface IXTemplateParser extends Ext.IBase {
		/** [Property] (Number) */
		level?: number;
		/** [Method] This method is called to process lt tpl case action gt 
		* @param action String 
		* @param actions Object Other actions keyed by the attribute name (such as 'exec'). 
		*/
		doCase?( action?:string, actions?:any ): void;
		/** [Method] This method is called to process lt tpl default gt */
		doDefault?(): void;
		/** [Method] This method is called to process lt tpl else gt */
		doElse?(): void;
		/** [Method] This method is called to process lt tpl elseif action gt 
		* @param action String 
		* @param actions Object Other actions keyed by the attribute name (such as 'exec'). 
		*/
		doElseIf?( action?:string, actions?:any ): void;
		/** [Method] This method is called to process lt tpl gt 
		* @param type String The type of action that is being ended. 
		* @param actions Object The other actions keyed by the attribute name (such as 'exec'). 
		*/
		doEnd?( type?:string, actions?:any ): void;
		/** [Method] This method is called to process text 
		* @param text String 
		*/
		doEval?( text?:string ): void;
		/** [Method] This method is called to process lt tpl exec action gt 
		* @param action String 
		* @param actions Object Other actions keyed by the attribute name. 
		*/
		doExec?( action?:string, actions?:any ): void;
		/** [Method] This method is called to process expressions like  expr 
		* @param expr String The body of the expression (inside "{[" and "]}"). 
		*/
		doExpr?( expr?:string ): void;
		/** [Method] This method is called to process lt tpl for action gt 
		* @param action String 
		* @param actions Object Other actions keyed by the attribute name (such as 'exec'). 
		*/
		doFor?( action?:string, actions?:any ): void;
		/** [Method] This method is called to process lt tpl foreach action gt 
		* @param action String 
		* @param actions Object Other actions keyed by the attribute name (such as 'exec'). 
		*/
		doForEach?( action?:string, actions?:any ): void;
		/** [Method] This method is called to process lt tpl if action gt 
		* @param action String 
		* @param actions Object Other actions keyed by the attribute name (such as 'exec'). 
		*/
		doIf?( action?:string, actions?:any ): void;
		/** [Method] This method is called to process lt tpl switch action gt 
		* @param action String 
		* @param actions Object Other actions keyed by the attribute name (such as 'exec'). 
		*/
		doSwitch?( action?:string, actions?:any ): void;
		/** [Method] This method is called to process simple tags like tag  */
		doTag?(): void;
		/** [Method] This method is called to process a piece of raw text from the tpl  
		* @param text String 
		*/
		doText?( text?:string ): void;
		/** [Method] This method is called to process an empty lt tpl gt */
		doTpl?(): void;
	}
}
declare module Ext {
	export interface IZIndexManager extends Ext.IBase {
		/** [Method] Brings the specified Component to the front of any other active Components in this ZIndexManager  
		* @param comp String/Object The id of the Component or a Ext.Component instance 
		* @returns Boolean True if the dialog was brought to the front, else false if it was already in front 
		*/
		bringToFront?( comp?:any ): boolean;
		/** [Method] Executes the specified function once for every Component in this ZIndexManager passing each Component as the only pa  
		* @param fn Function The function to execute for each item 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Component in the iteration. 
		*/
		each?( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every Component in this ZIndexManager passing each Component as the only pa  
		* @param fn Function The function to execute for each item 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Component in the iteration. 
		*/
		eachBottomUp?( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every Component in this ZIndexManager passing each Component as the only pa  
		* @param fn Function The function to execute for each item 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Component in the iteration. 
		*/
		eachTopDown?( fn?:any, scope?:any ): void;
		/** [Method] Gets a registered Component by id  
		* @param id String/Object The id of the Component or a Ext.Component instance 
		* @returns Ext.Component 
		*/
		get?( id?:any ): Ext.IComponent;
		/** [Method] Gets the currently active Component in this ZIndexManager  
		* @returns Ext.Component The active Component 
		*/
		getActive?(): Ext.IComponent;
		/** [Method] Returns zero or more Components in this ZIndexManager using the custom search function passed to this method  
		* @param fn Function The search function 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the Component being tested. That gets passed to the function if not specified. 
		* @returns Array An array of zero or more matching windows 
		*/
		getBy?( fn?:any, scope?:any ): any[];
		/** [Method] Hides all Components managed by this ZIndexManager  */
		hideAll?(): void;
		/** [Method] Registers a floating Ext Component with this ZIndexManager  
		* @param comp Ext.Component The Component to register. 
		*/
		register?( comp?:Ext.IComponent ): void;
		/** [Method] Sends the specified Component to the back of other active Components in this ZIndexManager  
		* @param comp String/Object The id of the Component or a Ext.Component instance 
		* @returns Ext.Component The Component 
		*/
		sendToBack?( comp?:any ): Ext.IComponent;
		/** [Method] Unregisters a Ext Component from this ZIndexManager  
		* @param comp Ext.Component The Component to unregister. 
		*/
		unregister?( comp?:Ext.IComponent ): void;
	}
}
declare module Ext {
	export interface IWindowGroup extends Ext.IBase {
		/** [Method] Brings the specified Component to the front of any other active Components in this ZIndexManager  
		* @param comp String/Object The id of the Component or a Ext.Component instance 
		* @returns Boolean True if the dialog was brought to the front, else false if it was already in front 
		*/
		bringToFront?( comp?:any ): boolean;
		/** [Method] Executes the specified function once for every Component in this ZIndexManager passing each Component as the only pa  
		* @param fn Function The function to execute for each item 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Component in the iteration. 
		*/
		each?( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every Component in this ZIndexManager passing each Component as the only pa  
		* @param fn Function The function to execute for each item 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Component in the iteration. 
		*/
		eachBottomUp?( fn?:any, scope?:any ): void;
		/** [Method] Executes the specified function once for every Component in this ZIndexManager passing each Component as the only pa  
		* @param fn Function The function to execute for each item 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the current Component in the iteration. 
		*/
		eachTopDown?( fn?:any, scope?:any ): void;
		/** [Method] Gets a registered Component by id  
		* @param id String/Object The id of the Component or a Ext.Component instance 
		* @returns Ext.Component 
		*/
		get?( id?:any ): Ext.IComponent;
		/** [Method] Gets the currently active Component in this ZIndexManager  
		* @returns Ext.Component The active Component 
		*/
		getActive?(): Ext.IComponent;
		/** [Method] Returns zero or more Components in this ZIndexManager using the custom search function passed to this method  
		* @param fn Function The search function 
		* @param scope Object The scope (this reference) in which the function is executed. Defaults to the Component being tested. That gets passed to the function if not specified. 
		* @returns Array An array of zero or more matching windows 
		*/
		getBy?( fn?:any, scope?:any ): any[];
		/** [Method] Hides all Components managed by this ZIndexManager  */
		hideAll?(): void;
		/** [Method] Registers a floating Ext Component with this ZIndexManager  
		* @param comp Ext.Component The Component to register. 
		*/
		register?( comp?:Ext.IComponent ): void;
		/** [Method] Sends the specified Component to the back of other active Components in this ZIndexManager  
		* @param comp String/Object The id of the Component or a Ext.Component instance 
		* @returns Ext.Component The Component 
		*/
		sendToBack?( comp?:any ): Ext.IComponent;
		/** [Method] Unregisters a Ext Component from this ZIndexManager  
		* @param comp Ext.Component The Component to unregister. 
		*/
		unregister?( comp?:Ext.IComponent ): void;
	}
}
