declare namespace Ext { export namespace mixin { export interface ObservableConfig { listeners?: object; } export class Observable extends Ext.Mixin { public hasListeners?: object; public isObservable?: boolean; public addAfterListener(): void; public addBeforeListener(): void; public addListener(eventName?: string | object, fn?: string | CallableFunction, scope?: object, options?: object, order?: string): object; public addManagedListener(item?: Ext.util.Observable | Ext.dom.Element, ename?: object | string, fn?: string | CallableFunction, scope?: object, options?: object): object; public clearListeners(): void; public clearManagedListeners(): void; public enableBubble(eventNames?: string | string[]): void; public fireAction(eventName?: string, args?: [], fn?: CallableFunction, scope?: object, options?: object, order?: string): void; public fireEvent(eventName?: string, args?: object): boolean; public fireEventArgs(eventName?: string, args?: object[]): boolean; public fireEventedAction(eventName?: string, args?: [], fn?: string | CallableFunction, scope?: object, fnArgs?: boolean | []): boolean; public hasListener(eventName?: string): boolean; public isSuspended(event?: string): boolean; public mon(item?: Ext.util.Observable | Ext.dom.Element, ename?: object | string, fn?: string | CallableFunction, scope?: object, options?: object): object; public mun(item?: Ext.util.Observable | Ext.dom.Element, ename?: object | string, fn?: CallableFunction, scope?: object): void; public on(eventName?: string | object, fn?: string | CallableFunction, scope?: object, options?: object, order?: string): object; public onAfter(eventName?: string | string[] | object, fn?: string | CallableFunction, scope?: object, options?: object): void; public onBefore(eventName?: string | string[] | object, fn?: string | CallableFunction, scope?: object, options?: object): void; public relayEvents(origin?: object, events?: string[] | object, prefix?: string): object; public removeAfterListener(): void; public removeBeforeListener(): void; public removeListener(eventName?: string, fn?: CallableFunction, scope?: object): void; public removeManagedListener(item?: Ext.util.Observable | Ext.dom.Element, ename?: object | string, fn?: CallableFunction, scope?: object): void; public resolveListenerScope(defaultScope?: object): object; public resumeEvent(eventName?: string): void; public resumeEvents(discardQueue?: boolean): void; public setListeners(listeners?: object): void; public suspendEvent(eventName?: string): void; public suspendEvents(queueSuspended?: boolean): void; public un(eventName?: string, fn?: CallableFunction, scope?: object): void; public unAfter(eventName?: string | string[] | object, fn?: string | CallableFunction, scope?: object, options?: object): void; public unBefore(eventName?: string | string[] | object, fn?: string | CallableFunction, scope?: object, options?: object): void; public static capture(o?: Ext.util.Observable, fn?: CallableFunction, scope?: object): void; public static observe(c?: CallableFunction, listeners?: object): void; public static releaseCapture(o?: Ext.util.Observable): void; } } }