declare type RequireOnlyOne = Pick> & { [K in Keys]-?: Required> & Partial, undefined>>; }[Keys]; export interface InternalModelShape { id?: number; uuid?: string; [propName: string]: any; } export declare type InternalModel = RequireOnlyOne; export default abstract class MemServerModel { static _DB: {}; static _modelDefinitions: {}; static _attributes: {}; static _defaultAttributes: {}; static _embedReferences: {}; static primaryKey: string | null; static get DB(): Array; static get attributes(): Array; static set defaultAttributes(value: object); static get defaultAttributes(): object; static set embedReferences(references: Object); static get embedReferences(): Object; static resetDatabase(fixtures: Array | undefined): Array; static count(): number; static find(param: Array | number): Array | InternalModel | undefined; static findBy(options: object): InternalModel | undefined; static findAll(options?: {}): Array; static insert(options: InternalModelShape | undefined): InternalModel; static update(record: InternalModel): InternalModel; static delete(record: InternalModel | undefined): (Pick & Required> & Partial>) | (Pick & Required> & Partial>) | RequireOnlyOne[]; static embed(relationship: any): object; static serializer(objectOrArray: InternalModel | Array): (Pick & Required> & Partial>) | (Pick & Required> & Partial>) | RequireOnlyOne[]; static serialize(object: InternalModel): RequireOnlyOne; static getRelationship(parentObject: any, relationshipName: string, relationshipModel: InternalModel): any; } export {};