import { Model, Sequelize, ModelAttributes } from 'sequelize'; import { ISpruceModels } from '../interfaces/models'; /************************************************************ * Base Spruce core class that all models inherit from. ************************************************************/ export default class SpruceCoreModel extends Model { static readonly timestamps: boolean; static readonly paranoid: boolean; static readonly indexes: Record[]; static readonly attributes: ModelAttributes; /** Available as long as timestamps=true */ readonly createdAt: Date; /** Available as long as timestamps=true */ readonly updatedAt: Date; /** Available as long as paranoid=true */ readonly deletedAt: Date; /** 🌲🤖 This method is called to initialize your model */ static initialize(sequelize: Sequelize, /** * Optionally override sequelize init options * * Note that "timestamps", "paranoid", and "indexes" can be defined as static readonly members of the model. * * For additional configuration options see: https://sequelize.org/master/manual/models-definition.html#configuration * */ overrideOptions?: Record): void; static associate(models: ISpruceModels): void; }