declare namespace Ext { export namespace data { export namespace schema { export interface SchemaConfig { defaultIdentifier?: object; namer?: string | object | Ext.data.schema.Namer; namespace?: string; proxy?: object | Ext.util.ObjectTemplate; urlPrefix?: string; } export class Schema extends Ext.Base { public assocCount?: number; public entityCount?: number; public type?: string; public addMatrix(entityType?: Ext.Class, matrixName?: string, relation?: string, left?: object, right?: object): void; public addReference(entityType?: Ext.Class, referenceField?: Ext.data.field.Field, descr?: object, unique?: boolean): void; public getAssociation(name?: string): Ext.data.schema.Association; public getDefaultIdentifier(): void; public getEntity(name?: string): Ext.data.Model; public getEntityName(cls?: string | Ext.data.Model): string; public getNamer(): void; public getNamespace(): void; public getProxy(): void; public getUrlPrefix(): void; public hasAssociations(name?: string | Ext.Class | Ext.data.Model): boolean; public hasEntity(entity?: string | Ext.data.Model): boolean; public setDefaultIdentifier(): void; public setNamer(): void; public setNamespace(): void; public setProxy(): void; public setUrlPrefix(): void; public static get(config?: string | object): Ext.data.schema.Schema; } } } }