declare namespace Ext { export namespace mixin { export interface BindableConfig { bind?: object | string; controller?: string | object | Ext.app.ViewController; defaultListenerScope?: boolean; publishes?: string | string[] | object; reference?: string; session?: boolean | object | Ext.data.Session; twoWayBindable?: string | string[] | object; viewModel?: string | object | Ext.app.ViewModel; } export class Bindable extends Ext.Base { public defaultBindProperty?: string; public getBind(): void; public getController(): void; public getDefaultListenerScope(): void; public getPublishes(): void; public getReference(): void; public getSession(): void; public getTwoWayBindable(): void; public getViewModel(): void; public initInheritedState(inheritedState?: object): void; public lookupController(skipThis?: boolean): Ext.app.ViewController; public lookupSession(skipThis?: boolean): Ext.data.Session; public lookupViewModel(skipThis?: boolean): Ext.app.ViewModel; public publishState(property?: string, value?: object): void; public setBind(): void; public setController(): void; public setDefaultListenerScope(): void; public setPublishes(): void; public setReference(): void; public setSession(): void; public setTwoWayBindable(): void; public setViewModel(): void; } } }