/// declare module fb { class ResourceBase { $promise: ng.IPromise; $conflicts: boolean; $resolved: boolean; $failed: boolean; $rootName: string; $dirty: boolean; $lastModification: number; isArray: boolean; $tempPK: string; invalidField: string[]; exceptionFromAPI: string[]; ignoredKeys: string[]; mergeConflicts: IMergeConflict[]; $enqueueable: boolean; constructor(data: any, changeTrack?: boolean, rootName?: string, isArray?: boolean, $enqueueable?: boolean, skipValidation?: boolean); getPrimaryKey(): any; getGlobalUniqueId(): string; getForeignKeyObject(): IForeignKeyObject; validation(): void; isValid(): boolean; setValidation(object: any, modelValidation: any): void; init(initData: any, changeTrack: any): void; preInit(initData: any): void; postInit(initData: any): void; postMerge(mergeData: any): void; exportObject(originalValue: boolean): any; getSaveObject(): any; getOriginalObject(): any; getFirstDirtyChangetrack(): fb.IChangeTrack; isDirty(): boolean; merge(mergeObject: any, inverseDirty: boolean): { databaseValue: any; localValue: any; }[]; setValue(track: fb.ChangeTrack, value: any, resetOriginal?: boolean): void; applyValue(track: fb.ChangeTrack): void; enqueue(): ng.IPromise<{}>; dequeue(): void; } interface IForeignKeyObject { entity: fb.ForeignKeyEntity; key: number; } }