declare namespace Ext { export namespace form { export interface BasicConfig { api?: object; baseParams?: object; errorReader?: object | Ext.data.reader.Reader; jsonSubmit?: boolean; listeners?: object; metadata?: object | []; method?: string; paramOrder?: string | string[]; paramsAsHash?: boolean; reader?: object | Ext.data.reader.Reader; standardSubmit?: boolean; timeout?: number; trackResetOnLoad?: boolean; url?: string; waitMsgTarget?: string | Ext.dom.Element; waitTitle?: string; } export class Basic extends Ext.util.Observable { public owner?: Ext.container.Container; public applyIfToFields(obj?: object): Ext.form.Basic; public applyToFields(obj?: object): Ext.form.Basic; public checkDirty(): void; public checkValidity(): void; public clearInvalid(): Ext.form.Basic; public constructor(owner?: Ext.container.Container, config?: object); public doAction(action?: string | Ext.form.action.Action, options?: object): Ext.form.Basic; public findField(id?: string): Ext.form.field.Field; public getFieldValues(dirtyOnly?: boolean): object; public getFields(): Ext.util.MixedCollection; public getRecord(): Ext.data.Model; public getValues(asString?: boolean, dirtyOnly?: boolean, includeEmptyText?: boolean, useDataValues?: boolean): string | object; public hasInvalidField(): void; public hasUpload(): boolean; public isDirty(): boolean; public isValid(): boolean; public load(options?: object): Ext.form.Basic; public loadRecord(record?: Ext.data.Model): Ext.form.Basic; public markInvalid(errors?: object | object[]): Ext.form.Basic; public reset(resetRecord?: boolean): Ext.form.Basic; public setValues(values?: object | object[]): Ext.form.Basic; public submit(options?: object): Ext.form.Basic; public updateRecord(record?: Ext.data.Model): Ext.form.Basic; } } }