declare namespace Ext { export namespace mixin { export interface SelectableConfig { allowDeselect?: boolean; deselectOnContainerClick?: boolean; disableSelection?: boolean; locked?: boolean; mode?: string; selection?: Ext.data.Model; } export class Selectable extends Ext.Mixin { public clearSelections(): void; public deselect(records?: number | Ext.data.Model | [], suppressEvent?: boolean): void; public deselectAll(supress?: object): void; public doDeselect(records?: Ext.data.Model | number, suppressEvent?: boolean): void; public doSelect(records?: Ext.data.Model | number, keepExisting?: boolean, suppressEvent?: boolean): void; public getAllowDeselect(): void; public getCount(): number; public getDeselectOnContainerClick(): void; public getDisableSelection(): void; public getLastSelected(): void; public getMode(): void; public getSelection(): void; public getSelectionCount(): number; public getSelectionMode(): string; public getSelections(): Ext.data.Model[]; public hasSelection(): boolean; public isLocked(): boolean; public isSelected(record?: Ext.data.Model | number): boolean; public select(records?: Ext.data.Model | number | [], keepExisting?: boolean, suppressEvent?: boolean): void; public selectAll(silent?: boolean): void; public selectRange(startRecord?: number, endRecord?: number, keepExisting?: boolean): void; public setAllowDeselect(): void; public setDeselectOnContainerClick(): void; public setDisableSelection(): void; public setLastFocused(): void; public setMode(): void; public setSelection(): void; public updateLastFocused(newRecord?: Ext.data.Model, oldRecord?: Ext.data.Model): void; } } }