///
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;
}
}