declare namespace Ext { export namespace data { export interface AbstractStoreConfig { autoDestroy?: boolean; filters?: object[] | CallableFunction[]; groupDir?: string; grouper?: object | Ext.util.Grouper; groupField?: string; listeners?: object; pageSize?: number; remoteFilter?: boolean; remoteSort?: boolean; sorters?: Ext.util.Sorter[] | object[]; statefulFilters?: boolean; storeId?: string; } export class AbstractStore extends Ext.Base { public currentPage?: number; public doDestroy?: any; public isStore?: boolean; public updating?: number; public addFilter(filters?: object[] | Ext.util.Filter[], suppressEvent?: boolean): void; public beginUpdate(): void; public clearFilter(suppressEvent?: boolean): void; public clearGrouping(): void; public contains(record?: Ext.data.Model): boolean; public endUpdate(): void; public filter(filters?: string | Ext.util.Filter[], value?: string): void; public filterBy(fn?: CallableFunction, scope?: object): void; public find(property?: string, value?: string | RegExp, startIndex?: number, anyMatch?: boolean, caseSensitive?: boolean, exactMatch?: boolean): number; public findBy(fn?: CallableFunction, scope?: object, start?: number): number; public findExact(fieldName?: string, value?: object, startIndex?: number): number; public findRecord(fieldName?: string, value?: string | RegExp, startIndex?: number, anyMatch?: boolean, caseSensitive?: boolean, exactMatch?: boolean): Ext.data.Model; public getAt(index?: number): Ext.data.Model; public getAutoDestroy(): void; public getById(id?: any): Ext.data.Model; public getCount(): number; public getFilters(): void; public getGroupDir(): void; public getGroupField(): void; public getGrouper(): void; public getGroups(): Ext.util.Collection; public getPageSize(): void; public getRange(start?: number, end?: number): Ext.data.Model[]; public getRemoteFilter(): void; public getRemoteSort(): void; public getSorters(): void; public getStatefulFilters(): void; public getStoreId(): void; public group(grouper?: string | object, direction?: string): void; public isFiltered(): boolean; public isGrouped(): boolean; public isLoaded(): boolean; public isLoading(): boolean; public isSorted(): boolean; public removeFilter(toRemove?: string | Ext.util.Filter, suppressEvent?: boolean): void; public setAutoDestroy(): void; public setFilters(): void; public setGroupDir(): void; public setGroupField(): void; public setGrouper(): void; public setPageSize(): void; public setRemoteFilter(): void; public setRemoteSort(): void; public setSorters(): void; public setStatefulFilters(): void; public setStoreId(): void; public sort(field?: string | Ext.util.Sorter[], direction?: "asc" | "desc", mode?: "append" | "prepend" | "replace" | "multi"): Ext.util.Sorter[]; } } }