declare namespace Ext { export namespace data { export interface SessionConfig { autoDestroy?: boolean; dirty?: boolean; ignoreDirty?: boolean; listeners?: object; parent?: Ext.data.Session; recordStateIsDirtyState?: boolean; schema?: string | Ext.data.schema.Schema; } export class Session extends Ext.Base { public adopt(record?: Ext.data.Model): void; public afterCommit(record?: Ext.data.Model): void; public afterDrop(record?: Ext.data.Model): void; public afterEdit(record?: Ext.data.Model): void; public afterErase(record?: Ext.data.Model): void; public commit(): void; public createRecord(type?: string | Ext.Class, data?: object): Ext.data.Model; public getAutoDestroy(): void; public getChanges(): object; public getChangesForParent(): object; public getParent(): void; public getRecord(type?: string | Ext.Class | Ext.data.Model, id?: object, autoLoad?: boolean | object): Ext.data.Model; public getSaveBatch(sort?: boolean): Ext.data.Batch; public getSchema(): void; public onInvalidAssociationEntity(entityType?: Ext.Class, id?: object): void; public onInvalidEntityCreate(entityType?: Ext.Class, id?: object): void; public onInvalidEntityDrop(entityType?: Ext.Class, id?: object): void; public onInvalidEntityRead(entityType?: Ext.Class, id?: object): void; public onInvalidEntityUpdate(entityType?: Ext.Class, id?: object, dropped?: boolean): void; public peekRecord(type?: string | Ext.Class, id?: object, deep?: boolean): Ext.data.Model; public save(): void; public setAutoDestroy(): void; public setParent(): void; public setSchema(): void; public spawn(): Ext.data.Session; public update(data?: object): void; } } }