declare namespace Ext { export namespace data { export interface BufferedStoreConfig { asynchronousLoad?: boolean; autoDestroy?: boolean; autoLoad?: boolean | object; autoSync?: boolean; batchUpdateMode?: string; fields?: object[] | string[]; filters?: object[] | CallableFunction[]; groupDir?: string; grouper?: object | Ext.util.Grouper; groupField?: string; leadingBufferZone?: number; listeners?: object; model?: string | Ext.data.Model; pageSize?: number; proxy?: string | Ext.data.proxy.Proxy | object; purgePageCount?: number; remoteFilter?: boolean; remoteSort?: boolean; sorters?: Ext.util.Sorter[] | object[]; sortOnLoad?: boolean; statefulFilters?: boolean; storeId?: string; trackRemoved?: boolean; trailingBufferZone?: number; } export class BufferedStore extends Ext.data.ProxyStore { public isBufferedStore?: boolean; public applyData(data?: object | []): void; public getLeadingBufferZone(): void; public getPageFromRecordIndex(index?: number): number; public getPurgePageCount(): void; public getTrailingBufferZone(): void; public guaranteeRange(start?: number, end?: number, callback?: CallableFunction, scope?: object): void; public indexOf(record?: Ext.data.Model): number; public indexOfId(id?: string): number; public prefetch(options?: object): void; public prefetchPage(page?: number, options?: object): void; public prefetchRange(start?: object, end?: object): void; public setLeadingBufferZone(): void; public setPurgePageCount(): void; public setTrailingBufferZone(): void; } } }